集成开发环境的搭建

1.Keil MDK的安装及配置
  1. 安装Arm Keil MDK,这里安装MDK5.26版本
  2. 上Keil公司官网下载后缀名为pack的芯片支持包并进行双击安装。这里我安装的是F1xx的
  3. 打开Keil uVision5 IDE,修改编辑器的编码为gb2312
  4. 设置Tab键大小为4
  5. 设置显示行号
  6. 配置MDK5的自动补齐功能
  7. 调试时,监视窗口变量的值显示十进制值:右击属性列,取消勾选十六进制显示
  8. 支持C99模式:点击魔术棒=》c/c++
2.STM32CubeMX的安装及配置
  1. 地址上下载安装包根据提示进行安装
  2. 点击Help=》Updater Settings修改仓库的位置

开发方式

  1. 函数库开发:ST公司开发了两套库,分别是标准外设库和HAL(hardware Abstraction Layer)库
  2. 寄存器开发:直接操作寄存器
  3. 图形界面开发:使用STM32CubeMx软件进行开发

STM32项目工程模板的创建

开发板为STM32F103ZET6

1.基于标准外设库创建工程模板
  1. 新建目录STM32_template,在STM32_template目录下新建USER目录。打开Keil uVision5,点击project=》new uVision Project,定位到USER目录,编辑文件名
  2. 选择单片机对应的设备
  3. 在STM32_template目录下新建STM32F10x_FWLIB,OBJ,CORE目录
  4. 地址点击STM32微控制器软件=》STM32标准外设软件库=》F1=》选择3.5.0=》作为访客下载=》填写相关信息获取下载链接。最终下载完固件包进行解压如下所示:
  5. 将下载的固件包Libraries\STM32F10x_StdPeriph_Driver目录下的Src和Inc目录放置到STM32F10x_FWLIB目录下
  6. 将Libraries\CMSIS\CM3\CoreSupport目录下的core_cm3.c和core_cm3.h文件复制到CORE目录下
  7. 将Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录下的startup_stm32f10x_hd.s文件复制到CORE目录下
  8. 将Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x目录下的stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h文件复制到USER目录下
  9. 将Project\STM32F10x_StdPeriph_Template目录下的main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h文件复制到USER目录下
  10. 重命名Target及Group名称,新建GROUP。如下所示:
  11. 将STM32F10x_FWLIB\src目录下的所有文件添加到FWLIB组中
  12. 将CORE目录下的core_cm3.c及startup_stm32f10x_hd.s文件添加到CORE组中
  13. 将USER目录下的main.c,stm32f10x_it.c,system_stm32f10x.c添加到USER组中
  14. 魔法棒设置:根据需要进行设置
    1. Target选项卡:设置外部晶振频率,使用的编译器版本
    2. Output选项卡:生成hex文件,设置Objects输出文件夹
    3. Listing选项卡:设置Listing输出文件夹
    4. c/c++选项卡:设置全局宏定义,优化等级,设置头文件包含路径,C99Mode
    这里需要添加宏定义STM32F10X_HD,USE_STDPERIPH_DRIVER
    
    1. Debug选项卡:设置使用的仿真器类型,选择使用的下载接口
    2. Utilities选项卡:设置下载功能,下载算法,下载算法起始地址和大小等
    3. Linker选项卡:添加分散加载文件
  15. 将USER目录下的main.c文件中的代码替换成自己的,然后进行编译
2.基于寄存器创建工程模板
  1. 新建STM32_register_template目录,在STM32_register_template目录下新建USER,OBJ目录
  2. 将固件包Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm目录下的startup_stm32f10x_hd.s文件复制到USER目录下
  3. 重命名Target及Group名称,新建GROUP。如USER
  4. 将startup_stm32f10x_hd.s添加到USER组中,将其中如下三行代码行注释掉
;                IMPORT  SystemInit
;                LDR     R0, =SystemInit
;                BLX     R0
  1. 魔法棒设置:根据需要进行设置
    1. Target选项卡:设置外部晶振频率,使用的编译器版本
    2. Output选项卡:生成hex文件,设置Objects输出文件夹
    3. Listing选项卡:设置Listing输出文件夹
    4. c/c++选项卡:设置全局宏定义,优化等级,设置头文件包含路径,C99Mode
    这里需要添加宏定义STM32F10X_HD
    
    1. Debug选项卡:设置使用的仿真器类型,选择使用的下载接口
    2. Utilities选项卡:设置下载功能,下载算法,下载算法起始地址和大小等
    3. Linker选项卡:添加分散加载文件
  2. 在USER组中添加main.c,编译程序运行
3.基于HAL库创建工程模板
  1. 地址上下载STM32Cube MCU软件包。解压后如下所示:
  2. 新建目录STM32F103ZET6_Template,在STM32F103ZET6_Template目录下新建Drivers,Middlewares,Output,Projects,Users目录
  3. 剩下步骤与基于标准外设库创建工程模板雷同
4.基于IDE STM32CubeMX

这种方式通过图像界面进行硬件配置,大大提高了开发效率。

  1. 官网上下载STM32CubeMX,然后进行安装
  2. 在官网上下载HAL库en.stm32cubef1.zip,然后根据下面步骤进行安装
  3. 设置安装路径
  4. 选择本地安装
  5. 新建项目,通过图形化界面进行硬件配置

以上内容了解即可,因为我们以后开发都在这些工程模板上开发。