在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

RT-Thread Nano 上線ST CubeMX

RT-Thread官方賬號 ? 2024-09-20 08:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

感謝ST法國CubeMX團隊的支持,RT-Thread Nano已成功上線ST CubeMX。本文將詳細介紹如何快速上手RT-Thread Nano,并指導大家在ST CubeMX上進行項目配置和開發。一起來看看吧!

一、準備工作

軟件準備:

STM32 CubeMX_v6.11.0 以上版本

Keil MDK

串口工具(推薦使用MobaXterm)

硬件準備:

STM32 開發板(Cortex-M系列,這里我們以STM32F411RCT6 芯片作為演示)

二、安裝 RT-Thread Nano v4.1.1 軟件包

首先打開 STM32 CubeMX 軟件,進入主頁面后找到右側的嵌入式軟件包選項(Install or remove embedded software packages),點擊 [ INSALL / REMOVE ] :

b7740816-76e4-11ef-bb4b-92fbcf53809c.png

在彈出的 Embedded Software Packages Manager 界面的上方導航欄中找到 RT-Thread 廠商 —> [ RealThread ] ,展開 X-CUBE-RT-Thread_Nano ,勾選中 RT-Thread Software Components (Size: 5.50 MB) ,并且點擊 Install :

b784748a-76e4-11ef-bb4b-92fbcf53809c.png

同意條款并點擊 Finish :

b7920c9e-76e4-11ef-bb4b-92fbcf53809c.png

注:此處如果沒有找到 RealThread 廠商選項,可點擊下方 Refresh 按鈕更新資源包索引后開始下載,下載成功后 RT-Thread Software Components 4.1.1 呈深綠色方形顯示,關閉窗口后開始工程創建。

三、創建 STM32 CubeMX 項目工程

創建工程可以選擇基于 MCU 或 Board,這里我們以創建 MCU 作為教學演示,點擊 ACCESS TO MCU SELECTOR ,在左上角的 Commercial Part Number 中輸入芯片型號,這里我的芯片型號為 STM32F411RCT6 ,選中對應MCU后點擊右上角 Start Project 。

b7bfe54c-76e4-11ef-bb4b-92fbcf53809c.png

四、芯片配置

首先勾選 RT-Thread Nano v4.1.1 軟件包,依次點擊 Software Packs-> Select Components,并找到 RealThread.X-CUBE-RT-Thread_Nano 4.1.1 一欄,根據開發需求勾選配置項,其中 kernel 和 libcpu 為必選項,這里我們選擇 kernel、shell 和 ibcpu 三個配置項后點擊 OK:

b80e8de6-76e4-11ef-bb4b-92fbcf53809c.png

在左側導航欄中找到 RT-Thread Nano 軟件包,同時在 Mode 一欄中使能 RTOS RT-Thread,接著我們在 Parameter Settings 中進行內核配置,這一步我們保持默認即可,同時往下翻找到 Finsh Configuration,使能 Finsh組件:

b822faa6-76e4-11ef-bb4b-92fbcf53809c.png

為了給 Finsh 組件提供串口設備,需要我們勾選一個串口,點擊左側功能欄 Connectivity —> USART1,設置串口模式為異步:

b82f6ad4-76e4-11ef-bb4b-92fbcf53809c.png

選擇 System Core —>SYS,將 Debug 選項配置為 Serial Wire:

b83b0358-76e4-11ef-bb4b-92fbcf53809c.png

在 RT-Thread 中重新定義了`HardFault_Handler`, `PendSV_Handler`, `SysTick_Handler`中斷函數。為避免重復定義,在生成項目之前,請取消選擇中斷配置中的三個中斷函數(對應注釋了的選項`Hard fault interrupt`、`Pendable request`、`Time base: System tick timer`)

b8514640-76e4-11ef-bb4b-92fbcf53809c.png

點擊 Project Manager,填寫項目名稱,并修改 Toolchain / IDE 為 MDK-ARM,最后生成工程文件(在點擊生成工程后會提示 RTOS 時基源的修改警告,點擊 Yes 即可)

b868e534-76e4-11ef-bb4b-92fbcf53809c.png

五、工程配置

1.概述

打開 MDK 工程后,工程目錄下會生成幾個 Middlewares Group,如下所示:

b88ca7a8-76e4-11ef-bb4b-92fbcf53809c.png

2.Finsh組件配置

打開 Middlewares/RT-Thread/RTOS/kernel 目錄下的 board.c 文件,修改 uart_init() 函數中串口號,該串口號默認為 USART1,需要根據實際在 CubeMX 中配置的串口進行修改

b8a01bee-76e4-11ef-bb4b-92fbcf53809c.png

3.主函數配置

在 main.c 中包含頭文件 `#include`,同時在 main 函數的 while(1) 中定義延時,以便 Finsh 和其他線程得到系統調度:

b9455dac-76e4-11ef-bb4b-92fbcf53809c.pngb955d024-76e4-11ef-bb4b-92fbcf53809c.png

4.觀察現象

在 MDK 中燒錄程序后打開串口助手,復位開發板查看終端運行情況:

b9669b66-76e4-11ef-bb4b-92fbcf53809c.png

到這里,RT-Thread Nano v4.1.1 就成功運行起來了。

六、內存堆初始化

系統內存堆的初始化是通過 board.c 中的 rt_hw_board_init() 函數實現的,如果需要啟用內存堆可通過宏定義 RT_USING_HEAP 實現,RT-Thread Nano 默認不開啟內存堆功能。一旦 RT_USING_HEAP 被啟用,系統會默認使用一個數組作為堆,堆的其實地址和結束地址作為參數傳遞給堆初始化函數 rt_system_heap_init(),該函數在 rt_hw_board_init() 中調用。

如果不希望使用數組作為動態內存堆,可以使用 RAM 的 ZI 段的末尾作為 HEAP 的起始地址(需要確保它與鏈接腳本對應上),并使用RAM的結束地址作為 HEAP 的結束地址,代碼實現如下所示:

b98f3b66-76e4-11ef-bb4b-92fbcf53809c.pngb99cf670-76e4-11ef-bb4b-92fbcf53809c.png

七、其他說明

RT-Thread 的線程創建、信號量、互斥鎖的使用需要配置內存管理機制,RT-Thread Nano 允許配置使用小內存管理算法,如需在 Cubemx 中進行相關配置,請打開工程的 CubeMX 執行文件,使能如下選項:

b9be0acc-76e4-11ef-bb4b-92fbcf53809c.png

> 注意:在使用RT-Thread Nano v4.1.1 CubeMX軟件包時請閱讀各個配置項的參數說明,部分配置項存在依賴關系,需根據說明進行配置。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2291

    文章

    11022

    瀏覽量

    363452
  • 開發板
    +關注

    關注

    25

    文章

    5622

    瀏覽量

    103554
  • RT-Thread
    +關注

    關注

    32

    文章

    1385

    瀏覽量

    41679
  • CubeMx
    +關注

    關注

    0

    文章

    31

    瀏覽量

    1614
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RT-Thread Nano源碼bsp工程無法正常使用msh,輸入msh命令無響應怎么解決?

    最近想使用RT-Thread-Nano進行開發,在官網下載了RT-Thread Nano的源碼,發現源碼內有一些提供好的工程,便找了一個支持msh的工程進行調試,但是發現工程基礎配置存在問題。 在./bsp/stm32f103-
    發表于 06-12 06:50

    RT-Thread Nano移植后動態創建線程創建不了怎么處理?

    RT-Thread Nano移植后動態創建線程創建不了,靜態可以.直接燒錄DEMO也一樣,將RT_USING_HEAP開起來,使用動態創建就創建不起來,RT_USING_HEAP關掉后
    發表于 06-11 06:36

    RT-Thread審核團招募: 深度參與開源RTOS社區治理與演進

    全球開發者招募:RT-Thread審核團(ReviewTeam)正式開放申請!在開源的世界里,代碼審查(CodeReview)是保證軟件質量、促進技術交流的關鍵環節。RT-Thread作為全球領先
    的頭像 發表于 05-21 18:02 ?562次閱讀
    <b class='flag-5'>RT-Thread</b>審核團招募: 深度參與開源RTOS社區治理與演進

    RT-Thread Nano源碼bsp工程無法正常使用msh,輸入msh命令無響應怎么解決?

    最近想使用RT-Thread-Nano進行開發,在官網下載了RT-Thread Nano的源碼,發現源碼內有一些提供好的工程,便找了一個支持msh的工程進行調試,但是發現工程基礎配置存在問題。 在./bsp/stm32f103-
    發表于 04-14 07:51

    移植最新版的rt-thread nano時發現程序只要一進去entry函數就直接跳到一個死循環里,為什么?

    我在移植最新版的rt-thread nano時發現程序只要一進去entry函數就直接跳到一個死循環里,我使用的編譯器是armgcc10.2版本。然而我移植舊版的rt-thread nano
    發表于 04-01 07:04

    如何將RT-Thread移植到NXP MCUXPressoIDE上

    RT-Thread默認支持的IDE只有IAR 和 Keil, 那如何將RT-Thread移植到NXP MCUXPressoIDE上呢?本文內容比較簡單但稍有瑣碎,希望對有需要的小伙伴有所幫助。
    的頭像 發表于 02-13 10:37 ?1827次閱讀
    如何將<b class='flag-5'>RT-Thread</b>移植到NXP MCUXPressoIDE上

    RT-Thread上CAN實踐

    開箱測試RT-Thread官方已完成了對英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進行RT-ThreadCan移植。接下來我們要完成CAN_FD的驅動移植,并正常啟動RT-T
    的頭像 發表于 11-13 01:03 ?1988次閱讀
    <b class='flag-5'>RT-Thread</b>上CAN實踐

    開源共生 商業共贏 | RT-Thread 2024開發者大會報名啟動!

    親愛的RT-Thread開發者我們很高興地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread開發者大會)正式啟動報名!2024RT-Threa
    的頭像 發表于 10-29 08:06 ?912次閱讀
    開源共生 商業共贏 | <b class='flag-5'>RT-Thread</b> 2024開發者大會報名啟動!

    STM32CubeMX為什么無法添加rt-thread-nano

    STM32CubeMX 無法添加 rt-thread-nano
    發表于 09-27 06:17

    課程上線 - RT-Thread應用開發實踐課程上線慕課平臺啦!

    我們非常高興地告訴大家,由廣東機電職業技術學院的老師們制作的,使用《RT-Thread應用開發實踐》作為教材的課程——嵌入式操作系統應用,正式上線慕課平臺啦!歡迎各位想要系統學習RT-Thread
    的頭像 發表于 09-14 08:07 ?625次閱讀
    課程<b class='flag-5'>上線</b> - <b class='flag-5'>RT-Thread</b>應用開發實踐課程<b class='flag-5'>上線</b>慕課平臺啦!

    【大連】9月7日RT-Thread巡回線下培訓-OpenMV機器視覺

    親愛的RT-Thread社區成員們:2024年RT-Thread全球開發者線下培訓拉開帷幕啦!24年全球巡回培訓將覆蓋超10座城市及國家,為開發者提供一個深入學習RT-Thread嵌入式開發的絕佳
    的頭像 發表于 09-01 08:02 ?3436次閱讀
    【大連】9月7日<b class='flag-5'>RT-Thread</b>巡回線下培訓-OpenMV機器視覺

    2024 RT-Thread全球巡回 線下培訓火熱來襲!

    親愛的RT-Thread社區成員們:我們非常高興地宣布,2024年RT-Thread全球開發者線下培訓即將拉開帷幕!24年全球巡回培訓將覆蓋超10座城市及國家,為開發者提供一個深入學習RT-Thread嵌入式開發的絕佳機會。
    的頭像 發表于 08-07 08:35 ?2704次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓火熱來襲!

    【好書推薦】RT-Thread設備驅動開發指南

    近年來國內芯片產業和物聯網產業的快速崛起,行業發展迫切需要更多人才,尤其需要掌握嵌入式操作系統等底層技術的人才。隨著RT-Thread被更廣泛地應用于行業中,開發者對嵌入式驅動開發的需求越來越
    的頭像 發表于 08-01 08:35 ?1235次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>設備驅動開發指南

    RT-Thread 新里程碑達成——GitHub Star 破萬!

    RT-Thread實時操作系統開源項目在GitHub上的star數量突破一萬!截止發文,RT-Thread作為實時操作系統在業界Star數量排名第一!倉庫地址:https://github.com
    的頭像 發表于 07-04 08:35 ?732次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達成——GitHub Star 破萬!

    lvgl移植到RT-Thread Nano后進入硬件錯誤中斷的原因?

    使用的是RT-Thread Nano的最新版,第一次移植,不知道是不是因為這個lvgl只能移植到標準版里? 嘗試過給lvgl的線程分配更大的棧,但是依舊會卡死在硬件錯誤中斷里。但只要把用戶的ui
    發表于 07-04 07:40
    主站蜘蛛池模板: 丁香久久婷婷 | 免费观看视频在线 | a爱视频 | 久久福利精品 | 色视频一区 | 欧美日一区二区三区 | xxxx大片| 亚洲韩国欧美一区二区三区 | 色婷婷亚洲十月十月色天 | 日韩黄网| 久久国内 | 黄色网页在线播放 | 成人xx视频免费观看 | 午夜操操 | 亚洲国产精品va在线观看麻豆 | 国产精品免费看久久久 | 天天色踪合合 | 澳门色视频 | 天天爱天天做天天爽 | 操她射她| 182.t v香蕉人人网站 | 亚洲狠狠婷婷综合久久久久图片 | 91av视频网站| 欧美乱乱| 在线欧美激情 | 国产天美 | 伊人久久综合成人网小说 | 九九热在线观看 | 色噜噜综合网 | 六月丁香婷婷激情 | 国产精品久久新婚兰兰 | 性欧美暴力猛交69hd | 久久久久久久综合 | 三及毛片 | 在线视频永久在线视频 | 国产亚洲精品久久久久久牛牛 | 婷婷免费高清视频在线观看 | 黄色超污网站 | 色综合久久天天综合绕观看 | 免费在线观看理论片 | 午夜久久久|