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

建立基于STM32CubeIDE的ClassB工程

[复制链接]
STMCU小助手 发布时间:2023-2-14 15:28
1. 前言 大家都知道 ST 的 ClassB 功能安全软件设计包是免费的,也有众多客户基于STM32CubeIDE 免费的 IDE 进行开发,本文档将展示如何轻松的实现 ClassB 在STM32CubeIDE 上的移植。: k! g2 z0 b: i$ K- R/ d1 V7 U
$ I' b5 W! ^1 u8 q- [

' a, h& w- a" h, `" c2. 准备
! ~( F% u( Y5 p# F! u硬件:NUCLEO-G070 , K, ~3 b6 }( O
软件:X-CUBE-CLASSB version 2.3.03 d7 l# ?, u. W. |' B+ J$ X8 P
9 u7 F! m6 Y& Z4 R$ J! x  e' F: M

( u4 Z- I- z9 L' a+ U3. 创建 CubeMX 工程
7 U. A- Y6 p* O6 k. t; U0 C在 CubeMX 中创建闪灯和串口打印的基础工程,并在实验板上验证工程的正确性。 5 G! R' z. X4 U9 v& E
然后继续配置 IWDG、WWDG、CRC 外设。为了避免程序在移植和调试时产生复位,可以在 CubeMX 中配置为不调用。
: O( W6 o  ~* A3 c# n4 _( ^& v8 ^' i0 K- C
) G; |# S; T; d) {! [

4 F& F1 k) t3 e6 _3 S4 z/ @ SY35SDBPF[Q4NJ~696HC)(X.png
  ?( K. l* ~4 Q' L7 `- r  _( }0 |
. U6 p0 a  t/ b6 S( {& n2 v. J
) M& w# d" h- p. v/ y& \
将 X-CUBE-CLASSB V2.3.0 中整个 Middleware 文件夹复制到目标工程目录下:
  m2 a3 \: y' x! O" p1 _, w# U2 E2 O( F$ p6 `& D- N" [* O" F! @0 _
  z% b1 h2 u! N& ?1 T' v
P`ZE7DA][XY(0QWH0C@TU_B.png
  V* Y+ P' {7 W6 y" Q/ Z. ]6 l% Q* p, Y$ u" u, W4 d2 G2 B
4 A' k8 ]# n; I" E) @6 F/ e& c
复制 ClassB 相关的 3 个汇编文件,如下图所示:
6 [8 G6 Q9 x3 @( A9 y0 c% ?- G, G. @  R

4 m7 [% t: B, Z1 L4 n+ [2 v- h UJI~P1N2`V@A}UJ($SUCEJ3.png
: i  l1 j4 P) j
- b) b3 p5 p! i" i4 p8 H4 F
% _/ p4 i4 E) D2 c$ D9 I  O' o
复制“crc_gen_gcc.bat”脚本(注意要修改 bat 中的工程名称):- p- P) J* o' U7 x

1 ~! I5 r9 ?% w0 T% T7 I* q# h
4 T! |% |  Z2 ]; l7 C. o- Y
_$T@@])@Y(SL){VJBIJ3T@Y.png ! M6 S( p: i$ g8 Q3 X
5 T- ^" c3 I$ e: [

# \% c; u  |, B* e7 [% b修改 bat 文件中的名称为对应工程的名称:
$ V1 n+ \0 L. F- y, J, H
, V+ }+ m/ I# ]( z9 O- j) w
: `. Q" m; F" b0 ?& Q& v  O( [
A8YP7FOW28VR359YS{8P$%N.png 6 D: g) v* m+ u

$ s: S0 p" {! U; t1 `/ @2 U( I* h
8 |$ G* a4 p" w1 ]; [5 h3 n8 `
修改 ld 链接文件,添加 ClassB 相关的 section 信息:
+ {$ t1 ?# F6 O% h* {
2 K9 b- F4 F+ D8 J: f/ z& I

1 q% e2 g; a/ s+ o* G# U0 o T6IH98VKIXIP0$AJK76SVM2.png
  t& C- X' y4 g7 Y$ G4 ]1 N  M  R( a8 X- ?0 @

5 Q( Z) A7 O! a6 `; N  b添加 ClassB 文件的路径和文件夹:. m$ ?  d" `2 H. D( S
4 `* o4 D" C( t* p/ S1 k

9 @! J# R3 z/ q+ J 9VH{UC2(JKD2BZ4DFQW2{9Y.png
6 s# q8 m7 z, U4 {* w. k8 |# {! n$ @( ~0 Y( R6 T
: H$ l1 ^; \2 p" l5 s
复制“stm32xx_STLparam.h”到目标工程的 inc 文件夹下:5 |, }: E$ t; M' U( E

! |% t' a" \# q0 B

: J3 S: j: b( e1 z V~ZKXXE86KSP6OV~X4Q)K5E.png ' J" h8 L$ l; m* u
: d' ?0 H, b1 @8 O9 V& ?- y* B
+ \: Z& E; [1 \' H2 f' H
在 main.h 中添加必要的宏定义
) z9 Q' I/ e: b* c* ^* B#define USARTx USART1
% s3 h# k: y1 |8 l2 {#define MAX_FLASH_LATENCY FLASH_LATENCY_11 G8 X; C5 o2 g) Y0 |
#define __HAL_RCC_CLEAR_FLAG __HAL_RCC_CLEAR_RESET_FLAGS" d: [2 U. D5 K3 ]
#define USART_Configuration MX_USART1_UART_Init
9 H5 K6 S0 y$ F6 Z! o
4 Y5 @" v" c% B& o" X& \6 R3 c% A8 c
% V9 I' i( C7 m6 b
完整版请查看:附件 建立基于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 手机版