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

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

3天内不再提示

如何在STM32CubeMX中集成Flexible Safety RTOS

麦克泰技术 来源:麦克泰技术 2025-01-17 11:31 次阅读

使用STM32处理器的用户,可以通过STM32Cube工具生成基础工程,免费评估功能安全操作系统Flexible Safety RTOS二进制库了。

STM32Cube生态系统包含软件工具和嵌入式软件库,提供了一套完整的PC软件工具,解决完整项目开发周期的所有需求;包含在STM32微控制器微处理器上运行的嵌入式软件块,如Flexible Safety RTOS。

f104da08-d47f-11ef-9310-92fbcf53809c.png

图1

通过在STM32CubeMX工具添加STM32Cube扩展包集成嵌入式软件块,简化创建软件包工程的过程。

软件版本

在Flexible SafetyRTOS集成和应用的开发过程中,我们使用的开发环境版本信息如下:

STM32Cube MX v6.11.1

STM32Cube IDE v1.15.1

旧的软件版本可能无法正常工作,为了避免这种情况,我们建议更新本地STM32Cube环境到最新版本。

安装扩展包

在STM32CubeMX用户手册(https://www.st.com/resource/en/user_manual/um1718-stm32cubemx-for-stm32-configuration-and-initialization-c-code-generation-stmicroelectronics.pdf)中详细解释了STM32Cube扩展包的安装。本节介绍如何激活中间件软件Flexibe Safety RTOS(FS-RTOS)。

1 通过https://www.embedded-office.net/download/public/pack/st/EmbeddedOffice.I-CUBE-FS-RTOS.1.0.1.pack链接,下载软件包。

2 在STM32CubeMX中,选择Help->Manage embedded software packages,点击From Local…,阅读并接受License Agreement评估许可协议,开始安装,并在安装完成后关闭Embedded Software Package Manager。

f1260a70-d47f-11ef-9310-92fbcf53809c.png

图2

FS-RTOS软件包使用

基于MCU或评估板创建STM32CubeMX工程后,通过单击“Software Packs”选项卡并选择“SelectComponents”,如图3所示

f130ed64-d47f-11ef-9310-92fbcf53809c.png

图3

在打开的“Software Packs Component Selector”窗口,找到安装的“EmbeddedOffice.I-CUBE-FS-RTOS”组件。打开组件下拉菜单,设置FS-RTOS为“Eval”,然后选择一个应用程序,例如“Blinky”,单击Ok按钮。

f1546c8a-d47f-11ef-9310-92fbcf53809c.png

图4

硬件设置

为了使项目正常工作,需检查下列设置:

1 在System Core->RCC->High Speed Clock中,使用外部晶振。

2 确保在Clock Configuration选项卡中将系统时钟设置为合理的值(例如HCLK设置为max)。

3 在生成的应用程序中,使用SysTick作为RTOS时基,因此,HAL库需使用另外的时钟源。可以通过System Core->SYS->Timebase Source,修改HAL时基为其它定时器(如Tim1)或禁止HAL时基(选择None)。

注:如果禁用HAL时基,用户需要在RTOS时钟节拍处理回调函数App_TimeTickHook()中调用HAL_IncTick()函数,回调函数位于文件Blinky/App/app_blinky_callback.c中。

4 至少需要选择和配置一个GPIO输出引脚,该GPIO输出引脚用于应用参数设置。

在生成的演示应用前,我们可能还需到System Core->NVIC中配置中断的优先级,以确保系统正常工作。

配置Flexible Safety RTOS

在“Pinout&Configuration”选项卡中,在“Middleware and Software Packs”类别中找到I-CUBE-FS_RTOS组件,配置项目:

1 选择Flexible Safety RTOS组件:I-CUBE-FS_RTOS。

2 将Flexible Safety RTOS集成到您的项目中(无需额外的参数设置)。

3 生成选定的演示应用程序(例如Blinky)。

4 指定与应用程序相关的外设,以生成所需的BSP函数。在图5中,必须为LED选择配置好的GPIO输出引脚。

f168025e-d47f-11ef-9310-92fbcf53809c.png

图5

代码生成

最后,我们在Project Manager选项卡中为代码生成执行一些基本配置:

Project name:项目名称。

Project Location:工作空间目录,保存项目。

Application Structure:Advanced(不勾选Do not generate the main())。

Toolchain/IDE:选择工具链STM32CubeIDE(或EWARM…),选中Generate Under Root。

f17a38d4-d47f-11ef-9310-92fbcf53809c.png

图6

其它设置保持不变。

项目结构

使用GENERATE CODE按钮,开始生成项目。STM32CubeMX生成的项目结构如下:

f190b866-d47f-11ef-9310-92fbcf53809c.png

图7

您可以在ST定义的目录树中找到Flexible Safety RTOS评估包,位于Middleware和Blinky目录。

RTOS集成

当使用STM32Cube扩展包生成项目后,Flexible Safety RTOS集成已经完成。如果你想要手动集成Flexible Safety RTOS到现有项目中,需要在生成的回调函数文件Blinky/App/app_blinky_callback.c中添加RTOS系统滴答处理:

f1a5f104-d47f-11ef-9310-92fbcf53809c.png

图8

默认配置中OS_TICKS_PER_SEC为1000,因此内部SysTick计时器每秒会产生1000个系统滴答中断。

诊断

内存异常处理

如果更改例程并进行实验,可能会遇到内存异常的问题。在这种情况下,我们建议在生成的项目中添加一个访问错误诊断处理程序。

在生成的中断处理程序文件Core/Src/_it.c中,在函数MemManage_Handler()中增加访问违规信息收集:

f1c09b80-d47f-11ef-9310-92fbcf53809c.png

图9

访问位于Blinky/App/app_blinky_callback.c中的故障回调函数,获取下列信息:

info->CurPrio:哪个任务执行导致内存冲突。

info->IAddress:发生异常的指令地址。

info->DAddress:写保护的数据地址

f1cf0aee-d47f-11ef-9310-92fbcf53809c.png

图10

通过以上操作,我们完成了RTOS集成工作。接下来,可以深入Flexible SafetyRTOS组件的文件结构(https://www.embedded-office.net/eval/manual/latest/os/file.html#file-structure),开始构建应用。

Flexible Safety RTOS是基于μC/OS-II扩展的功能安全预认证操作系统,麦克泰技术是Flexible Safety RTOS在中国的代理商,具有超过20年嵌入式实时操作系统和功能安全软件服务的市场、服务和培训经验,联系Info@bmrtech.com。

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

    关注

    48

    文章

    7665

    浏览量

    152203
  • 嵌入式
    +关注

    关注

    5096

    文章

    19193

    浏览量

    308091
  • STM32
    +关注

    关注

    2273

    文章

    10927

    浏览量

    357844
  • RTOS
    +关注

    关注

    22

    文章

    820

    浏览量

    119928
  • stm32cubemx
    +关注

    关注

    5

    文章

    284

    浏览量

    15066

原文标题:如何在STM32CubeMX中集成Flexible Safety RTOS

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

收藏 人收藏

    评论

    相关推荐

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

    安全操作系统Flexible Safety RTOS提供了空间隔离保护,简化安全产品的设计,其安全插件可帮助用户安全团队提高微控制器诊断覆盖率。
    的头像 发表于 03-15 12:16 1485次阅读
    在<b class='flag-5'>Flexible</b> <b class='flag-5'>Safety</b> <b class='flag-5'>RTOS</b>安全应用<b class='flag-5'>中集成</b>X-CUBE-STL的步骤

    何在STM32CubeMX中集成Cs/OS3?

    μC/OS-III的商业版Cs/OS3,现在可以通过STM32CubeMX生成模板工程了。1、获取Cesium STM32Cube扩展包可通过以下链接获得:https
    发表于 08-25 15:29

    stm32cubemx教程

    stm32cubemx教程,需要学习的看看,免积分
    发表于 11-02 10:16 0次下载

    STM32CubeMx使用详解所用工程

    STM32CubeMx使用详解所用工程
    发表于 10-30 15:44 25次下载

    关于STM32CubeMX重大升级

    STM32CubeMX重大升级
    的头像 发表于 03-04 14:05 3866次阅读

    STM32CubeMX介绍、 下载与安装

    STM32CubeMX介绍、下载与安装
    的头像 发表于 03-24 10:57 6703次阅读
    <b class='flag-5'>STM32CubeMX</b>介绍、 下载与安装

    浅谈stm32cubemx安装教程

    STM32CubeMX介绍、下载与安装
    的头像 发表于 03-25 10:57 1.9w次阅读
    浅谈<b class='flag-5'>stm32cubemx</b>安装教程

    STM32CubeMX完成USART串口通信

    STM32CubeMX完成USART串口通信
    发表于 12-06 20:36 24次下载
    <b class='flag-5'>STM32CubeMX</b>完成USART串口通信

    STM32CubeMX安装与使用——实现流水灯

    STM32CubeMX安装与使用——实现流水灯
    发表于 12-07 10:06 25次下载
    <b class='flag-5'>STM32CubeMX</b>安装与使用——实现流水灯

    STM32学习之STM32cubeMX软件安装与使用(附STM32cubeMX5.2.1下载地址)

    STM32学习之STM32cubeMX软件安装与使用(附STM32cubeMX5.2.1下载地址)
    发表于 12-07 11:51 28次下载
    <b class='flag-5'>STM32</b>学习之<b class='flag-5'>STM32cubeMX</b>软件安装与使用(附<b class='flag-5'>STM32cubeMX</b>5.2.1下载地址)

    STM32cubemx教程及STM32入门(一)

    STM32cubemx教程(一)2021.10.17简介STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导
    发表于 12-07 17:36 13次下载
    <b class='flag-5'>STM32cubemx</b>教程及<b class='flag-5'>STM32</b>入门(一)

    STM32CUBEMX配置教程(一)基础配置

    STM32CUBEMX配置教程合集(一)
    发表于 12-14 18:41 17次下载
    <b class='flag-5'>STM32CUBEMX</b>配置教程(一)基础配置

    STM32CubeMX 窗口及工具介绍

    STM32CubeMX 系列教程之 STM32CubeMX 窗口及 STM32PackCreator 工具介绍,内附详细图文介绍。
    发表于 12-14 18:51 27次下载
    <b class='flag-5'>STM32CubeMX</b> 窗口及工具介绍

    STM8CubeMXSTM32CubeMX功能一样吗?

    STM8CubeMXSTM32CubeMX功能一样吗?
    的头像 发表于 10-31 16:59 1913次阅读
    STM8<b class='flag-5'>CubeMX</b>和<b class='flag-5'>STM32CubeMX</b>功能一样吗?

    Flexible Safety RTOS的技术特征

    Embedded Office的Flexible Safety RTOS是专为具有严格功能安全要求的嵌入式系统量身定制的、先进的实时操作系统。该RTOS专为工业自动化、汽车、铁路和医疗
    的头像 发表于 01-07 11:29 335次阅读