STMCU小助手
发布时间:2021-11-9 17:00
|
CubeMX设置* N% f- i: i1 d4 v; { 1、在官网下载安装包安装,链接地址; ; @6 P& x, L4 T- R 2、一开始没有对应芯片的固件包,先下载安装。点击"Help—Manage embedded software packages",找到对应的芯片型号等待下载完成;& r8 H( S5 D! } 6 g& p' L8 t% T 如果在线安装太慢,可以先下载固件包到电脑,然后导入固件包。 固件包下载地址:链接地址。在"Manage embedded software packages"下方点击"Form local..."安装。/ F# M9 H2 F4 S) F$ c9 ?% h 9 A/ W; u O2 k+ {& z 或者在主界面点击(INSTALL/REMOVE)安装本地固件包。* A% u% F+ p% k i0 r ! q# @3 n: C* S6 p7 o; l
0 x) L) ]) U; v' ?+ {- t4 o* I7 D 3、在New Project 中选择"Start My project from MCU"(非官方的开发板)找对应的芯片,或者"Start My project frome STBoard"(对应官方的开发板型号),软件就会自动创建工程。. p/ ?5 X! n! S7 F, }6 y# l - D! K. p2 w( W# o' p4 l5 K: y CubeMX界面认识! i) w) e# v, S {& Y' t+ w) l
Pinout&Configuration:用于引脚功能设置,使芯片有特定的功能。(之后会慢慢讲解) ( |7 J& R; P/ Z/ t Clock Configuration:时钟树设置。(之后会慢慢讲解)0 k6 d% F2 _$ F% W' { Project Manger:用于工程项目设置,输出代码设置。# T( X5 t' B, P! z1 b1 W 4 y- E6 H- u, z# [$ T" q) ^# o6 M* ] Tools:用于电源管理。1 N4 u0 E A+ P* _, r " M; Q& n* h8 Z! ] 上面“GENERATE CODE”用于生产代码工程。 我们来讲一下"Project Manger"里面的一些设置 CubeMX的Project Manager工程管理器包含:Project(工程管理)、 Code Generator(代码生成)、 Advanced Settings(高级设置)三部分内容。 " G* r1 M& c- @8 j9 I7 Q$ ~1 N Project(工程管理)7 d9 _* P, D& Q/ r6 m9 S8 g% O- {/ c |0 i1 v
$ x$ u' a" B! i Project Name:工程名称 Project Location:工程存放路径/ S0 Q4 m7 p. Z$ E6 _ Application Struture:应用程序结构/ V1 @, I* }! l. O' x Basic:是基础的结构,一般不包含中间件(RTOS、文件系统、USB设备等)。% x% N' {( k) a- D( d/ P- p Advanced:相反就是包含中间件,一般针对相对复杂一点的工程。* j2 d$ w0 n; Z# q, t+ g6 h% H 4 w8 O( j9 p- S/ I9 I! |7 P Toolchain Folder Location:工具链文件夹路径! G( R4 G- Y" W8 w( {5 }* ? Toolchain/IDE:工具链/开发环境选择 安装自己实际IDE环境来选择,我这里用的MDK-ARM,版本是V5。后面的笔记也是用这个环境(除非用说明)。 堆栈设置:Heap堆为0x200,Stack栈为0x400 MCU参考型号 固件包名称与版本. M5 v4 x2 I0 q% U$ K4 g 如你创建了工程后,更新到了最新的固件包。旧工程还是用旧固件包,系统就会提示你"Migrate to the latest supported Fimware version"("迁移到支持的最新固件版本")。 使用默认固件包 Code Generator(代码生成) , E1 H: N8 b, m/ _
. m% H2 T7 v6 \& v, C Copy all used libraries into the project folder 将所有使用过的库复制到项目文件夹中。6 T" S) b3 `- r. ^ Copy only the necessary library files 只复制必要的库文件。 这个相比上一个减少了很多文件。比如你没有使用CAN、SPI...等外设,就不会拷贝相关库文件到你工程下。. o4 F$ V; S! u4 s0 F# T8 S . }) \! S" Z9 t0 O4 \ 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 ' s2 M1 ?4 k" d+ P, A1 g; p% g 勾选:初始化代码生成在对应的外设文件。 如UART初始化代码生成在uart.c中。 % V- ~( ?7 g3 ?+ |8 l F Backup previously generated files when re-generating 在重新生成时备份以前生成的文件4 `4 e! w8 `, q" K5 P7 E 重新生成代码时,会在相关目录中生成一个Backup文件夹,将之前源文件拷贝到其中。 m+ i. t7 w, ^ Keep User Code when re-generating 在重新生成时保留用户代码 比如:我在main.c中添加了一段代码,重新生成时,会在main.c中保留你之前自己添加的这段代码。 3 i' g0 g3 j- } 注意:前提是这段代码写在规定的位置。也就是BEGIN和END之间。否则同样会删除。* y4 s8 h' o: g( U8 L4 F6 _" c Delete previously generated files when not re-generated 删除以前生成,但现在没有生成的文件 比如:之前生成了spi.c,现在重新配置没有spi.c,则会删除之前的spi.c文件。 % `) N. q* K n( a) g; G Set all free pins as analog (to optimize the power consumption) 将所有空闲引脚设置为模拟(以优化功耗)8 C; [/ `- e; D 这个做低功耗产品时这个选项有必要勾选。 Enable Full Assert 使能所有断言' I! V+ Z# }7 r; D" { Select a template to generate customized code 选择一个模板来生成自定义代码 (还没用过这功能) Advanced Settings(高级设置)! a- I" n) _4 T# m2 J 8 r7 z" X! N% T6 P* o
HAL库类似标准库,LL库更接近寄存器操作。有部分芯片没有LL库。 / m% K& e7 U8 t: B, ^7 i Not Generate Function Call不生成函数调用 也就是你代码不调用对应初始化函数。 比如:你GPIO项勾选Not Generate Function Call,你main.c函数中就不会调用MX_GPIO_Init这个函数。 6 u8 e8 e8 E* [' p& S- T) @7 c" n9 Z2 d+ F Viility (Static)可见性(静态)0 J/ B0 N- J! G l- a6 F+ d7 S8 i 这个就是初始化代码声明为static。+ k, x# f6 W9 ^% g# U1 O5 O, H2 b 提示: 2 y% Z, g* E; K* n z3 X+ {" m4 m A.有些选项是是默认值,不能修改。如SystemClock_Config配置不声明为ststic.1 E E! |. c, \2 M4 E/ _' o( d* f B.使用static是配合上面Code Generator代码生成章节中Generated files生成文件使用。如果都生成.c .h独立文件了,就不会生成static了。 MDK-ARM软件安装 好了,我们先回到MDK-ARM软件的安装。 KEIL是公司的名称,有时候也指KEIL公司的所有软件开发工具,目前2005年Keil由ARM公司收购,成为ARM的公司之一。- Z7 V1 i7 f, G2 W) q# V uVision是KEIL公司开发的一个集成开发环境(IDE),目前最新的版本是uVision5。 MDK(Microcontroller Development Kit),也称MDK-ARM、KEIL MDK、RealView MDK、KEIL For ARM,都是同一个东西。ARM公司现在统一使用MDK-ARM的称呼,MDK的设备数据库中有很多厂商的芯片,是专为微控制器开发的工具。 1、安装MDK-ARM软件,下载链接; 9 ^8 c: N$ _9 u. a 2、未输入许可软件为Lite版本,代码大小限制32Kb; 3、下载MDK上的芯片固件包(DFP),最新版本包链接地址。不过下载速度很慢。找其他人共享在网盘的包也是可以的,下载到电脑后,直接双击打开就会安装固件包。* F7 K% {* U$ ^. s ST-LINK设置 将st-link接入电脑usb,安装驱动。4 Z; z& Q5 |" W. D- q1 ]: H0 Z 在mdk软件中,点击魔术棒工具"Options for Target",8 V& x* `+ j Y9 n 在"Debug"选项卡中,选择"ST-Link Debugger",在点击右边的setting& i9 r4 M9 T8 e3 U 3 g; x8 y- z6 D0 { ^3 g$ @" Y
5 n, S6 |, Y# Z! g+ L& B7 O 4.弹出的框中,选择"Flash Download".把右边三个勾勾上,下面的芯片目标选择正确,前提是要安装了芯片的固件包才行。(打开cubemx生产的工程,芯片一般都是选择正确)。最后点击确认。6 D& K. S" c- L, g* O8 e& ] 7 r3 k s' q0 K0 Z9 {$ P
i \3 s" |/ l! X- }8 I a0 e 最后我们的开发环境已经搭建好了。9 Z3 |3 h$ T: k2 `$ g& n' N: | 0 Y0 Y& _! }5 _3 r0 e% N1 [/ S" B / |7 u. \- p+ t4 }9 p7 {9 f , D+ _1 h8 \. B$ R 3 X4 V) I" ~" T0 E. M' B7 o6 y - F5 B/ n$ _- X, ? |
微信公众号
手机版