0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Flexible Safety RTOS安全应用中集成X-CUBE-STL的步骤

麦克泰技术 来源:麦克泰技术 2024-03-15 12:16 次阅读

安全操作系统Flexible Safety RTOS提供了空间隔离保护,简化安全产品的设计,其安全插件可帮助用户安全团队提高微控制器诊断覆盖率。

集成了Flexible Safety RTOS及其安全插件(PFM程序流监控、E2E安全通信、CRC校验)的关键应用中,为满足产品认证需求,还需执行一系列的自测试工作。针对STM32平台,厂商提供了X-CUBE-STL(STM32预认证功能安全包,实现了IEC 61508安全完整性等级(SIL2/3)认证)

ST提供的安全手册列出了单片机安全分析中应考虑的硬件、软件和应用层安全要求。部分Flexible Safety RTOS和Safety Addon安全插件已涵盖的安全要求如下:

CPU_SM_1 -应用软件中的控制流监控由PFM实现

CPU_SM_4 -应用软件的堆栈强化由安全插件E2E实现

MPU_SM_0 -MPU配置寄存器的周期性读回由Flexible Safety RTOS提供

FLASH_SM_0 -Flash的定期软件测试由STL或CRC模块实现

FLASH_SM_1 -应用软件中的控制流监控由PFM实现

RAM_SM_0 - SRAM内存的定期软件测试由STL完成

RAM_SM_2 -应用软件的堆栈强化由E2E实现

RAM_SM_3 -应用软件中与安全相关变量的信息冗余由E2E实现

RAM_SM_4 -应用软件中的控制流监控由PFM覆盖

RAM_SM_5 - RAM中应用软件的定期完整性测试由CRC覆盖

BUS_SM_1 -芯片内数据交换中的信息冗余由E2E覆盖

DMA_SM_1 -通过DMA传输的数据包的信息冗余由E2E实现

注意:应用中使用的外设接口(CAN, I2C, SPI, USB, ETH等)可能需要信息冗余技术。

如何在Flexible Safety RTOS的应用中集成X-CUBE-STL?

集成步骤

在使用Flexible Safety RTOS的系统中集成在X-CUBE-STL,需先将Flexible Safety RTOS示例包及安全插件模块解压到一个文件夹中,然后添加X-CUBE-STL,生成的文件结构如下:

e37c35c2-e27f-11ee-a297-92fbcf53809c.png

现在,可以开始集成工作了。步骤如下:

将X-CUBE-STL添加到make过程

将所需的X-CUBE-STL段添加到链接过程中

为flash测试编写校验程序

在代码中集成和执行X-CUBE-STL

基于IAR编译器的具体操作如下:

Makefile

Embedded Office为项目提供了一个示例makefile文件,位于项目根目录中。Makefile描述了BSP、RTOS和安全插件的构建规则。现在我们需要将X-CUBE_STL集成到构建过程中。

添加STM32_Safety_STL源代码和头文件搜索路径:

e3916eba-e27f-11ee-a297-92fbcf53809c.png

添加链接的STL_Lib.a:

e3ab9402-e27f-11ee-a297-92fbcf53809c.png

添加stl_user_param_template .c需要的编译器定义STM32F407xx,用于选择正确的硬件。

e3bb0b6c-e27f-11ee-a297-92fbcf53809c.png

链接命令文件

与makefile类似,Embedded Office在示例根目录中提供了一个链接命令文件,该文件依赖于开发环境。IAR中链接文件扩展名为“.icf”。

在该文件中,我们为X-CUBE_STL内存测试添加了一个"backup_buffer_section":

e3c59c4e-e27f-11ee-a297-92fbcf53809c.png

注意:此段在RAM测试期间使用,因此RAM内容不会被破坏。

FLASH测试校验和

确保在下载应用程序时,同时下载flash测试的CRC校验和。校验和须存储在flash中。用户可以使STM32CubeProgrammer编程CRC。

使用Lauterbach Trace32调试器时,在脚本文件*.cmm中执行以下代码,计算CRC校验并将其放置到所需的位置:

e37c35c2-e27f-11ee-a297-92fbcf53809c.png

示例应用

现在我们可以在应用中调用X-CUBE-STL测试函数。选择调用位置时,需考虑以下因素:

所有测试功能需要特权访问权限

测试函数在有限的时间内关闭中断

我们选择在hook函数调用测试功能:

e3fae26e-e27f-11ee-a297-92fbcf53809c.png

注1:空闲任务堆栈必须足够大。参见STM32F4系列自测库用户指南了解所需的STL堆栈。

注2:上面的示例调用了所有STL演示。在实际项目中,仅需选择涵盖安全要求的测试。

注3:Flexible Safety RTOS的安全手册强制执行MPU配置的在线测试。

作为替代方案,可以在启动安全应用程序之前将一个或多个STL测试作为POST测试执行:

e40ee912-e27f-11ee-a297-92fbcf53809c.png          

结论

STM32自测库与Flexible Safety RTOS和安全插件的集成为从事安全关键项目的软件开发人员提供了强大的解决方案。通过利用自测库的全面安全检查、实时故障检测和诊断报告功能,开发人员可以确保出色的功能安全性、可靠性,并符合行业法规。


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117723
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348755
  • MPU
    MPU
    +关注

    关注

    0

    文章

    298

    浏览量

    48372
  • RTOS
    +关注

    关注

    20

    文章

    776

    浏览量

    118796
  • CRC校验
    +关注

    关注

    0

    文章

    81

    浏览量

    15030

原文标题:如何在Flexible Safety RTOS安全应用中集成X-CUBE-STL?

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Why_Use_A_Safety_Certified_RTOS

    本帖最后由 lee_st 于 2018-1-25 10:53 编辑 Why_Use_A_Safety_Certified_RTOS
    发表于 01-25 10:51

    适用于STM32F7系列STM32Cube的AzureR RTOS软件扩展

    X-CUBE-AZRTOS-F7(Azure® RTOS STM32Cube 扩展包)为 STM32F7 系列微控制器 STM32Cube
    发表于 11-25 06:22

    适用于DB4560_STM32F4系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-F4(Azure® RTOS STM32Cube 扩展包)为 STM32F4 系列微控制器 STM32Cube
    发表于 11-25 06:29

    适用于DB4595_STM32L5系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-L5(Azure® RTOS STM32Cube 扩展包)为 STM32L5 系列微控制器 STM32Cube
    发表于 11-25 06:34

    适用于DB4596_STM32G4系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-G4(Azure® RTOS STM32Cube 扩展包)为 STM32G4 系列微控制器 STM32Cube
    发表于 11-25 06:42

    适用于DB4412_STM32H7系列STM32Cube的Azure® RTOS软件扩展

    X-CUBE-AZRTOS-H7(Azure® RTOS STM32Cube 扩展包)为 STM32H7 系列微控制器 STM32Cube
    发表于 11-25 07:43

    DB4412_X_CUBE_AZRTOS_H7数据手册

    X-CUBE-AZRTOS-H7(Azure®RTOS STM32Cube扩展包)提供了Microsoft®Azure®RTOSSTM32
    发表于 11-25 06:56

    X-CUBE-STL与ARM的STL的区别是什么?

    大家好,我正在做一些关于 STL 的研究。STM 的 X-CUBE-STL 产品与 ARM STL 库有何不同?你为什么要用一个而不是另一个?
    发表于 12-02 07:18

    STM32Cube Hal如何去认证RTOS

    、Azure Threadx 和 Flexible Safety RTOS 的选项。我们想知道,未来,STM32Cube/Mx 是否支持用于中间件或堆栈的 FreeRTOS/Safe
    发表于 12-26 09:17

    X-CUBE-STL与Arm FuSa RTS结合使用

    本应用笔记展示了STM32设备的X-CUBE-STL软件测试库基于ARM功能安全运行时系统(FUSA RTS)的应用程序中的集成本例
    发表于 09-04 06:51

    STM32G0系列安全手册

    X-CUBE-STL 产品编号。如果遵循本手册的指示,则系统设计者无需了解 STM32G0 Series 功能安全标准应用的详情。本手册按照 IEC 61508 标准编写。它描述了如何在其他功能安全标准(例如,
    发表于 09-07 06:51

    通过X-CUBE-STL自测库实现工业功能安全

      X-CUBE-STL 存在于 ST 生态系统中,旨在帮助工程师获得比 IEC 61508 更多的认证。例如,我们更新了我们的STM8A-SafeASIL新安全文档和自测库规范。
    的头像 发表于 05-12 15:40 1575次阅读

    使用于STM32(符合IEC 61508标准)的X-CUBE-STL功能安全包适应其他安全标准

    使用于STM32(符合IEC 61508标准)的X-CUBE-STL功能安全包适应其他安全标准
    发表于 11-21 17:06 2次下载
    使用于STM32(符合IEC 61508标准)的<b class='flag-5'>X-CUBE-STL</b>功能<b class='flag-5'>安全</b>包适应其他<b class='flag-5'>安全</b>标准

    为 STM32 调整 X-CUBE-STL 功能安全包 (IEC 61508 符合)其他安全标准

    为 STM32 调整 X-CUBE-STL 功能安全包 (IEC 61508 符合)其他安全标准
    发表于 11-21 17:07 1次下载
    为 STM32 调整 <b class='flag-5'>X-CUBE-STL</b> 功能<b class='flag-5'>安全</b>包 (IEC 61508 符合)其他<b class='flag-5'>安全</b>标准

    Flexible Safety RTOS支持NXP S32K高性能处理器

    Flexible Safety RTOS宣布支持来自NXP的所有S32K高性能处理器,可用于你的下一个汽车项目,保证你的软件通过ISO26262 ASIL-D 认证。
    的头像 发表于 04-27 18:27 783次阅读