目录
集成开发环境的搭建
1.Keil MDK的安装及配置
- 安装Arm Keil MDK,这里安装MDK5.26版本
- 上Keil公司官网下载后缀名为pack的芯片支持包并进行双击安装。这里我安装的是F1xx的
- 打开Keil uVision5 IDE,修改编辑器的编码为gb2312
- 设置Tab键大小为4
- 设置显示行号
- 配置MDK5的自动补齐功能
- 调试时,监视窗口变量的值显示十进制值:右击属性列,取消勾选十六进制显示
- 支持C99模式:点击魔术棒=》c/c++
2.STM32CubeMX的安装及配置
- 在地址上下载安装包根据提示进行安装
- 点击Help=》Updater Settings修改仓库的位置
开发方式
- 函数库开发:ST公司开发了两套库,分别是标准外设库和HAL(hardware Abstraction Layer)库
- 寄存器开发:直接操作寄存器
- 图形界面开发:使用STM32CubeMx软件进行开发
STM32项目工程模板的创建
开发板为STM32F103ZET6
1.基于标准外设库创建工程模板
- 新建目录STM32_template,在STM32_template目录下新建USER目录。打开Keil uVision5,点击project=》new uVision Project,定位到USER目录,编辑文件名
- 选择单片机对应的设备
- 在STM32_template目录下新建STM32F10x_FWLIB,OBJ,CORE目录
- 在地址点击STM32微控制器软件=》STM32标准外设软件库=》F1=》选择3.5.0=》作为访客下载=》填写相关信息获取下载链接。最终下载完固件包进行解压如下所示:
- 将下载的固件包Libraries\STM32F10x_StdPeriph_Driver目录下的Src和Inc目录放置到STM32F10x_FWLIB目录下
- 将Libraries\CMSIS\CM3\CoreSupport目录下的core_cm3.c和core_cm3.h文件复制到CORE目录下
- 将Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录下的startup_stm32f10x_hd.s文件复制到CORE目录下
- 将Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下的stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h文件复制到USER目录下
- 将Project\STM32F10x_StdPeriph_Template目录下的main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h文件复制到USER目录下
- 重命名Target及Group名称,新建GROUP。如下所示:
- 将STM32F10x_FWLIB\src目录下的所有文件添加到FWLIB组中
- 将CORE目录下的core_cm3.c及startup_stm32f10x_hd.s文件添加到CORE组中
- 将USER目录下的main.c,stm32f10x_it.c,system_stm32f10x.c添加到USER组中
- 魔法棒设置:根据需要进行设置
- Target选项卡:设置外部晶振频率,使用的编译器版本
- Output选项卡:生成hex文件,设置Objects输出文件夹
- Listing选项卡:设置Listing输出文件夹
- c/c++选项卡:设置全局宏定义,优化等级,设置头文件包含路径,C99Mode
这里需要添加宏定义STM32F10X_HD,USE_STDPERIPH_DRIVER
- Debug选项卡:设置使用的仿真器类型,选择使用的下载接口
- Utilities选项卡:设置下载功能,下载算法,下载算法起始地址和大小等
- Linker选项卡:添加分散加载文件
- 将USER目录下的main.c文件中的代码替换成自己的,然后进行编译
2.基于寄存器创建工程模板
- 新建STM32_register_template目录,在STM32_register_template目录下新建USER,OBJ目录
- 将固件包Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录下的startup_stm32f10x_hd.s文件复制到USER目录下
- 重命名Target及Group名称,新建GROUP。如USER
- 将startup_stm32f10x_hd.s添加到USER组中,将其中如下三行代码行注释掉
; IMPORT SystemInit
; LDR R0, =SystemInit
; BLX R0
- 魔法棒设置:根据需要进行设置
- Target选项卡:设置外部晶振频率,使用的编译器版本
- Output选项卡:生成hex文件,设置Objects输出文件夹
- Listing选项卡:设置Listing输出文件夹
- c/c++选项卡:设置全局宏定义,优化等级,设置头文件包含路径,C99Mode
这里需要添加宏定义STM32F10X_HD
- Debug选项卡:设置使用的仿真器类型,选择使用的下载接口
- Utilities选项卡:设置下载功能,下载算法,下载算法起始地址和大小等
- Linker选项卡:添加分散加载文件
- 在USER组中添加main.c,编译程序运行
3.基于HAL库创建工程模板
- 在地址上下载STM32Cube MCU软件包。解压后如下所示:
- 新建目录STM32F103ZET6_Template,在STM32F103ZET6_Template目录下新建Drivers,Middlewares,Output,Projects,Users目录
- 剩下步骤与基于标准外设库创建工程模板雷同
4.基于IDE STM32CubeMX
这种方式通过图像界面进行硬件配置,大大提高了开发效率。
- 官网上下载STM32CubeMX,然后进行安装
- 在官网上下载HAL库en.stm32cubef1.zip,然后根据下面步骤进行安装
- 设置安装路径
- 选择本地安装
- 新建项目,通过图形化界面进行硬件配置
以上内容了解即可,因为我们以后开发都在这些工程模板上开发。