RTX5 | 线程管理02 - 创建线程(动态堆栈方式)
生活随笔
收集整理的這篇文章主要介紹了
RTX5 | 线程管理02 - 创建线程(动态堆栈方式)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 一、前言
- 二、代碼
- main.h
- main.c
- 三、DEBUG
- 四、細(xì)節(jié)補(bǔ)充
- 4.1、跟控制塊方式不一樣,可以在RTX RTOS觀察到線程的信息
- 4.2、RAM相當(dāng)富裕時(shí),建議使用靜態(tài)堆棧(全局變量)方式創(chuàng)建線程
- 4.3、RAM比較吃緊時(shí),使用動(dòng)態(tài)堆棧方式創(chuàng)建線程
一、前言
繼續(xù)學(xué)習(xí)使用動(dòng)態(tài)堆棧方式創(chuàng)建RTX5線程,分別是LED線程與Start線程。LED線程用于翻轉(zhuǎn)兩個(gè)LED,Start線程用于創(chuàng)建其他線程,并printf一些信息出來。
動(dòng)態(tài)堆棧方式創(chuàng)建線程,線程所占的內(nèi)存統(tǒng)一由RTX5分配。跟靜態(tài)堆棧方式不一樣,靜態(tài)堆棧方式創(chuàng)建線程時(shí),其線程所占的內(nèi)存空間絕大部分由用戶自己分配(通過全局變量)。為什么是絕大部分?因?yàn)榫€程在活躍狀態(tài)時(shí)(另一個(gè)狀態(tài)是終止態(tài)),RTX5也還需要為線程分配一點(diǎn)點(diǎn)內(nèi)存,應(yīng)該是為上下文切換等使用。
一定要多看官方手冊(cè)。官方手冊(cè)上對(duì)應(yīng)的內(nèi)容:
二、代碼
main.h
可以不包含 “rtx_os.h”,因?yàn)椴恍枰褂每刂茐K方式創(chuàng)建線程。
main.c
最后,編譯,燒寫程序。
三、DEBUG
從Event Recorder的Debug Viewer看到Start線程正在運(yùn)行。觀察板子,兩個(gè)LED也在閃爍。
四、細(xì)節(jié)補(bǔ)充
4.1、跟控制塊方式不一樣,可以在RTX RTOS觀察到線程的信息
4.2、RAM相當(dāng)富裕時(shí),建議使用靜態(tài)堆棧(全局變量)方式創(chuàng)建線程
4.3、RAM比較吃緊時(shí),使用動(dòng)態(tài)堆棧方式創(chuàng)建線程
總結(jié)
以上是生活随笔為你收集整理的RTX5 | 线程管理02 - 创建线程(动态堆栈方式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CANopen | 对象字典OD 01
- 下一篇: 判断form表单里面的元素属性是否有数据