RTX5 | 线程管理02 - 创建线程(动态堆栈方式)
生活随笔
收集整理的這篇文章主要介紹了
RTX5 | 线程管理02 - 创建线程(动态堆栈方式)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、前言
- 二、代碼
- main.h
- main.c
- 三、DEBUG
- 四、細節補充
- 4.1、跟控制塊方式不一樣,可以在RTX RTOS觀察到線程的信息
- 4.2、RAM相當富裕時,建議使用靜態堆棧(全局變量)方式創建線程
- 4.3、RAM比較吃緊時,使用動態堆棧方式創建線程
一、前言
繼續學習使用動態堆棧方式創建RTX5線程,分別是LED線程與Start線程。LED線程用于翻轉兩個LED,Start線程用于創建其他線程,并printf一些信息出來。
動態堆棧方式創建線程,線程所占的內存統一由RTX5分配。跟靜態堆棧方式不一樣,靜態堆棧方式創建線程時,其線程所占的內存空間絕大部分由用戶自己分配(通過全局變量)。為什么是絕大部分?因為線程在活躍狀態時(另一個狀態是終止態),RTX5也還需要為線程分配一點點內存,應該是為上下文切換等使用。
一定要多看官方手冊。官方手冊上對應的內容:
二、代碼
main.h
可以不包含 “rtx_os.h”,因為不需要使用控制塊方式創建線程。
main.c
最后,編譯,燒寫程序。
三、DEBUG
從Event Recorder的Debug Viewer看到Start線程正在運行。觀察板子,兩個LED也在閃爍。
四、細節補充
4.1、跟控制塊方式不一樣,可以在RTX RTOS觀察到線程的信息
4.2、RAM相當富裕時,建議使用靜態堆棧(全局變量)方式創建線程
4.3、RAM比較吃緊時,使用動態堆棧方式創建線程
總結
以上是生活随笔為你收集整理的RTX5 | 线程管理02 - 创建线程(动态堆栈方式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CANopen | 对象字典OD 01
- 下一篇: python使用协程实现udp_pyth