一、工具安装
1. J-Link驱动的安装 下载地址 http://pan.baidu.com/s/1mgjyw20
2. KEIL MDK的安装 这个版本更新很快,我用的是4.7版本的,现在5.0版本的都出来,所以可以自己百度去下载,很多地方都能下载到
3. 成功安装好J-Link,同时插上J-link下载线后能在我的电脑设备管理器中看到J-Link Driver
4. 由于安装大同小异,这里不再赘述。
二、工程模板的建立
准备工作
1. 下载ST官方库,我这里是用的3.5版本的
2. STM32使用手册、固件函数手册,开发板原理图文件、以及ST助手
3. 网上下载地址很多,这里我把多个文档打包在一起,下载地址:http://pan.baidu.com/s/1kTgI7Y3
下面介绍一下ST库文件的每个文件的内容
解压后你会发现ST库是这样一个文件夹,文件夹名为:STM32F10x_StdPeriph_Lib_V3.5.0,然后里面又包含了4个文件夹,一个网络链接,和一个ST库开发助手。
下面主要介绍四个文件夹:
1. Project 文件夹
1.1 Example
标准外设库驱动的完整例程
1.2 Template
1.2.1 RVMDK
KEIL RVMDK的项目模板示例
1.2.2 EWARMv5
IAR EWARMv5的项目模板示例
1.2.3 RIDE
2. Libraries 文件夹
2.1 CMSIS
2.1.1 Documentation
CMSIS文档
2.1.2 CM3
?? CoreSupport
core_cm3.c CMSIS的Cortex-M3内核设备访问层源文件
?? DeviceSupport/ST/STM32F10x/startup
l arm ARM编译器启动文件
startup_stm32f10x_ld.s 大容量产品启动文件
startup_stm32f10x_md.s中容量产品启动文件
startup_stm32f10x_hd.s 小容量产品启动文件
l iar IAR编译器启动文件
同arm
l gcc GCC编译器启动文件
同arm
2.2 STM32F10x_StdPeriph_Driver
2.2.1 Inc
标准外设库驱动头文件
2.2.2 Src
标准外设库驱动源文件
3. _htmresc 文件夹
本文件夹包含了所有的html页面资源
4. Utilities 文件夹
4.1 STM32_EVAL
本文件夹包含了用于STM3210B-EVAL和STM3210E-EVAL评估板的专用驱动
一些重要固件库文件:
main.c 主示例函数体
stm32f10x_conf.h 参数配置文件,它要求用户在运行应用程序之前对它进行修改,定义需要与库进行交互的参数。用户可以使用模板使能或者禁能外围模块,并且可以改变外部石英振荡器的数值
stm32f10x_it.h 头文件,包括所有中断处理函数原型
stm32f10x_it.c 外围模块中断处理函数文件,用户可以引入在应用程序中需要使用的中断处理函数。如果有多个中断请求映射到同一个中断向量,该函数采用轮循环围中断标志的方式来确认中断源。这些函数的名字在固件库中提供。
stm32f10x_lib.h 头文件,包括所有外围模块的头文件,这是唯一一个需要在用户应用程序中引用的文件,它作为库的接口。
stm32f10x_lib.c 调试模式初始化文件,它包括变量指针的定义,每个指针指向相应外围模块的首地址和当调试模式使能时被调用的函数的定义。该函数初始化已定义的指针。
stm32f10x_map.h 该文件实现用于调试,释放模式的内存映射和寄存器物理地址定义。它提供给所有的外围模块。
stm32f10x_type.h 普通声明文件。包括所有外围驱动程序使用的普通类型和常量。
stm32f10x_ppp.h PPP外围模块的头文件。包括PPP外围模块函数的定义和在这些函数中使用的变量的定义。
stm32f10x_ppp.c PPP外围模块驱动程序源代码文件,用C语言编写
cortexm3_macro.h 头文件
cortexm3_macro.s 专用的Cortex-M3指令的指令封装
正式开始建立工程:
1.在桌面上新建一个文件夹,取名STM-Demo,然后在里面新建四个文件夹分别是 CMSIS,FWlib,Listing,Output,USER
2.首先把ST库中的Libraries\STM32F10x_StdPeriph_Driver\ Inc 和Src文件夹拷贝到你新建的STM-Demo文件夹中的FWlib中
3.把 Project\STM32F10x_StdPeriph_Template下的stm32f10x_conf.h、main.c、stm32f10x_it.c、stm32f10x_it.h、system_stm32f10x.c拷贝到你新建的文件夹USER目录下
4.把Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 下的所有文件拷贝到你新建的CMSIS\startup,前面现在里面新建好startup文件夹
5.将Libraries\CMSIS\CM3\CoreSupport中的core_cm3.c和core_cm3.h拷贝到你的CMSIS目录下,同时将Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的stm32f10x.h、system_stm32f10x.h、system_stm32f10x.c拷贝打你的CMSIS目录下
6.这样我们的文件建立就完成了,这下我们可以打开MDK新建一个工程了,取名为STM32-Demo,然后添加四个group,分别为STARTCODE,USER,FWlib,CMSIS,在STARTCODE中添加startup_stm32f10x_hd.s,在USER中添加main.c和stm32f10x_it.c,同时在FWlib中添加全部的驱动文件,在CMSIS中添加core_cm3.c、core_cm3.h
添加完成后如下图所示: 然后就是配置MDK选项
最后就是修剪你的main函数了
#include "stm32f10x.h"
int main(void)
{
}
修改成这样就行了!这样一个工程就完成了,保存下来,以后编程的时候直接可用,不用在配置第二遍
同时你往里面添加的用户函数,配置串口什么的都可以保留下来,在main中直接调用免得后面要再次使用时很麻烦。
在安装软件和新建工程这个过程中可能会出现各种问题,最好的办法就是百度,说实话,刚开始没有接触STM32,从软件下载到安装再到工程模板的建立我也弄了一天!要有耐心慢慢来!就会发现其实就那么回事!