集成开发环境的搭建
MDK软件的下载
如果想要学习STM32,需要安装对应的开发环境,一般都是使用德国KEIL公司设计的KEIL5,但是由于KEIL公司在2005年被ARM公司收购,所以KEIL5也被称为ARM-MDK,想要下载软件的安装包,可以去KEIL公司的官网 www.keil.com
可以看到MDK的版本为5.34,但是一般实际开发中会使用较低的版本,为大家准备的是5.26版本。
百度网盘:链接:https://pan.baidu.com/s/1qg9vg5z7DTYSCcNui4sH9Q?pwd=kecs 提取码:kecs
MDK软件的结构
MDK-Core:包含了库管理器以及Cortex M系列的设备(也包含最新的ARMv8-M架构)
ARM C/C++ Compiler:包含编译器、汇编器、链接器…
Device:包含启动文件(汇编语言)、硬件抽象层、通用的工业标准CMSIS的驱动程序
MDK软件的安装
1. 安装MDK5.26版本 集编辑、编译、下载为一体 双击安装即可
注意:软件的安装路径中不能存在中文以及特殊的字符,建议在电脑的某个盘新建一个英文文件夹
注意:可能会在软件的安装过程中提示“是否安装ULINK的驱动” 点击“不安装”
2. 对KEIL5软件进行破解 利用破解器 记住打开KEIL5软件的时候需要用管理员权限
注意:破解器可能会被电脑的杀毒软件当做木马对待,所以建议提前关闭杀毒软件。
3. MDK软件破解完成 需要安装ST公司对应的芯片支持包(芯片型号、芯片外设库函数…)
MDK软件安装完成后,是不会帮大家添加半导体公司的芯片,需要大家手动安装或者在线更新 芯片的支持包可以在KEIL公司官网下载 www.keil.com/dd2/pack
双击安装即可。
MDK软件的配置
- 修改MDK5软件的编码格式(修改为GB2312),并设置显示行号+ TAB制表符4个空格
- 配置MDK5软件的自动补齐功能 方便大家去开发
安装失败解决方案 参考链接:https://pan.baidu.com/s/1UYXKCDhNxfBHBtXELcEWeg?pwd=csu6 提取码:csu6
基于标准固件库建立开发工程
(基于STM32F407ZE+ARM Cortex M4内核搭建开发工程模板)
下载stm32固件库源码,解压后目录分布如下
百度网盘:链接:https://pan.baidu.com/s/1hxnZz2zmFHfjsFbfYEDfNQ?pwd=5vkd 提取码:5vkd
创建工程目录结构
- 新建文件夹,命名为first_project(自定),内部结构如下
CMSIS:Cortex微控制器软件接口标准文件,该目录下文件适用所有Cortex系列(启动文件、配置文件)
DEVICE_LIB:M4对应外设的模块代码。 ( ./Inc+src)
HARDWARE:用户实现的模块功能函数
LIST:链接相关
OBJ:编译产生的中间文件+hex/bin文件
SYSTEM:系统相关代码
USER:自定义代码(main.c)
- 将stm32固件库源码下的文件拷贝到first_project下各个文件夹内,拷贝位置如下
keil5创建工程 + 配置工程
-
打开keil5,选中project–>new project–>在弹出的对话框中,选择项目保存位置。(项目保存位置:自己新建的工程文件夹first_project/USER)
-
保存后,选择该工程的芯片型号,如下图。(前提是安装了芯片型号对应的pack)
-
选定型号后,出现下图,为该项目添加要使用的模块代码,需要就勾选。(使用固件库源码复制,不需要此步骤,直接关闭)。
-
创建成功后,出现下图结构。(必须对项目内文件夹分布作规划)
每个文件夹命名与工程代码框架类似,见下图
-
个文件夹内文件分布如下
-
打开main.c,删除所有代码,作以下简单代码编写。
-
对工程进行配置,具体步骤如下。Project–>options for target
STM32F40_41xxx:该宏指定芯片的型号,不同型号对应的硬件代码有不同,必须定义。
USE_STDPERIPH_DRIVER:该宏指定是否启用外设,定义则为启用外设,必须定义。
-
点击按钮编译,成功编译通过,可以往里面添加模块功能。
-
点击MKD5菜单栏的Edit选项,配置MKD5,方便以后开发
-
整个工程配置结束,可以正常使用
基于在线添加库文件建立开发工程
-
在电脑的某个位置新建一个文件夹(如在桌面新建),名字叫做first_project(自定)
-
打开KEIL5,点击菜单栏的file选项,选择“New uVesion Project”
-
在弹出的对话框中,填写工程的名字,如first_project
-
选择对应的芯片型号 前提是安装了对应的芯片支持包
![](https://img-blog.csdnimg.cn/img_convert/eeb5580742c12d669ebd3662bdb33da2.png)
-
为创建的工程,在线添加相应的库函数
-
在工程中新建main.c,保存main.c文件后,并把main.c包含到工程中
-
点击MKD5菜单栏的Edit选项,配置MKD5
-
点击魔术棒,进行目标平台配置
USE_STDPERIPH_DRIVER 外设宏定义 是否启用外设驱动
STM32F40_41xxx 芯片宏定义 可在stm32f4xx.h头文件中复制
-
编写main.c,然后进行编译
-
检查是否编译通过,如通过,工程搭建成功
注意:
在程序编译时,如果报错或者出现警告,去查看错误原因,进行修改即可