1. 新建工程
选择从MCU新建一个工程
2. 搜索MCU
可以使用模糊搜索,这里使用的是野火指南者开发板,MCU为STM32F103VET6。
3. 打开MCU
在MCU列表里选择使用的MCU,双击打开,或者点击右上角"Start Project"打开。
4. 配置调试模式
调试口一般使用Serial Wire(SW)模式(MDK的Debug设置需选择SW),也可选择JTAG多线模式,根据自己开发板选择;
如果不选择模式(也就是No Debug模式),大概率会导致MCU无法再次使用debug口下载,就需要使用IAP重新下载正常程序。
5. 配置外部时钟源
野火指南者开发板上接有两个外部时钟,高速外部时钟(HSE,8MHz)和低速外部时钟(LSE,32.768KHz)均选择晶振。
如果不使用外部时钟,则会默认选择高速内部时钟(HSI,8MHz)和低速内部时钟(LSI,40KHz)。
使用高速内部时钟作为时钟源时SYSCLK最大为64MHz,使用高速外部时钟作为时钟源时SYSCLK最大为72MHz。
外部时钟比内部时钟更加稳定,如果有外部时钟就选择外部时钟。
6. 配置时钟树
直接在HCLK中输入要设置的时钟频率,然后回车,MX会自动选择时钟源,配置时钟树,确认即可完成时钟树配置。
7. 工程管理设置
填入工程名称,选择工程位置,工具链位置会自动生成,IDE支持IAR(EWARM)、MDK(MDK-ARM)、STM32CubeIDE和Makefile,我这里使用MDK5;
堆栈大小默认即可,如有需要,直接修改调整即可;
固件包会默认选择最新,如果未安装,则会提示下载。
8. 代码生成器设置
可以设置选择拷贝所有库文件或者是仅必要的库文件;
选择外设初始化代码成对生成,否则外设的初始化代码均会放在main.c中;
HAL设置中还可配置将所有未使用的引脚配置为模拟,用来优化功耗;
可设置使能所有断言。
9. 生成工程
点击"GENERATE CODE",将会在配置的工程位置目录下,生成完整的工程。至此就完成了HAL库工程初始化,可以使用MDK进一步编写程序。