STM32最基本工程搭建(使用KEIL5)
1、材料
下载
Keil5 Arm
二选择一、芯片包(一般附带外设估计库,不是最新的)、固件库。
2、新建工程
1、
安装Keil5
2、下载芯片包
可以1,2在线下载或者1,3本地导入(本地导入,需要下载好Keil.STM32F1xx_DFP.2.4.0.pack文件,由于在线下载经常失败,因此有时候会选择在官网上下载后本地导入)
3、官网下载固件库
4、新建工程
新建工程,选择自己下好的芯片包。
3、工程添加文件
1、需要两个文件:启动文件和主函数文件。启动文件从官方库中添加(根据芯片硬件存储的大小选择使用,比如hd代表大容量),main.c主函数文件手动创建并编辑。
2、代码执行过程
上电复位、执行复位中断服务函数->系统时钟初始化(可不执行操作,有默认)->执行__main(主要拷贝flash中的数据段到RAM中,进入main函数)
4、工程配置
1、工程中添加启动文件和main文件,打开配置选项,如果芯片选择错误可在Device选项卡中重新进行选择。
2、Target选项卡中选择 Use MicroLIB:后面封装printf函数会用到,用不到微库的可不选。
3、Outout选项卡中选择Create hex file:最终生成文件格式,用作烧录到芯片。
4、Listing选项卡中选择生成的map文件存放目录
5、C/C++选项卡中定义预编译宏(USE_STDPERIPH_DRIVER,STM32F10X_HD等),添加编译头文件路径。
6、Debug选项卡中配置仿真器环境
选择仿真器类型,添加芯片擦除类型。
5、编译代码
1、点击
编译
或者重新编译
按钮
2、编译结果
Code = 128
,代码段大小,存放在ROM,cpu用来取指令
RO-data=320
,只读数据段,用来存放全局只读变量,局部字符串常量。
RW-data=0
,读写数据段,存放在ROM中,运行时拷贝到RAM。
ZI-data=1024
,未初始化的变量(不占用编译生成文件大小),存放在RAM。
Total RO Size = Code + RO Size
Total RW Size = RW Data + ZI Data
Total ROM Size = Code + RO Data + RW Data