STMCU小助手
发布时间:2021-11-9 17:00
|
CubeMX设置. _4 _0 `, P+ b' n8 A' R 1、在官网下载安装包安装,链接地址;( r" Q/ k2 V3 w6 b 2、一开始没有对应芯片的固件包,先下载安装。点击"Help—Manage embedded software packages",找到对应的芯片型号等待下载完成;+ M) }+ J- Q" v4 K2 y0 o n8 } 如果在线安装太慢,可以先下载固件包到电脑,然后导入固件包。 . m8 G) ?; }# e! K2 J3 X$ S 固件包下载地址:链接地址。在"Manage embedded software packages"下方点击"Form local..."安装。 或者在主界面点击(INSTALL/REMOVE)安装本地固件包。 4 L8 j& I! `4 M3 ]; f2 e+ ]0 C, D; c
# h+ {2 R, n$ Q+ ~1 G 3、在New Project 中选择"Start My project from MCU"(非官方的开发板)找对应的芯片,或者"Start My project frome STBoard"(对应官方的开发板型号),软件就会自动创建工程。4 [0 W" _3 G& p# t. M! M1 o8 M $ D5 y' X6 a) d& I CubeMX界面认识
Pinout&Configuration:用于引脚功能设置,使芯片有特定的功能。(之后会慢慢讲解) # ^8 u g" O8 b3 C4 s# ^$ w Clock Configuration:时钟树设置。(之后会慢慢讲解)' R9 {& _4 [2 _/ ~ Project Manger:用于工程项目设置,输出代码设置。8 e4 E% _9 p" g5 n |! n 3 \9 ~1 w/ Z5 r6 g3 h" i8 W Tools:用于电源管理。/ X3 A7 a% G6 ^$ d! I0 s( j7 z3 [7 b 上面“GENERATE CODE”用于生产代码工程。" E# D9 _+ ~2 F$ l: J; x0 [ 我们来讲一下"Project Manger"里面的一些设置 : n9 w1 G( ]' G CubeMX的Project Manager工程管理器包含:Project(工程管理)、 Code Generator(代码生成)、 Advanced Settings(高级设置)三部分内容。, U* k8 _4 c$ i4 v4 i* B . {* H+ G4 Y' @; H) a* ^, p3 N Project(工程管理); e2 o( @2 L# y* L; i
Project Name:工程名称 Project Location:工程存放路径0 H8 R) M7 E4 g+ ~0 d3 U1 C2 Q/ a Application Struture:应用程序结构/ \* V7 [' m0 G4 ^9 j2 V Basic:是基础的结构,一般不包含中间件(RTOS、文件系统、USB设备等)。 Advanced:相反就是包含中间件,一般针对相对复杂一点的工程。 2 Q' N: | i4 o0 u) _ B0 n4 O, r Toolchain Folder Location:工具链文件夹路径6 }) U4 l' Q( {7 d0 N- E: R X8 V Toolchain/IDE:工具链/开发环境选择 安装自己实际IDE环境来选择,我这里用的MDK-ARM,版本是V5。后面的笔记也是用这个环境(除非用说明)。 堆栈设置:Heap堆为0x200,Stack栈为0x400 MCU参考型号8 V, D( y* h: T0 a$ i* Z; C 固件包名称与版本 如你创建了工程后,更新到了最新的固件包。旧工程还是用旧固件包,系统就会提示你"Migrate to the latest supported Fimware version"("迁移到支持的最新固件版本")。 * f0 O9 H3 n& O9 N, V 使用默认固件包# W- v- \3 R5 t7 s1 L; u1 U% o% h7 S Code Generator(代码生成)
* w* A# Y1 h! U0 P, y, | Copy all used libraries into the project folder 将所有使用过的库复制到项目文件夹中。) f/ m2 L- e) }" ?) P8 G Copy only the necessary library files 只复制必要的库文件。( z5 w3 |3 n$ V" h, i1 ^0 K8 \ 这个相比上一个减少了很多文件。比如你没有使用CAN、SPI...等外设,就不会拷贝相关库文件到你工程下。 Add necessary library files as reference in the toolchain project configuration file 在工具链项目配置文件中添加必要的库文件作为参考; d7 l$ S& e' v! w! f/ E Generate peripheral initialization as a pair of'.c/.h' files per peripheral 每个外设生成独立的'.c/.h'文件" W, A) {( ?( z' t 不勾:所有初始化代码都生成在main.c 5 `" t2 P( ]( y) y4 v. ~* T 勾选:初始化代码生成在对应的外设文件。 如UART初始化代码生成在uart.c中。3 V6 y3 ?; E9 N) V0 Y + I' U$ Z: e. v* M7 H3 G; E Backup previously generated files when re-generating 在重新生成时备份以前生成的文件 重新生成代码时,会在相关目录中生成一个Backup文件夹,将之前源文件拷贝到其中。, U- c; w D, D! Y8 c5 Q ~. N# w: y( | Keep User Code when re-generating 在重新生成时保留用户代码. E0 e; x( X0 ?" ^# O+ x, c 比如:我在main.c中添加了一段代码,重新生成时,会在main.c中保留你之前自己添加的这段代码。 注意:前提是这段代码写在规定的位置。也就是BEGIN和END之间。否则同样会删除。" P/ K( _) s1 a. X9 J3 t" C; S Delete previously generated files when not re-generated 删除以前生成,但现在没有生成的文件 + z0 A( V8 e- o/ A6 i0 t 比如:之前生成了spi.c,现在重新配置没有spi.c,则会删除之前的spi.c文件。/ e R- { u6 I* f, v, C# A* N% c5 W Set all free pins as analog (to optimize the power consumption) 将所有空闲引脚设置为模拟(以优化功耗)" r3 F% K) v3 L2 n, L `; J- s b 这个做低功耗产品时这个选项有必要勾选。% G( t T& }3 m$ H4 ]! B$ c4 d Enable Full Assert 使能所有断言 Select a template to generate customized code 选择一个模板来生成自定义代码 (还没用过这功能) Advanced Settings(高级设置) % J# J! P5 ?) j$ N0 k0 l
+ o; ^& a5 _ o1 O6 [2 y% Y5 h HAL库类似标准库,LL库更接近寄存器操作。有部分芯片没有LL库。4 K4 `) F' A4 i7 `* i* ]6 ? 9 D7 j, ]: o( l$ m- f& h, l( r Not Generate Function Call不生成函数调用" l! {2 F3 h. P# H4 V( ? 也就是你代码不调用对应初始化函数。; P2 ^% w% Z9 B8 f+ [ 比如:你GPIO项勾选Not Generate Function Call,你main.c函数中就不会调用MX_GPIO_Init这个函数。 Viility (Static)可见性(静态)3 R" Y4 Q6 L& a$ ] 这个就是初始化代码声明为static。5 i d. k9 ?: w. k* { 提示:2 n" X' ^6 j, g) j4 H- x1 o2 w 5 I, s* u# S% ]% A M J u A.有些选项是是默认值,不能修改。如SystemClock_Config配置不声明为ststic. B.使用static是配合上面Code Generator代码生成章节中Generated files生成文件使用。如果都生成.c .h独立文件了,就不会生成static了。 6 \3 i& V* F& c, x" }& R5 S& ?* @0 q . R; ?; ^2 l* P' E" b MDK-ARM软件安装 好了,我们先回到MDK-ARM软件的安装。! @& _' z5 K4 a7 C KEIL是公司的名称,有时候也指KEIL公司的所有软件开发工具,目前2005年Keil由ARM公司收购,成为ARM的公司之一。 uVision是KEIL公司开发的一个集成开发环境(IDE),目前最新的版本是uVision5。 - d ~3 H" y* S* s) o( t7 C8 M MDK(Microcontroller Development Kit),也称MDK-ARM、KEIL MDK、RealView MDK、KEIL For ARM,都是同一个东西。ARM公司现在统一使用MDK-ARM的称呼,MDK的设备数据库中有很多厂商的芯片,是专为微控制器开发的工具。% T3 q& _+ E# L! h0 e+ X 1、安装MDK-ARM软件,下载链接; - S1 o" X. W! a1 ] 2、未输入许可软件为Lite版本,代码大小限制32Kb;, }1 z' j5 r" L: Z" H0 c. _ : W5 ?- o$ p3 s, n' x7 U4 a 3、下载MDK上的芯片固件包(DFP),最新版本包链接地址。不过下载速度很慢。找其他人共享在网盘的包也是可以的,下载到电脑后,直接双击打开就会安装固件包。$ h# \& m, Y N9 a$ K8 @. H: R5 ^ , ~. [1 m4 W" C" X! a. G' T ST-LINK设置 将st-link接入电脑usb,安装驱动。 在mdk软件中,点击魔术棒工具"Options for Target",* [/ R& v/ Z. d9 p1 N! B7 t3 q, l/ v 在"Debug"选项卡中,选择"ST-Link Debugger",在点击右边的setting
4.弹出的框中,选择"Flash Download".把右边三个勾勾上,下面的芯片目标选择正确,前提是要安装了芯片的固件包才行。(打开cubemx生产的工程,芯片一般都是选择正确)。最后点击确认。, L2 q: v- H! S' k# G$ E
最后我们的开发环境已经搭建好了。 Y1 x% s7 {( Z; H e 7 Y' S/ {$ P- ~* x( j7 J( s |
微信公众号
手机版