创建配置keil_v5离线工程
1. 创建工程文件夹
在工程文件夹下创建以下6个子文件夹
其中,CODE用于存储内核相关的文件;FWLIB用于存储标准外设驱动文件;HAEDWARE用于存储硬件模块代码,OBJ存储编译后的.o文件,SYSTEM用于存储配置芯片的代码(如延时函数,串口配置函数等),USER 主要用于存储工程配置文件以及mian.c。
2. 创建新工程
① 打开keil_5创建新工程,路径选择刚才创建的USER文件夹。
② 选择对应的芯片类型,这里为STM32F407VE。
③ 离线工程这步不用勾选,直接跳过
3. 添加STM32f4xx固件库文件
Libraries文件夹:
①将\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates路径下的system_stm32f4xx.c复制到我们创建的USER文件夹。
②将\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm路径下的对应我们芯片的启动文件复制到我们创建的CORE文件夹。
③将\Libraries\CMSIS\Device\ST\STM32F4xx\Include路径下的两个文件复制到我们创建的USER文件夹(stm32f4xx.h里面是所有寄存器的定义,中断号的定义)。
④ 将\Libraries\CMSIS\Include路径下的对应的架构文件复制到我们创建的CORE文件夹,这里是M4架构。
⑤ 将\Libraries\路径下的STM32F4xx_StdPeriph_Driver文件夹复制到我们创建的FWLIB文件夹,或者将里面的inc,src文件夹单独复制过去。
⑥ 将\Project\路径下的stm32f4xx_conf.h文件夹复制到我们创建的USRS文件夹。
4. 导入工程文件
工程内文件夹建议与前面自己创建的文件夹同名,导入对应文件夹下的.c文件,其中CORE中有个.s启动文件也需要导入
5. 添加路径、宏定义
① 添加所有.h头文件的路径,添加的路径如果为绝对路径,建议改为相对路径,方便移植,这里的当前路径 应该为USER目录下。
② 添加宏定义
通过system_stm32f4xx.c跳转到stm32f4xx.h,将里面开头和结尾处的两个宏定义加入,宏定义之间逗号隔开
③ 更改汇编目标文件路径,改为我们创建的OBJ文件夹
6. 修改PLL
① 将system_stm32f4xx.c中的PLL_M的25改为8。
② 将stm32f4xx.h中的HSE_VALUE改为8000000。
7. 其他配置
① 文本编辑器配置
a. 在菜单栏“Edit”,在弹出的下拉菜单,选择“Configuration”。
b. 如果部分源码显示的中文注释为乱码,里面的“Encoding”可以尝试配置为“Chinese GB2312(Simplified)”,Tab Size选择为4,代表按下Tab键的时候,就默认输入4个空格。
c. 勾选自动补全功能,实时检测代码
② 优化等级设置
点击“Options for Target”按钮,进入目标平台配置标签页,点击C/C++,Optimization选择Level2(O2);
③ 目标平台配置
a. 点击“Options for Target”按钮,进入目标平台配置标签页,勾选生成输出Hex文件,该Hex文件在串口烧录程序的时候用到。
④ 程序下载配置
a. 下载前,请确保j-link仿真下载器已经正确连接到开发板的SWD接口,确保micro usb线是数据线,而不是充电线。
b. 进入平台配置选项,切换到“Debug”标签页,然后按照下图选中“J-Link/J-TRACE Cortex”,接着点击“Settings”按钮。
c. 在“port:”选中“SW”,然后在“SW Device”显示框中能够看到设备名称,就代表说电脑能够识别到开发板的芯片。
d. 在“Flash Download”中,勾选“Reset and Run”,这样下载程序后,程序才会自动运行。