0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何在STM32CubeMX中集成Flexible Safety RTOS

麥克泰技術 ? 來源:麥克泰技術 ? 2025-01-17 11:31 ? 次閱讀

使用STM32處理器的用戶,可以通過STM32Cube工具生成基礎工程,免費評估功能安全操作系統(tǒng)Flexible Safety RTOS二進制庫了。

STM32Cube生態(tài)系統(tǒng)包含軟件工具和嵌入式軟件庫,提供了一套完整的PC軟件工具,解決完整項目開發(fā)周期的所有需求;包含在STM32微控制器微處理器上運行的嵌入式軟件塊,如Flexible Safety RTOS。

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

圖1

通過在STM32CubeMX工具添加STM32Cube擴展包集成嵌入式軟件塊,簡化創(chuàng)建軟件包工程的過程。

軟件版本

在Flexible SafetyRTOS集成和應用的開發(fā)過程中,我們使用的開發(fā)環(huán)境版本信息如下:

STM32Cube MX v6.11.1

STM32Cube IDE v1.15.1

舊的軟件版本可能無法正常工作,為了避免這種情況,我們建議更新本地STM32Cube環(huán)境到最新版本。

安裝擴展包

在STM32CubeMX用戶手冊(https://www.st.com/resource/en/user_manual/um1718-stm32cubemx-for-stm32-configuration-and-initialization-c-code-generation-stmicroelectronics.pdf)中詳細解釋了STM32Cube擴展包的安裝。本節(jié)介紹如何激活中間件軟件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評估許可協(xié)議,開始安裝,并在安裝完成后關閉Embedded Software Package Manager。

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

圖2

FS-RTOS軟件包使用

基于MCU或評估板創(chuàng)建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選項卡中將系統(tǒng)時鐘設置為合理的值(例如HCLK設置為max)。

3 在生成的應用程序中,使用SysTick作為RTOS時基,因此,HAL庫需使用另外的時鐘源??梢酝ㄟ^System Core->SYS->Timebase Source,修改HAL時基為其它定時器(如Tim1)或禁止HAL時基(選擇None)。

注:如果禁用HAL時基,用戶需要在RTOS時鐘節(jié)拍處理回調(diào)函數(shù)App_TimeTickHook()中調(diào)用HAL_IncTick()函數(shù),回調(diào)函數(shù)位于文件Blinky/App/app_blinky_callback.c中。

4 至少需要選擇和配置一個GPIO輸出引腳,該GPIO輸出引腳用于應用參數(shù)設置。

在生成的演示應用前,我們可能還需到System Core->NVIC中配置中斷的優(yōu)先級,以確保系統(tǒng)正常工作。

配置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集成到您的項目中(無需額外的參數(shù)設置)。

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

4 指定與應用程序相關的外設,以生成所需的BSP函數(shù)。在圖5中,必須為LED選擇配置好的GPIO輸出引腳。

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

圖5

代碼生成

最后,我們在Project Manager選項卡中為代碼生成執(zhí)行一些基本配置:

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擴展包生成項目后,F(xiàn)lexible Safety RTOS集成已經(jīng)完成。如果你想要手動集成Flexible Safety RTOS到現(xiàn)有項目中,需要在生成的回調(diào)函數(shù)文件Blinky/App/app_blinky_callback.c中添加RTOS系統(tǒng)滴答處理:

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

圖8

默認配置中OS_TICKS_PER_SEC為1000,因此內(nèi)部SysTick計時器每秒會產(chǎn)生1000個系統(tǒng)滴答中斷。

診斷

內(nèi)存異常處理

如果更改例程并進行實驗,可能會遇到內(nèi)存異常的問題。在這種情況下,我們建議在生成的項目中添加一個訪問錯誤診斷處理程序。

在生成的中斷處理程序文件Core/Src/_it.c中,在函數(shù)MemManage_Handler()中增加訪問違規(guī)信息收集:

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

圖9

訪問位于Blinky/App/app_blinky_callback.c中的故障回調(diào)函數(shù),獲取下列信息:

info->CurPrio:哪個任務執(zhí)行導致內(nèi)存沖突。

info->IAddress:發(fā)生異常的指令地址。

info->DAddress:寫保護的數(shù)據(jù)地址

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擴展的功能安全預認證操作系統(tǒng),麥克泰技術是Flexible Safety RTOS在中國的代理商,具有超過20年嵌入式實時操作系統(tǒng)和功能安全軟件服務的市場、服務和培訓經(jīng)驗,聯(lián)系Info@bmrtech.com。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7627

    瀏覽量

    151758
  • 嵌入式
    +關注

    關注

    5088

    文章

    19160

    瀏覽量

    306522
  • STM32
    +關注

    關注

    2270

    文章

    10918

    瀏覽量

    356790
  • RTOS
    +關注

    關注

    22

    文章

    818

    瀏覽量

    119769
  • stm32cubemx
    +關注

    關注

    5

    文章

    284

    瀏覽量

    14882

原文標題:如何在STM32CubeMX中集成Flexible Safety RTOS

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Flexible Safety RTOS安全應用中集成X-CUBE-STL的步驟

    安全操作系統(tǒng)Flexible Safety RTOS提供了空間隔離保護,簡化安全產(chǎn)品的設計,其安全插件可幫助用戶安全團隊提高微控制器診斷覆蓋率。
    的頭像 發(fā)表于 03-15 12:16 ?1420次閱讀
    在<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的商業(yè)版Cs/OS3,現(xiàn)在可以通過STM32CubeMX生成模板工程了。1、獲取Cesium STM32Cube擴展包可通過以下鏈接獲得:https
    發(fā)表于 08-25 15:29

    stm32cubemx教程

    stm32cubemx教程,需要學習的看看,免積分
    發(fā)表于 11-02 10:16 ?0次下載

    STM32CubeMx使用詳解所用工程

    STM32CubeMx使用詳解所用工程
    發(fā)表于 10-30 15:44 ?24次下載

    關于STM32CubeMX重大升級

    STM32CubeMX重大升級
    的頭像 發(fā)表于 03-04 14:05 ?3822次閱讀

    STM32CubeMX介紹、 下載與安裝

    STM32CubeMX介紹、下載與安裝
    的頭像 發(fā)表于 03-24 10:57 ?6628次閱讀
    <b class='flag-5'>STM32CubeMX</b>介紹、 下載與安裝

    淺談stm32cubemx安裝教程

    STM32CubeMX介紹、下載與安裝
    的頭像 發(fā)表于 03-25 10:57 ?1.9w次閱讀
    淺談<b class='flag-5'>stm32cubemx</b>安裝教程

    STM32CubeMX學習筆記(一)---LED與蜂鳴器

    STM32CubeMX學習筆記(一)—點亮LED這里寫目錄標題STM32CubeMX學習筆記(一)---點亮LED一、開發(fā)板二、STM32CubeMX工程創(chuàng)建1、打開 STM32CubeMX
    發(fā)表于 12-05 13:21 ?19次下載
    <b class='flag-5'>STM32CubeMX</b>學習筆記(一)---LED與蜂鳴器

    STM32CubeMX完成USART串口通信

    STM32CubeMX完成USART串口通信
    發(fā)表于 12-06 20:36 ?24次下載
    <b class='flag-5'>STM32CubeMX</b>完成USART串口通信

    STM32CubeMX安裝與使用——實現(xiàn)流水燈

    STM32CubeMX安裝與使用——實現(xiàn)流水燈
    發(fā)表于 12-07 10:06 ?25次下載
    <b class='flag-5'>STM32CubeMX</b>安裝與使用——實現(xiàn)流水燈

    STM32學習之STM32cubeMX軟件安裝與使用(附STM32cubeMX5.2.1下載地址)

    STM32學習之STM32cubeMX軟件安裝與使用(附STM32cubeMX5.2.1下載地址)
    發(fā)表于 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配置教程(一)基礎配置

    STM32CUBEMX配置教程合集(一)
    發(fā)表于 12-14 18:41 ?17次下載
    <b class='flag-5'>STM32CUBEMX</b>配置教程(一)基礎配置

    STM32CubeMX 窗口及工具介紹

    STM32CubeMX 系列教程之 STM32CubeMX 窗口及 STM32PackCreator 工具介紹,內(nèi)附詳細圖文介紹。
    發(fā)表于 12-14 18:51 ?27次下載
    <b class='flag-5'>STM32CubeMX</b> 窗口及工具介紹

    STM8CubeMXSTM32CubeMX功能一樣嗎?

    STM8CubeMXSTM32CubeMX功能一樣嗎?
    的頭像 發(fā)表于 10-31 16:59 ?1860次閱讀
    STM8<b class='flag-5'>CubeMX</b>和<b class='flag-5'>STM32CubeMX</b>功能一樣嗎?

    Flexible Safety RTOS的技術特征

    Embedded Office的Flexible Safety RTOS是專為具有嚴格功能安全要求的嵌入式系統(tǒng)量身定制的、先進的實時操作系統(tǒng)。該RTOS專為工業(yè)自動化、汽車、鐵路和醫(yī)療
    的頭像 發(fā)表于 01-07 11:29 ?264次閱讀