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- [ 2. 准备 硬件: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 3. 创建 CubeMX 工程 在 CubeMX 中创建闪灯和串口打印的基础工程,并在实验板上验证工程的正确性。 5 G! R' z. X4 U9 v& E 然后继续配置 IWDG、WWDG、CRC 外设。为了避免程序在移植和调试时产生复位,可以在 CubeMX 中配置为不调用。
) M& w# d" h- p. v/ y& \ 将 X-CUBE-CLASSB V2.3.0 中整个 Middleware 文件夹复制到目标工程目录下: # U2 E2 O( F$ p6 `& D- N" [* O" F! @0 _ z% b1 h2 u! N& ?1 T' v
6 l% Q* p, Y$ u" u, W4 d2 G2 B 4 A' k8 ]# n; I" E) @6 F/ e& c 复制 ClassB 相关的 3 个汇编文件,如下图所示: 0 c% ?- G, G. @ R
% _/ p4 i4 E) D2 c$ D9 I O' o 复制“crc_gen_gcc.bat”脚本(注意要修改 bat 中的工程名称):- p- P) J* o' U7 x 4 T! |% | Z2 ]; l7 C. o- Y
5 T- ^" c3 I$ e: [ 修改 bat 文件中的名称为对应工程的名称: : `. Q" m; F" b0 ?& Q& v O( [
8 |$ G* a4 p" w1 ]; [5 h3 n8 ` 修改 ld 链接文件,添加 ClassB 相关的 section 信息:
$ G4 ]1 N M R( a8 X- ?0 @ 添加 ClassB 文件的路径和文件夹:. m$ ? d" `2 H. D( S 4 `* o4 D" C( t* p/ S1 k
. k8 |# {! n$ @( ~0 Y( R6 T : H$ l1 ^; \2 p" l5 s 复制“stm32xx_STLparam.h”到目标工程的 inc 文件夹下:5 |, }: E$ t; M' U( E
: d' ?0 H, b1 @8 O9 V& ?- y* B + \: Z& E; [1 \' H2 f' H 在 main.h 中添加必要的宏定义 #define USARTx USART1 #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 % V9 I' i( C7 m6 b 完整版请查看:附件
建立基于STM32CubeIDE的ClassB工程_v1.0.pdf
(446.83 KB, 下载次数: 15)
|
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
《MCUBoot课程》学习笔记+从信任链原理到量产实践
STM32CubeIDE 2.2.0新版本发布
CubeMX生成CubeIDE工程代码乱码
STM32CubeIDE实时时钟(RTC)经验分享
实战经验 | ClassB功能安全认证代码与应用代码分区的实现要点
【STM32U3 评测】人体行为识别
微信公众号
手机版