日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32H743+CubeMX-移植ThreadX

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32H743+CubeMX-移植ThreadX 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、前言
  • 二、STM32CubeMX
    • 2.1、新建工程
    • 2.2、配置RCC
    • 2.3、配置Clock Configuration
    • 2.4、配置Debug方式
    • 2.5、使能CPU ICache與DCache
    • 2.6、下載ThreadX的內核
  • 三、ThreadX
    • 3.1、Mode
    • 3.2、修改裸機的Timebase Source
    • 3.3、配置ThreadX的User setting
    • 3.4、修改ThreadX的堆棧
    • 3.5、配置GPIO
    • 3.6、修改Project Manager
  • 四、代碼
    • 4.1、 main.c
    • 4.2、創建第一個ThreadX線程
      • 4.2.1、app_azure_rtos.h
      • 4.2.2、app_azure_rtos.c
      • 4.2.3、返回到app_azure_rtos.h修改一下
  • 五、編譯,燒錄代碼
    • 5.1、編譯
    • 5.2、燒錄代碼

一、前言

令人激動的是,STM32Cube ecosystem迎來又一波的更新,名字是X-CUBE-AZROTS-H7。這個項目重大意義是從STM32CubeMX移植ThreadX,也可以移植rt-thread。目前使用STM32CubeMX移植ThreadX只支持H7系列的單片機,其他系列可能還需要等等。
視頻教程:https://v.qq.com/x/page/c3232e9q80c.html
值得注意的是,我在移植的過程中發現,單獨使用STM32CubeMX移植會有BUG,無法進入Mode界面配置ThreadX。但是,在STM32CubeIDE上使用STM32CubeMX的話,沒有出現這個問題。

二、STM32CubeMX

2.1、新建工程

2.2、配置RCC

2.3、配置Clock Configuration

2.4、配置Debug方式

2.5、使能CPU ICache與DCache

2.6、下載ThreadX的內核




如上圖所示,配置AZURE_RTOS_Application與ThreadX:

  • HW_Profile選擇Custom_Board
    因為STM32H743IIT6并不是stm32 ecosystem評估板的芯片,所以只能選擇Custom_Board了,意思是:自定義的板子
  • Application選擇azure_rtos_app
    沒有其他選擇了。
  • 勾上ThreadX/Core
    內核,必須要用啊。
  • 勾上ThreadX/ TraceX support
    RTOS的強大調試工具,調試的時候使用的。
    接著,就可以按下界面右下角的ok,然后會彈回到原來的配置界面,然后左側的選項欄里增加一個SoftWare Packs。

三、ThreadX

3.1、Mode

3.2、修改裸機的Timebase Source


這一步非常重要,裸機的Time Base Source改為TIM1,是因為Systick被RTOS占用了。總的來說,雖然移植了RTOS,但是裸機系統也需要時鐘源。這個跟移植FreeRTOS時是一樣的。

3.3、配置ThreadX的User setting

  • TX_TIMER_TICKS_PER_SECOND改為1000
    這個TIMER在UCOSIII與FreeRTOS都有,是系統調度的頻率,改為1000的意思是每秒進行1000次的調度,即調度的頻率是1000Hz,大部分的RTOS通常都配置1000。
    其他配置暫時保持默認,至于每一個配置的意義,在ThreadX的官網有詳細的介紹。
    官網網址:https://docs.microsoft.com/en-us/azure/rtos/threadx/chapter2

3.4、修改ThreadX的堆棧

至于應用程序的堆棧配置多大,這個需要看MCU的型號。STM32H743IIT6有1MB的RAM空間,分配10KB就相當于1/100的RAM空間。

3.5、配置GPIO

配置開發板的LED引腳的GPIO,用于驗證ThreadX的線程有沒有跑起來。

3.6、修改Project Manager


生成代碼之前,修改生成代碼的方式。

四、代碼

4.1、 main.c


從main.c可以看到ThreadX初始化的相關函數,證明TThreadX系統移植成功??梢跃幾g一下代碼,反正我是沒有報錯與告警。

4.2、創建第一個ThreadX線程

4.2.1、app_azure_rtos.h

4.2.2、app_azure_rtos.c



4.2.3、返回到app_azure_rtos.h修改一下

五、編譯,燒錄代碼

5.1、編譯


還是沒有報錯與警告。

5.2、燒錄代碼


完成,創建一個線程。。。。。

總結

以上是生活随笔為你收集整理的STM32H743+CubeMX-移植ThreadX的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。