|
软件平台安装与使用 下面介绍如何使用STM32CubeMX配合keil来编写STM32G474VET6的程序。STM32G4系列其他型号配置过程基本类似。) I2 O0 ^. D z" g$ N0 P 首先下载安装 ST 官网 STM32CubeMX 工具。建议下载都为最新版本。安装过程默认即可,但需要记住安装路径。本教程 keil 使用 V5.38 版本 ARM 5 编译器。' @, K1 c; u! z) [0 c2 v! n 一、STM32CubeMX 的安装 从官网下载最新版本的 STM32CubeMX 安装包,根据系统选择。 & ~$ k# B, q$ u$ k V( q2 L7 ? : P( _, u4 p- E( a! `. K
▲ 图 2.1.1 官网下载安装包 7 b7 j, n8 ?' E* c; |7 s+ h. K6 N& p1 L+ V$ t+ v 1. 软件下载后为 zip 压缩包,解压后得到安装文件; 2. 点击 Next;
▲ 图 2.1.2 Cubemx 安装步骤 1) R" ]) y: R D' z2 g3 E 5 |/ L1 e/ R3 y7 e7 [3. 勾选,然后 Next;
▲ 图 2.1.3 Cubemx 安装步骤 2" x$ A3 e) A. y* _ 7 X0 b$ ]3 O$ E { J6 H. t4 c, F4. 勾选,而后点击 Next;
▲ 图 2.1.4 Cubemx 安装步骤 34 E. b8 n6 a/ {9 s 5. 选择合适的安装路径,点击 Next;(若路径未创建,会提示路径将被创建)
▲ 图 2.1.5 Cubemx 安装步骤 4" w( r2 U# L9 r4 v, }/ X 6. 根据需求勾选,点击 Next;
▲ 图 2.1.6 Cubemx 安装步骤 5! |, N S$ N$ }0 ~# a/ K 7. 程序自动安装,安装完成后,点击 Next;
▲ 2.1.7 Cubemx 安装步骤 6 8. 提示安装成功和一个卸载程序被创建在安装目录的 Uninstaller 文件夹中,点击Done;
▲ 图 2.1.8 Cubemx 安装步骤 7# e1 U! ^: z2 D 7 J X0 ^7 L/ H 二、Keil MDKV5.38 的安装: }; e t4 {; f2 C {2 r 1. 从 keil 官网下载 V5.38 版本的 MDK 安装包。
▲ 图 2.2.1 Keil 安装步骤 1
▲ 图 2.2.2 Keil 安装步骤 2" G& ~( d" v% F9 K" z 2. 选择安装路径
▲ 图 2.2.3 Keil 安装步骤 3" P. {4 C6 e1 W$ _; O 0 N2 n7 o3 e2 Y- g+ U$ j- X0 I3. 填写用户信息
▲ 图 2.2.4 Keil 安装步骤 4; Y5 a/ p; Z+ }, M! ]( O l$ ?# U9 E * S4 U( T* ^- s0 w4. 等待安装完成
▲ 图 2.2.5 Keil 安装步骤 5; \; T" u( D& \ , K4 m$ v3 j3 |. J* B' c) D0 H$ P: F5. 安装结束5 @" `: u9 [8 _3 e1 C/ P
▲ 图 2.2.6 Keil 安装步骤 6 * `/ h! s0 a( K三、安装 G4 的支持包 1. 打开支持包管理器。( q& i4 a3 c9 M% g; c( H" P
▲ 图 2.3.1 Keil 支持包安装步骤 1 N/ W: z% q# z/ W; x$ j- o, o2. 找到 STM32 系列单片机,找到 STM32G4 系列,找到使用的单片机型号,下载安装支持包。, I/ N. D2 L: U2 H% l' _# v
0 Y X6 j' C! f( {$ G$ s4 O" M ▲图 2.3.2 Keil 支持包安装步骤 2 " j( o% O3 z3 s {; q- {! {5 O, W z O 四、使用 STM32CubeMX 创建 MDK 工程 以建立一个简单的 LED 闪烁工程为例,介绍如何通过 CubeMx 创建一个 Keil 工程。& D6 s* T- f: n& L. y& ] 1. 打开 CubeMx,点击 File,选择 New project。
▲ 图 2.4.1 Cubemx 新建工程; y; a: q$ z# G4 i 8 f* N2 t( q3 ^7 l( v2. 通过填写型号寻找单片机,选中具体型号封装双击建立新工程。
▲ 图 2.4.2 选择芯片' y( i4 D6 e" G9 ~/ F, G! d5 u/ c 3. 配置调试方式,此处选择使用 SWD 调试方式。
▲ 图 2.4.3 配置调试方式, B1 h: M4 \( c* \ 0 k* C) d7 I# M) }: u% W4. 配置外部时钟源。此处使用外部高速时钟,使用无源晶振。
▲ 图 2.4.4 配置时钟源) r! Z( H, g. a) g1 l2 V% S* l 5. 点击芯片引脚将所需引脚配置为输出模式。
▲ 图 2.4.5 配置 IO; i8 x( ^8 Z6 g 6. 配置时钟树。将外部时钟输入作为锁相环输入,配置锁相环参数,将锁相环输出作为系统时钟。
▲ 图 2.4.6 配置时钟树6 m( T( A" w1 C( U ( i! W( ?8 _5 _) _( A3 b+ M7. 设置工程名称,路径,使用的 IDE 以及 IDE 版本。
▲ 图 2.4.7 配置工程设置" l# |& G' h0 J * r) `- A. ^& {8 ?8. 设置生成代码库。选择 Copy only the necessary library files。该选项为添加用到的库文件。默认选项会在工程里生成所有的库文件。勾选 Generate periphera initialization as a pair of ‘.c/.h’ files per peripheral。勾选该选项会将每个外设的初始化代码分文件生成,如不勾选会都生成在 main.c 文件中。
▲ 图 2.4.8 配置生成设置 9 O& F$ e, e0 E& g9. 点击 Generate Code 生成工程代码。 4 u) d, i% [3 J, C( L/ L
▲ 图 2.4.9 生成代码 8 @$ R. ^; X4 d8 R) d' P五、使用 Keil 进行程序下载与调试& V8 w4 P& Z# e) ^& V5 S( `5 A 编写完成的程序要下载到单片机中运行。ARM 的调试运行需要仿真器,以使用板载的DAP 仿真器为例进行该程序的仿真运行。 首先需要进行仿真设置。点击 Options of Target,调出设置窗口。在 Debug 选项卡下选择使用仿真器,以及所用的仿真器。CubeMx生成的工程默认选择使用仿真器,使用ST-Link,需修改。
▲ 图 2.5.1 设置仿真器( G4 H2 X# `* z$ I5 F, G1 j7 a: G ~ 9 L! E( J2 d4 @3 r3 ?4 e6 b. T选择仿真器后点击 Setting,对仿真器进行具体设置。选择 SW 调试方式。
▲ 图 2.5.2 调整 DAP 调试方式2 ^1 v9 A1 \4 ]/ b( j 选择 Flash Download 选项卡,勾选 Reset and Run,下载完成后自动复位运行。检查 Flash大小是否正确,如不正确或者未选择 Flash 需手动添加。
▲ 图 2.5.3 确认 DAP 的 FALSH # `4 c* V, v# B. y4 u* X0 ^" J7 _ 选择设置完成且连线正确后点击 Download(F8)下载程序,下载成功后应能成功观测到对应 LED 闪烁。
▲ 图 2.5.4 下载程序 8 L+ `* X6 ^+ J& `: R; G3 ?点击 Start/Stop Debug Session(ctrl+F5)进入调试模式,可对程序进行单步调试,断点调试等操作。在调试模式中再次点击可退出调试模式。
▲ 图 2.5.5 进入调试模式3 a0 O8 C$ l/ ~ r! B# a2 ~ 通过调试工具可控制程序的运行,停止,复位。也能够进行单步运行(执行到下一条可执行语句,遇到函数调用会进入),运行到下一个函数(函数调用不进入),运行到跳出当前函数,运行到光标行。
▲ 图 2.5.6 调试模式基本操作- d, J+ T8 u1 \. a3 C8 @ ` 在代码行号前的灰色区域单击可在此处打断点,程序运行到断点位置处会自动停止。 ▲ 图 2.5.7 断点调试 I! B. y! y5 s, w! ~. w" h5 a5 m( n ; N2 R7 B/ A: t! r; d在观察窗口可观测指定的全局变量当前值。通过观察窗输入可添加变量,或者在代码中右键变量会出现将变量添加到观测框的选项卡。
▲ 图 2.5.8 变量观察窗 ) H3 o" y; `2 `7 R" ^ ?通过右键加入:
▲ 图 2.5.9 添加观察变量 如有侵权请联系删除 U7 v# c) i: _3 q# _) j 转载自:AI电堂 {* L! `; w% T) ?, n: w3 I3 f. d V7 P- | v' A; r/ b) p |
STM32G47x 双 Bank 模式下在线升级
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【经验分享】STM32G4之基本定时器
NUCLEO-G474RE 扩展 LSM6DSO 传感器数据融合实操演示全解析
经验分享 | STM32G474 高精度定时器同步功能全解析 从内部互联到多芯片协同的实现方案
经验分享 | STM32G4双BANK启动应用演示
STM32G4 LPTIM+DMAMUX 实现并行输出应用示例
实战经验 | LAT1578 SAU对NSC分区的影响
经验分享 | STM32G474 HRTIM Triggered-half模式实现两相交错电源180°相位同步方案
STM32大神笔记,超详细单片机学习汇总资料
微信公众号
手机版