目录
CubeMX设置
CubeMX界面认识
Project(工程管理)
Code Generator(代码生成)
MDK-ARM软件安装
ST-LINK设置
1、在官网下载安装包安装,链接地址;
2、一开始没有对应芯片的固件包,先下载安装。点击"Help—Manage embedded software packages",找到对应的芯片型号等待下载完成;
如果在线安装太慢,可以先下载固件包到电脑,然后导入固件包。
固件包下载地址:链接地址。在"Manage embedded software packages"下方点击"Form local..."安装。
或者在主界面点击(INSTALL/REMOVE)安装本地固件包。
3、在New Project 中选择"Start My project from MCU"(非官方的开发板)找对应的芯片,或者"Start My project frome STBoard"(对应官方的开发板型号),软件就会自动创建工程。
Pinout&Configuration:用于引脚功能设置,使芯片有特定的功能。(之后会慢慢讲解)
Clock Configuration:时钟树设置。(之后会慢慢讲解)
Project Manger:用于工程项目设置,输出代码设置。
Tools:用于电源管理。
上面“GENERATE CODE”用于生产代码工程。
我们来讲一下"Project Manger"里面的一些设置
CubeMX的Project Manager工程管理器包含:Project(工程管理)、 Code Generator(代码生成)、 Advanced Settings(高级设置)三部分内容。
Basic:是基础的结构,一般不包含中间件(RTOS、文件系统、USB设备等)。
Advanced:相反就是包含中间件,一般针对相对复杂一点的工程。
安装自己实际IDE环境来选择,我这里用的MDK-ARM,版本是V5。后面的笔记也是用这个环境(除非用说明)。
如你创建了工程后,更新到了最新的固件包。旧工程还是用旧固件包,系统就会提示你"Migrate to the latest supported Fimware version"("迁移到支持的最新固件版本")。
这个相比上一个减少了很多文件。比如你没有使用CAN、SPI...等外设,就不会拷贝相关库文件到你工程下。
不勾:所有初始化代码都生成在main.c
勾选:初始化代码生成在对应的外设文件。 如UART初始化代码生成在uart.c中。
重新生成代码时,会在相关目录中生成一个Backup文件夹,将之前源文件拷贝到其中。
比如:我在main.c中添加了一段代码,重新生成时,会在main.c中保留你之前自己添加的这段代码。
注意:前提是这段代码写在规定的位置。也就是BEGIN和END之间。否则同样会删除。
比如:之前生成了spi.c,现在重新配置没有spi.c,则会删除之前的spi.c文件。
这个做低功耗产品时这个选项有必要勾选。
HAL库类似标准库,LL库更接近寄存器操作。有部分芯片没有LL库。
也就是你代码不调用对应初始化函数。
比如:你GPIO项勾选Not Generate Function Call,你main.c函数中就不会调用MX_GPIO_Init这个函数。
这个就是初始化代码声明为static。
提示:
A.有些选项是是默认值,不能修改。如SystemClock_Config配置不声明为ststic.
B.使用static是配合上面Code Generator代码生成章节中Generated files生成文件使用。如果都生成.c .h独立文件了,就不会生成static了。
好了,我们先回到MDK-ARM软件的安装。
KEIL是公司的名称,有时候也指KEIL公司的所有软件开发工具,目前2005年Keil由ARM公司收购,成为ARM的公司之一。
uVision是KEIL公司开发的一个集成开发环境(IDE),目前最新的版本是uVision5。
MDK(Microcontroller Development Kit),也称MDK-ARM、KEIL MDK、RealView MDK、KEIL For ARM,都是同一个东西。ARM公司现在统一使用MDK-ARM的称呼,MDK的设备数据库中有很多厂商的芯片,是专为微控制器开发的工具。
1、安装MDK-ARM软件,下载链接;
2、未输入许可软件为Lite版本,代码大小限制32Kb;
3、下载MDK上的芯片固件包(DFP),最新版本包链接地址。不过下载速度很慢。找其他人共享在网盘的包也是可以的,下载到电脑后,直接双击打开就会安装固件包。
4.弹出的框中,选择"Flash Download".把右边三个勾勾上,下面的芯片目标选择正确,前提是要安装了芯片的固件包才行。(打开cubemx生产的工程,芯片一般都是选择正确)。最后点击确认。
最后我们的开发环境已经搭建好了。