下载固件库
点击选择需要的版本固件库下载,下载需要验证邮箱。http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zip
固件库构成
下载后解压,得到如下,其中只有Libraries(保存驱动库的源代码和启动文件)和Project(保存一个例子和工程模板)是我们需要的
Libraries目录分析
打开目录如下
CMSIS包含中CM3是cortex内核自带的外设驱动代码和启动代码,通常是汇编编写的,其他文件可以忽略
./CM3/Coresupport/core_cm3.h和core_cm3.c是内核自带外设驱动程序
./CM3/DeviceSupport/ST/STM32F10x/startup包含四个对应的不同开发环境的启动代码文件夹其中arm对应keil开发环境
./CM3/DeviceSupport/ST/STM32F10x/包含的三个源程序也很重要
返回到最开始的路径Libraries目录中
STM32F10x_StdPeriph_Driver包含的是芯片制造商在内核上外加的外设驱动程序,包含inc和src两个文件夹
inc 包含的是每个驱动文件包含的头文件,当用到某个外设驱动程序时,将他的头文件包含在应用程序
src 包含的是每个驱动程序文件对应的源文件
建立工程模板
一创建目录
创建3个目录,以及一个readme。Libraries就是上面提到的那个目录直接复制,而其他三个是新目录,没有数据
2 新建一个工程
3 在之前创建的Project目录中创建工程
4根据实际的芯片设置芯片型号
5添加组,点击Manage
6删除默认组并添加新组
7 project添加文件
将固件库中选择如下路径,将5个文件放入创建的project中
8 Users
双击Users,添加如下三个文件
9 drivers
双击Drivers,将新创建的Libraries\STM32F10x_StdPeriph_Driver\src中所有文件放入
10 CM3
同理在CM3中将Libraries\CMSIS\CM3\CoreSupport文件放入
11 Startup
对了,还要创建一个startup组,用来存储启动文件
目录:Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
根据芯片不同选择不同的启动文件,比如我的是大封装,选择_hd,小_ld,中_md
12 DOC
DOC组则放入之前创建好的readme
13 配置输出
勾选上 创建HEX文件, 点击select folder objects,将编译生成的文件放入之前创建好的output中
14 选择晶振
15 c/c++
定义宏USE_STDPERIPH_DRIVER,STM32F10X_HD(根据封装选择MD,HD等)
选择依赖的路径,将上面放入组的路径填入
16 选择你使用的仿真器
点击setting 如果有名字则成功,否则查看驱动是否正确
最后
将main.c 内容全部删除,只留如下,再构建一下,0 eoor 成功