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

建立基于STM32CubeIDE的ClassB工程

[复制链接]
STMCU小助手 发布时间:2023-2-14 15:28
1. 前言 大家都知道 ST 的 ClassB 功能安全软件设计包是免费的,也有众多客户基于STM32CubeIDE 免费的 IDE 进行开发,本文档将展示如何轻松的实现 ClassB 在STM32CubeIDE 上的移植。# q) l6 ^/ W: E0 s' X

7 f- w( g& P$ @( J$ K4 l+ R

  S3 c$ i: m6 u( b: F$ L2. 准备 * r, G8 P/ w3 k  J) k
硬件:NUCLEO-G070
, i5 e. [" u6 A7 R, f( J% r软件:X-CUBE-CLASSB version 2.3.0
1 _& T/ m" o6 V, n: F
( [* x- z- X) q1 G: b

/ |0 _2 R3 l8 \9 X6 t" i; H3. 创建 CubeMX 工程
/ w! D+ I; f! m1 f在 CubeMX 中创建闪灯和串口打印的基础工程,并在实验板上验证工程的正确性。
& [" \% t4 I& b% @7 L5 ~: r' m然后继续配置 IWDG、WWDG、CRC 外设。为了避免程序在移植和调试时产生复位,可以在 CubeMX 中配置为不调用。 + W  J% _1 I, [9 `$ w0 R7 C: W1 _
5 H" U( o2 p# ^/ p# i/ T, t
) h* i; P+ j0 ], ?1 _, Z
SY35SDBPF[Q4NJ~696HC)(X.png
5 e3 W  A& R3 r& q. a1 x. C
" l4 Y& M* U1 }8 W, |
( [) o/ u3 N$ {& z
将 X-CUBE-CLASSB V2.3.0 中整个 Middleware 文件夹复制到目标工程目录下: . Q( |  w* M% w  l. P8 p- T

3 F4 c! W& I6 l- u  h

4 y* _3 k' u, ]  c' Q3 M P`ZE7DA][XY(0QWH0C@TU_B.png . x+ U/ W  s0 j0 X
" o  m4 W' J4 V# P0 A' ~2 ?
# Q' ]$ _; b- a. o
复制 ClassB 相关的 3 个汇编文件,如下图所示:
2 X3 l5 l  B& B) K! ]
1 a% E6 V1 {' j) E1 p3 ]

1 V$ I( L' V/ v- _  a! D" Y$ \! Y- { UJI~P1N2`V@A}UJ($SUCEJ3.png 6 H  [" z; K: O3 V; F  ]) Z  _
5 i: z( W; W+ z) |, v: n# O

. J: B1 c0 F/ p6 b9 H0 V% o9 }  X复制“crc_gen_gcc.bat”脚本(注意要修改 bat 中的工程名称):' k, n: D6 t5 s( O4 ?
% }  i- E9 D# r: E3 l- C8 a
0 u3 ~% m) h) J) Z
_$T@@])@Y(SL){VJBIJ3T@Y.png
, r/ E( J4 H5 Y. I1 x8 U+ b1 a; k3 r) [% t( ~- B  r
) a: T4 W: I) M9 N, I4 j
修改 bat 文件中的名称为对应工程的名称:
+ B! k3 D/ ?; e( L7 q0 N0 u9 X  f( f
. a2 d. |0 O1 z2 q

9 U# j) p! z- R2 C8 P A8YP7FOW28VR359YS{8P$%N.png
$ Z3 M2 C2 B4 }, Q/ E: }* `% M3 M4 t  Z/ @+ b) `
$ F# D9 T$ `  r
修改 ld 链接文件,添加 ClassB 相关的 section 信息:
7 B6 V+ i. F3 \& b9 v$ o" V$ t
* h/ Q+ O5 m& G& U8 [7 B4 U0 A. c& m
% b1 `$ H3 G6 Y/ b& \, c
T6IH98VKIXIP0$AJK76SVM2.png * g) c2 t% }: b: l  L/ j
* ]* N% u. C( C

' o2 E# _- Z' G% y5 S9 g添加 ClassB 文件的路径和文件夹:1 E2 R' k- U3 S# T. z! A$ C+ }) o

0 Y. V& B4 B$ ^0 w1 O8 }0 t( P
% y/ C: D: A, p1 s- c# B
9VH{UC2(JKD2BZ4DFQW2{9Y.png
4 m" i9 I7 j: X' m2 O* m5 Q% a* n' e
8 S4 N. n: W8 g' E; K! |2 ?% Q( z" f& \
复制“stm32xx_STLparam.h”到目标工程的 inc 文件夹下:$ _+ n' j- k0 ^( d* Z8 o
1 T* \- @2 h7 F* ?- n
3 @; t1 G2 j7 K
V~ZKXXE86KSP6OV~X4Q)K5E.png
- R( S; I- A" k9 K# W6 N5 T% \7 G# f4 W6 m4 r7 c9 Z( l# b
' }! f' A; i6 Q- T+ {' f# _4 U
在 main.h 中添加必要的宏定义
+ Y0 S, X% k8 Q$ B#define USARTx USART12 k$ I2 Z6 g/ F, K, e
#define MAX_FLASH_LATENCY FLASH_LATENCY_1
7 q- E3 }" H, _0 {2 J3 q, u#define __HAL_RCC_CLEAR_FLAG __HAL_RCC_CLEAR_RESET_FLAGS
) X8 Z5 R. x4 @5 W: d' d2 R#define USART_Configuration MX_USART1_UART_Init( E; y5 C8 X; [, H! \9 Y' w
7 ~" s* L! y" n& @6 D. ~

. Y# N! p) W# w4 z. d4 h! w完整版请查看:附件 建立基于STM32CubeIDE的ClassB工程_v1.0.pdf (446.83 KB, 下载次数: 15)
赞 收藏 评论0 发布时间:2023-2-14 15:28

举报

0个回答

所属标签

相似技术帖

官网相关资源

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