• 资料介绍
  • 在线预览
  • 相关推荐
申请入驻 产业图谱

LAT1257 建立基于STM32CubeIDE的ClassB工程

2025/03/25
512
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1257 建立基于STM32CubeIDE的ClassB工程

446.83 KB

前言

大家都知道 ST 的 ClassB 功能安全软件设计包是免费的,也有众多客户基于STM32CubeIDE 免费的 IDE 进行开发,本文档将展示如何轻松的实现 ClassB 在STM32CubeIDE 上的移植。

准备

硬件:NUCLEO-G070

软件:X-CUBE-CLASSB version 2.3.0

创建 CubeMX 工程

在 CubeMX 中创建闪灯和串口打印的基础工程,并在实验板上验证工程的正确性。然后继续配置 IWDG、WWDG、CRC 外设。为了避免程序在移植和调试时产生复位,可以在 CubeMX 中配置为不调用。

移植过程中可能遇到的问题

问题 1:编译通过,无错误,但是发现 hex 文件只有 132B。

方法:通过 map 文件,发现 source 包含的一些文件夹不见了,在工程选项中添加对应的文件即可。

问题 2:#define ALLOC_GLOBALS 这个宏定义是为了防止变量的多次重复定义。

方法:需要检查其应当放在对应的相关变量的头文件之前。

问题 3:初始化时,在 CubeIDE 中出现了各种 startup 阶段的失败,

方法:需要将 ClassB lib 的优化等级设置为-O1 才可以。

问题 4:Runtime 时出现“Run-time FLASH CRC Error”的错误

方法:原因在于为了方便调试,下载了没有带 CRC 的 hex 文件,改成带 CRC 的 hex 文件后就没问题了。

问题 5:时钟检测不过,测试时,发现工程为 F030,但实际芯片是 F042,二者存在时钟配置上的差异,主要是 SystemInit 和 SystemCoreClockUpdate 函数中的差异。

方法:按照实际芯片正确配置时钟即可。

小结

在移植 ClassB 的过程中,难免会出现各种各样的编译错误,我们要有耐心,根据工具的提示,逐个消除错误即可。本文档提供了对应的例程,用户可以对比参考使用。

在线预览

相关推荐

意法半导体拥有49,000名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一 家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和 解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需 求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广 泛。我们正按计划在所有直接和间接排放(包括范围1和范围2)、产品运输、商务旅行以及员工通勤排 放(重点关注的范围3)方面实现碳中和,并在2027年底前实现100%使用可再生电力的目标。 详情请浏 览意法半导体公司网站:www.st.com.cn