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

STM32CubeIDE开发M4—点亮第一个LED灯

[复制链接]
STMCU小助手 发布时间:2022-8-27 14:35
一、搭建开发环境并新建工程1 S. E% d$ U* R" M2 r+ x+ a( e

1 C8 e( b; Y6 {- G: A) {: \二、编写代码,使LED闪烁
; o4 c; R4 c$ v6 e0 c( U' P) B在main.c的while循环中加入如下LED闪烁代码! B3 c+ X0 Z  p, }% D

. u2 S5 N) e$ s" N4 L; B7 T6 a
  1. HAL_GPIO_WritePin(GPIOG, GPIO_PIN_8, GPIO_PIN_SET);         //设置 GPIOG 8 引脚输出高电平
    / B# `5 P8 v7 X3 E0 F  |8 v- y3 G
  2. HAL_Delay(500); //延时 500 毫秒& M# G$ F$ S9 v" H) b2 k  n9 ~
  3. HAL_GPIO_WritePin(GPIOG, GPIO_PIN_8, GPIO_PIN_RESET);         //设置 GPIOG 8 引脚输出低电平
      }$ F4 W4 y9 K6 j4 f" f
  4. HAL_Delay(500); //延时 500 毫秒
复制代码

# y% Y/ b1 m& H, u. m! b) ~ 20200925150457245.png
  G2 d6 u, n% n. q" `' v2 S7 ^
然后点击保存4 m$ ~5 j& f) b7 {8 g0 b  R$ g% M
# G6 }2 u" \: x1 |# I
三、编译工程  Y% {  b, i# A) P
选中工程,右击,选择【Build Project】,开始编译工程
0 v% V2 w# M3 [ 20200925150220484.png + D/ c% {% r3 d; f
3 R5 o% V0 q& U* A: e
编译成功后可以在控制台看到编译成功的信息
  `. M. X4 @) i% W! j# ]
% m- S' m2 e9 M: L! M0 j 20200925150645769.png
/ q! |1 Q4 Q4 q! i  x
. o3 l* I7 E8 Z同时也可以看到其生成的目标二进制文件在【Debug】目录中% e, M+ h0 ^, i$ r3 L" n

0 ^( R2 }; o3 H6 A5 x7 O* v$ y8 m4 Y) R3 E9 a6 D. j
# a# x! e: v- i0 C% K& @. m
四、上传二进制文件到开发板' O7 z0 `. m; t; f; W
启动开发板,进入Linux系统,联网,并和电脑处于同一网段,然后进入/lib/firmware目录,然后将之前生成的二级制文件放在该目录下,可有多种方式,例如:
: m& k$ W$ q5 b- g0 |方式一:使用【MobaXterm】可以直接拖拽进入,或者点击上传按钮上传3 f; |  m# I- Y; t, j4 ?

- \  B+ I* S) [+ j% w# f 20200925153345347.png * x+ s9 g1 B- o  m) I1 f

# ^# w" @% B* {9 `方式二:使用scp命令,在二级制文件目录下打开命令行窗口,
/ x2 |0 N% t' I" ?+ m1 l" h! n+ u: I! v1 E$ u9 f
  1. scp STM32MP157D_Prj_CM4.elf :/lib/firmware/
复制代码

- W: C8 U! X1 x) k0 o$ i/ D! t 20200925154108804.png * V, s! a. q' @+ F# W
$ g$ ~3 H* F# I1 n# y
上传完成后即可在/lib/firmware目录下看到该二进制文件
( g$ u) l5 y' J1 Y9 h3 a! \
% o4 y7 X; K/ x' W/ `% J( ^ 20200925154331740.png
# s9 s. O0 g/ `* i! e
6 r  K/ l2 d  {' \: A, C五、加载运行- }+ ?+ O) A+ L4 U5 Z5 u9 I' M; S) M
使用如下命令启动运行M4的固件7 |5 l: r2 \7 m

$ J" u! W* h9 f3 w; l) c
  1. echo STM32MP157D_Prj_CM4.elf > /sys/class/remoteproc/remoteproc0/firmware
    ! j' {" d6 Z1 @. y% ?) p! b3 {
  2. echo start > /sys/class/remoteproc/remoteproc0/state
复制代码
其中第一条命令为加载固件,第二条命令为启动M4,使用如下命令停止M4运行
9 k& O- e4 H' Z0 t' M0 S4 k
1 k: d7 N% N& n' G5 J' R6 {( D
  1. echo stop > /sys/class/remoteproc/remoteproc0/state
复制代码
$ T. N0 [4 W& M+ s/ d
启动M4后可以看到黄色LED灯闪烁,停止M4后黄色LED停止闪烁。3 r' t- y. c5 Y

( l. U* g$ f( V$ ~( M2 Z' Z! G( Y 20200925160702532.gif
+ o. p8 e( o/ r6 T
! Q# g$ M: Y" r" |6 ~0 e六、使用ST-Link调试

. m$ g: h! r! w& s4 S& Q9 w+ wM4 的调试方式有两种:工程模式( Engineering Mode)和量产模式( Production Mode)。
; q/ ]6 v( Q, B1.工程模式:类似 STM32 单片机烧写到 RAM, M4 启动,无需 A7 加载。 因为烧写到 RAM 里, 掉电程序消失,一般用于调试。
# A1 g+ a; R$ R) T5 ^2.量产模式:A7 启动后,通过 Remoteproc 服务启动 M4, 固件先被存放在 Flash,掉电不会消失,但需要 A7 先启动,引导 M4 启动,用于实际部署。
  g6 [" c1 `# h+ m( @8 k+ u- t; j5 l. c. ]
将STlink连接到开发板,然后将拨码开关从EMMC模式(010)设置为调试模式(001),然后开启电源开关# R9 i3 ~) F  n' z. h# q
$ |$ K$ @3 C, |' j# q' {1 ?3 P5 F
20200925163952196.png : z/ t/ G% ~/ s( o: v3 ?
/ D4 E2 i6 _4 E9 D1 ^. Z
接下来在STM32CubeIDE菜单栏点击【Run】->【Debug Configurations】
1 k8 A# d" U& s& p  F! H6 g% R# v+ ]: A7 G$ u2 W; {  ~" n
20200925164306237.png
) g$ F) b3 ~  P& \
9 t; |& W) {' \6 G5 f/ ?2 U, F9 A首先点击【STM32 Cortex-M C/C++ Application】,然后新建调试“ New launch configuration” ,然后就会默认选择之前生成的二进制文件,
( g& h: Z) ?  V$ M: W: N: ?; E, z9 }( h: A
2020092516464267.png - L& O# {2 s2 T8 i
* I4 c6 Y( Y7 S7 ]
然后切到【调试器】标签页,在【Load Mode】单选框里选择【thru JTAG/SWD link(Engineering mode)】,
- }6 f. ?/ `) U- X6 D也就是工程模式, 调试探头选择默认的【ST-LINK(OpenOCD)】, 最后点击【Debug】开始调试, 如图所示。, C+ t. C0 Y4 k7 h% b
& C) k0 s- N1 Q$ r, a+ |! n  l
20200925164904176.png % d- R4 X' a1 a

% S2 k, [3 v6 T0 I- L" U8 q————————————————% v: h* _% z3 E
转载:Willliam_william$ Q" y. l* |$ h+ [) g  F7 B

9 _3 }) C6 n- t/ F2 i: M# x
7 D* x* \) ?" p$ R: F0 j% y4 H
20200925151148473.png
收藏 评论0 发布时间:2022-8-27 14:35

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版