你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32G0学习手册——开发环境搭建与熟悉(CubeMX与MDK5)

[复制链接]
STMCU小助手 发布时间:2021-11-9 17:00
CubeMX设置
1、在官网下载安装包安装,链接地址;

2、一开始没有对应芯片的固件包,先下载安装。点击"Help—Manage embedded software packages",找到对应的芯片型号等待下载完成;

如果在线安装太慢,可以先下载固件包到电脑,然后导入固件包。

固件包下载地址:链接地址。在"Manage embedded software packages"下方点击"Form local..."安装。

或者在主界面点击(INSTALL/REMOVE)安装本地固件包。

20200418175903466.png


3、在New Project 中选择"Start My project from MCU"(非官方的开发板)找对应的芯片,或者"Start My project frome STBoard"(对应官方的开发板型号),软件就会自动创建工程。

CubeMX界面认识

20200418183040744.png


Pinout&Configuration:用于引脚功能设置,使芯片有特定的功能。(之后会慢慢讲解)

Clock Configuration:时钟树设置。(之后会慢慢讲解)

Project Manger:用于工程项目设置,输出代码设置。

Tools:用于电源管理。

上面“GENERATE CODE”用于生产代码工程。

我们来讲一下"Project Manger"里面的一些设置

CubeMX的Project Manager工程管理器包含:Project(工程管理)、 Code Generator(代码生成)、 Advanced Settings(高级设置)三部分内容。

Project(工程管理)

20200418184246389.png


Project Name:工程名称
Project Location:工程存放路径
Application Struture:应用程序结构
Basic:是基础的结构,一般不包含中间件(RTOS、文件系统、USB设备等)。

Advanced:相反就是包含中间件,一般针对相对复杂一点的工程。

Toolchain Folder Location:工具链文件夹路径
Toolchain/IDE:工具链/开发环境选择
安装自己实际IDE环境来选择,我这里用的MDK-ARM,版本是V5。后面的笔记也是用这个环境(除非用说明)。

堆栈设置:Heap堆为0x200,Stack栈为0x400
MCU参考型号
固件包名称与版本
如你创建了工程后,更新到了最新的固件包。旧工程还是用旧固件包,系统就会提示你"Migrate to the latest supported Fimware version"("迁移到支持的最新固件版本")。

使用默认固件包
Code Generator(代码生成)

20200418185548983.png


Copy all used libraries into the project folder 将所有使用过的库复制到项目文件夹中。
Copy only the necessary library files 只复制必要的库文件。
这个相比上一个减少了很多文件。比如你没有使用CAN、SPI...等外设,就不会拷贝相关库文件到你工程下。

Add necessary library files as reference in the toolchain project configuration file 在工具链项目配置文件中添加必要的库文件作为参考
Generate peripheral initialization as a pair of'.c/.h' files per peripheral 每个外设生成独立的'.c/.h'文件
不勾:所有初始化代码都生成在main.c

勾选:初始化代码生成在对应的外设文件。 如UART初始化代码生成在uart.c中。

Backup previously generated files when re-generating 在重新生成时备份以前生成的文件
重新生成代码时,会在相关目录中生成一个Backup文件夹,将之前源文件拷贝到其中。

Keep User Code when re-generating 在重新生成时保留用户代码
比如:我在main.c中添加了一段代码,重新生成时,会在main.c中保留你之前自己添加的这段代码。

注意:前提是这段代码写在规定的位置。也就是BEGIN和END之间。否则同样会删除。

Delete previously generated files when not re-generated 删除以前生成,但现在没有生成的文件
比如:之前生成了spi.c,现在重新配置没有spi.c,则会删除之前的spi.c文件。

Set all free pins as analog (to optimize the power consumption) 将所有空闲引脚设置为模拟(以优化功耗)
这个做低功耗产品时这个选项有必要勾选。

Enable Full Assert 使能所有断言
Select a template to generate customized code 选择一个模板来生成自定义代码 (还没用过这功能)

Advanced Settings(高级设置)

20200418190332622.png


HAL库类似标准库,LL库更接近寄存器操作。有部分芯片没有LL库。

Not Generate Function Call不生成函数调用
也就是你代码不调用对应初始化函数。

比如:你GPIO项勾选Not Generate Function Call,你main.c函数中就不会调用MX_GPIO_Init这个函数。

Viility (Static)可见性(静态)
这个就是初始化代码声明为static。

提示:

A.有些选项是是默认值,不能修改。如SystemClock_Config配置不声明为ststic.

B.使用static是配合上面Code Generator代码生成章节中Generated files生成文件使用。如果都生成.c .h独立文件了,就不会生成static了。


MDK-ARM软件安装
好了,我们先回到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),最新版本包链接地址。不过下载速度很慢。找其他人共享在网盘的包也是可以的,下载到电脑后,直接双击打开就会安装固件包。

ST-LINK设置
将st-link接入电脑usb,安装驱动。
在mdk软件中,点击魔术棒工具"Options for Target",
在"Debug"选项卡中,选择"ST-Link Debugger",在点击右边的setting

20200418191302857.png 20200418191345700.png


     4.弹出的框中,选择"Flash Download".把右边三个勾勾上,下面的芯片目标选择正确,前提是要安装了芯片的固件包才行。(打开cubemx生产的工程,芯片一般都是选择正确)。最后点击确认。

20200418191425598.png


最后我们的开发环境已经搭建好了。






收藏 评论0 发布时间:2021-11-9 17:00

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版