STM32 标准库V3.5+MDK 模板

入门STM32 最头疼的就是开发环境了,从网上买的各种开发板,红牛,神舟还有“外星科技”虽然提供了模板,但是里面杂乱无章完全不知那帮做板子的是怎么想的。今天升级到V3.50 正好扔掉那些开发板商家提供的模板 自己搭建开发环境。

MDK官网下载地址 :https://www.keil.com/arm/demo/eval/arm.htm

stm32 V3.5.0 库文件官网下载:stm32f10x_stdperiph_lib.zip

这是整个STM32F10x标准库的结构,图上是V3.0.0 实际结构上是和3.5.0一样的

_htmresc: chm帮助文档使用的ST LOGO 完全无用 删除

Libraries: 顾名思义就是各种库文件,下面来仔细研究一下:

CMSIS, 全称:Cortex Microcontroller Software Interface Standard。包含2个文件Core_cm3.c和 Core_cm3.h。

先看Core_cm3.h:

1.调用了stdint.h。定义了各种数据类型

2.指定了寄存器的访问权限

_I ->只读权限

_O -> 只写权限

_IO -> 读写权限

3.对CM3寄存器仅需定义。

4.对CM3硬件内存地址进行映射。

5.对HAL(硬件抽象层)寄存器进行定义。

6.调试相关。

然后是stm32f10x.h:

(DPAL:设备外设访问层):包括了STM32f10x全系列处理器所有的外设寄存器定义,位定义和不同容量的芯片内存映射。

作用:配置目标芯片,是否使用库文件,特殊参数如HSE的频率,定义数据类型,结构体和外设的内存映射,中断异常的定义。

注意:

1   *              - To use or not the peripheral抯 drivers in application code(i.e. 
2   *                code will be based on direct access to peripheral抯 registers 
3   *                rather than drivers API), this option is controlled by 
4   *                "#define USE_STDPERIPH_DRIVER"
#ifdef USE_STDPERIPH_DRIVER
  #include "stm32f10x_conf.h"
#endif

stm32f10x.h 第8296行。如果需要使用库文件请加上

#define USE_STDPERIPH_DRIVER

 

 

system_stm32f10x.h 和 system_stm32f10x.c 

提供2个函数和一个全局变量,可以用于设置时钟等,不过我更习惯在程序中更改,所以我也不使用。

 

startup文件夹:

提供STM32启动时芯片复位代码,初始化堆栈指针SP,程序指针PC,设置中断向量,配置系统时钟以及系统启动完毕运行主程序。使用时注意不同容量的芯片。

 

标准外设库:

有inc和src2个文件夹,inc=include,src就是source。

---------------------------------------------------------------------------------------------------------

下面来介绍一下如何建立一个工程模板。

1。建立工程文件夹:

这是我的工程文件夹

2.在MDK建立自己的工程,这一步网上教程很多,选对路径和芯片型号即可

3.设置workspace

具体使用请参考baidu文库:

http://wenku.baidu.com/view/884ad1f0f61fb7360b4c6597.html

然后编译 成功~ 一个MDK4.12+STM32F10x_StdPeriphLib V3.5.0就搞定了 

切记,不要重复加入文件,之前不小心把2个STM32F10X.h加入工程了,MDK之间死掉然后必须从0开始建立工程。。。

posted on 2012-11-30 00:45  Zaku08  阅读(1037)  评论(0)    收藏  举报