2020.1.13
参考:https://blog.csdn.net/cheapter/article/details/80198168
创建STM32F03C8T6的使用模板
遇到的一些坑记录下来
一、建立过程
(1)建立工程的文件夹
1.新建三个文件夹,CMSIS(存放内核函数及启动引导文件),FWLIB(存放库函数),USER(存放用户自己的函数)
2.将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport中的文件复制到CMSIS中,
再将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x中的文件全部复制到CMSIS中。
3.将STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver中的 inc src 复制进FWLIB文件夹。
4.STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template中的这几个文件复制进USER
(2)建立工程,添加工程文件
1.STARTUP要选择NewProject\CMSIS\startup\arm中的
startup_stm32f10x_hd.s、startup_stm32f10x_ld.s、startup_stm32f10x_md.s三个,其实只添加对应类型就好
小容量:STM32F103x4 x6 中容量:x8 xB 大容量 xC xD xE
2.FWLIB中只需要添加src中的.c文件即可
3.CMSIS中不需要添加STARTUP中的文件,删去一个system.c
(3)工程配置
1.C/C++设置界面,在define一栏输入 STM32F10X_MD(填板子对应类型),USE_STDPERIPH_DRIVER
2.includepath栏加入头文件路径。
二、遇到的坑
1.C/C++ 配置是必须的,不写不能使用库函数
三、报错
Libraries\CMSIS\stm32f10x.h(298): error: #67: expected a "}" 引导文件类型不匹配
sct(7): error: L6235E: More than one section matches selector 引导文件重叠,其实还是类型不匹配的问题,就不该加入那么多引导