Keil5软件配置
在安装完成Keil5后,还需进行特定配置才能进行STM32项目开发:
一、安装芯片支持包
激活成功软件后,需要安装芯片支持包才能使用,安装芯片包可使用在线安装和离线安装。
由于学习使用的是STM32F103C8T6的芯片,所以安装STM32F1系列的芯片包,首先利用Keil5软件中的pack工具进行在线安装:
离线安装,可在网上下载对应的芯片支持包文件,官网下载:https://www.keil.arm.com/packs/ ,下载完双击安装即可
安装完成后,可打开Device Database 查看是否安装成功,如图可见STM32F1系列的芯片支持包已安装
基于STM32F103C8T6进行新建工程,打开Keil5软件,菜单栏项目点击 Project —> New μVision Project… 会提示选择项目保存路径
选择项目保存的文件夹后,选择芯片类型,这里选择 STM32F103C8
在建立好的过程项目中,建立三个文件夹(核心文件、外设库文件、用户文件),这里我按自己的习惯存放和命名
二、ST标准库项目配置
ST固件库下载地址:https://www.st.com/en/embedded-software/stm32-standard-peripheral-libraries.html
在后续学习中使用STM32F103C8T6,所以选择F1系列的ST标准库下载
下载好相应的标准库文件后,解压后的文件目录 STM32F10x_StdPeriph_Lib_V3.6.0 中内容如下:
- Libraries目录:包含CM3内核相关库文件和标准外设相关库文件
- Project目录:ST官方提供的实例源码和工程文件
- Utilities目录:ST官方评估板的源码
- stm32f10x_stdperiph_lib_um.chm:官方提供的标准库帮助文档
在建立工程时,所需的文件如下面思维导图中的红色部分所指代的文件,复制到项目文件夹时可按自己的习惯放置路径
复制到CM3文件夹:(若是只使用寄存器的方式,即只需这几个文件即可)
ARM Cortex-M3内核支持文件:core_cm3.c 、core_cm3.h
STM32F10x设备启动文件:如 startup_stm32f10x_md.s(基于STM32F103C8T6选择,参考步骤4和5中的图)
STM32F10x设备的支持文件:stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h
复制到Library文件夹:
- STM32F10x标准外设驱动:STM32F10x_StdPeriph_Driver中的头文件和源文件
复制到USER文件夹:
配置标准外设库的头文件(用户可编辑):stm32f10x_conf.h
中断服务的实现文件(用户可编辑):stm32f10x_it.h、stm32f10x_it.c
在startup里的arm文件夹中存放着启动文件,我们只需选择相应的文件即可,由于STM32F103C8T6的Flash大小为64K,所以选用MD的启动文件 startup_stm32f10x_md.s,下图来源:互联网
STM32命名规则:图片来源:https://www.stmcu.com.cn/Product/pro_detail/PRODUCTSTM32/product 选型手册
三、解决新版 Keil 中缺少 v5 版本的ARM编译器问题
在新版的keil中,在编译时发现编译出错,在其他文件无任何错误情况下,提示core_cm3.c文件有错误,后来发现这是编译器的问题。
在最新版的Keil中使用的是Compiler version 6,而在core_cm3.c需要使用Compiler version 5。
下载Compiler version 5,地址:https://developer.arm.com/downloads/view/ACOMP5 ,这个需要登录才能下载,可注册登录
下载后得到压缩包ARMCompiler_506_Windows_x86_b960.zip,解压后会有安装包进行安装即可
先在Keil5安装目录的ARM文件夹中,新建ARMCC文件夹,再选择该文件夹进行安装。
安装完成后,在Keil中配置编译器,如下图步骤打开,图中步骤4中会打开目录选择框,选择上一步安装Compiler version 5时选的文件夹
点击魔法棒,在Target中选择Compiler version 5版本(两个都可)