准备工作
- MDK
- 下载安装对应的支持包,如
- 数据手册
- 下载对应的固件库(创建项目需从中复制文件),如
创建工程
STM32CubeMX
-
安装目录为英文路径
-
下载相应的库
-
新建工程
-
根据文档设置引脚
-
配置项目,项目名、IDE,勾选生成
-
GENRATE CODE
-
复制一个启动文件,在打开项目后,添加启动文件到项目中
手动配置
- 创建如下目录
+ 复制以下内容,再将这些文件属性的只读取消勾选
- 复制
- 固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport
- 固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
- 固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm
如图红框中的文件
到Demo01\Libraries\CMSIS
- 固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver整个目录复制 到Demo01\Libraries下,后面的FWLIB添加该src下的所有文件
- 复制 固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 如图红框中的文件
到Demo01\Libraries\USER
- 用MDK在Project目录创建项目,选择对应的芯片,再按需求选择
- MDK创建组,添加外部文件(所复制的内容)
截图只有FWLIB下的部分文件,所添加的是STM32F10x_StdPeriph_Driver中src目录下的所有文件
MDK配置
-
Output,设置生成路径,前面所创建的Output目录
-
Listing,设置链接路径,前面创建的Listing目录
+ 设置所在头文件的路径
+ Debug,根据烧入设备设置,如果是USB通过CH340则略过
程序编译可能出现的问题与解决
- 如果出现对于core_cm3.c的报错,应宜在Target中选择对应版本编辑器。
- 如果缺少启动文件(.s),需添加。
烧入
有烧入设备
FlyMCU软件通过USB
- 读取芯片选择 DTR的低电平复位,RTS高电平进BootLoader,读取信息
- 选择所编译出的hex,开始编程,完成烧入。
将Pinout View转为引脚图
- 原项目使用LFBGA100包
- 创建一个新项目,使用LQFP100包
- 再导入原有项目
- 覆盖保存