STM32固件库编程
一、新建工程文件夹
1、工程文件夹内添加:Project、Libraries、User、Doc,之后在Project目录内新建工程,并将标准库中CMSIS、STM32F4xx_StdPeriph_Driver复制到Libraries中。
2、将\STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates中:
main.c stm32f4xx_conf.h stm32f4xx_it.c stm32f4xx_it.h文件复制到User目录下
二、裁剪标准库文件
1、保留CMSIS中Device和Include,其余文件及文件夹删除;
2、CMSIS\Device\ST\STM32F4xx\Source\Templates中只保留arm文件夹及system_stm32f4xx.c,其余均删除
注:删除迁移过来的文件夹中所有html文件
三、建立工程文件
1、新建F429工程
2、建立目录
工程中分别建立StartUp、CMSIS、STM32F4xx_StdPeriph_Driver、User
3、工程中添加文件
双击StartUp,在\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm目录下选择startup_stm32f429_439xx.s文件添加到启动目录下;
双击CMSIS,在\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates目录下选择system_stm32f4xx.c文件添加到CMSIS目录下;
双击STM32F4xx_StdPeriph_Driver,在Libraries\STM32F4xx_StdPeriph_Driver\src,将此目录下所有.c文件添加到STM32F4xx_StdPeriph_Driver中;
双击User,将User下所有.c文件添加到User目录内。
4、添加编译目录
打开仙女棒工具(options for Target),在C/C++目录中的Include中添加如下目录(目录是我做好的,后续测试了LED和KEY功能,所以包含了此两个目录)
在Preprocessor Symbols中添加宏定义USE_STDPERIPH_DRIVER,STM32F429_439xx,
5、编译
编译后会出现#223-D: function "TimingDelay_Decrement" declared implicitly
提示,打开,双击进入stm32f4xx_it.h中
void SysTick_Handler(void)
{
//TimingDelay_Decrement(); //删除或注释此函数调用
}
OK,使用库函数新建工程完成。