前面有朋友大概了問了這樣一個問題:我想在STM8單片機上,不跑操作系統(tǒng),在需要處理一些業(yè)務(wù)邏輯時,還需要檢測按鍵短按、長按、多個按鍵同時按下,我要如何實現(xiàn)?
不跑操作系統(tǒng),這個問題其實是一個“很難”的問題,在單線程(裸機)情況下,處理多件事情,這個邏輯處理必須要嚴(yán)謹(jǐn)才行。
但是,有了操作系統(tǒng),這個問題就不是問題了。
1寫在前面
在不跑操作系統(tǒng)的情況,我曾經(jīng)也用STM8單線程(邏輯)處理過相對復(fù)雜的業(yè)務(wù)邏輯:檢測鍵盤(短按、長按)、控制顯示、檢測信號、串口收發(fā)通信等......
雖然那些復(fù)雜的業(yè)務(wù)邏輯功能實現(xiàn)了,但開發(fā)的時間和周期,以及后期更新、維護(hù)的成本可想而知。
所以,本文針對資源較小的STM8,推薦大家使用一款輕量級的實時操作系統(tǒng)Atomthreads。
到底有多輕量級?
能支持目前(2018年09月)最小資源(1K RAM,8K ROM)STM8運行五六個線程,可以說問題不大。
如果你的應(yīng)用程序?qū)AM占用量很小,可以運行更多線程,當(dāng)然,線程多少不是問題,能合理處理各項業(yè)務(wù)邏輯才是關(guān)鍵。
為什么不選擇STM32呢?
因為產(chǎn)品成本控制。我曾經(jīng)也在想,為什么不選擇一個資源大一點,而且速度快一點的STM32來開發(fā)呢,便宜的STM32也就兩三元錢,但便宜的STM8就一塊多錢。
說到STM8價格,不得不說51單片機,51單片機價格可以說是STM8的好幾倍,而且資源也沒有STM8豐富。據(jù)我了解,還有很多老一輩工程師還在使用51單片機(AT89C51、STC89C51等)。
所以,如果你在學(xué)習(xí)51開發(fā),有必要學(xué)習(xí)一下STM8開發(fā)。因為做產(chǎn)品的話,STM8比51明顯有優(yōu)勢。
2
Atomthreads介紹
Atomthreads是一款免費的輕量級實時操作系統(tǒng),適用于RAM和ROM資源較小的嵌入式系統(tǒng)。Atomthreads在開源BSD許可下發(fā)布的,可以不受限制地免費商用。
主要特征
具有操作系統(tǒng)該有的功能:優(yōu)先級搶占、信號量、隊列、計時器等
輕量級:整個操作系統(tǒng)就幾個C文件
高度可移植的ANSI C代碼,不依賴于任何編譯器
易于閱讀,源代碼提供豐富的注釋
可以使用單個體系結(jié)構(gòu)特定模塊移植到任何CPU體系結(jié)構(gòu)
支持的CPU架構(gòu)

經(jīng)常關(guān)注過我分享的朋友會發(fā)現(xiàn),Atomthreads也在我以前分享過的RTOS列表中:
https://www.osrtos.com

3源碼簡介
Atomthreads內(nèi)核雖小,但該有的都有。而且源碼提供眾多例程,方便初學(xué)者學(xué)習(xí)。
源碼下載地址:
https://github.com/kelvinlawson/atomthreads
內(nèi)核函數(shù)接口:

支持Port

因為Atomthreads是一款非常輕量級的實時操作系統(tǒng),不像FreeRTOS、RT-Thread、μC/OS等,沒有文件系統(tǒng)、網(wǎng)絡(luò)、CLI等一些組件。所以,Atomthreads不適合于實現(xiàn)復(fù)雜功能的嵌入式系統(tǒng)。
-
處理器
+關(guān)注
關(guān)注
68文章
20327瀏覽量
254753 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7432瀏覽量
129600 -
RTOS
+關(guān)注
關(guān)注
25文章
868瀏覽量
123206 -
STM8單片機
+關(guān)注
關(guān)注
0文章
65瀏覽量
10576
發(fā)布評論請先 登錄
硬實時·強生態(tài):鴻道Intewell硬實時操作系統(tǒng)
AD7581:一款強大的8位8通道數(shù)據(jù)采集系統(tǒng)
國產(chǎn)工業(yè)操作系統(tǒng)選型指南:硬實時、功能安全與生態(tài)怎么選
操作系統(tǒng)體系結(jié)構(gòu)
操作系統(tǒng)的發(fā)展及分類
操作系統(tǒng)運行機制
EV10AS180A模數(shù)轉(zhuǎn)換器支持哪些操作系統(tǒng)
單片機的操作系統(tǒng)
嵌入式實時操作系統(tǒng)的特點
如何選擇合適的實時操作系統(tǒng)
鴻道Intewell:以創(chuàng)新國產(chǎn)實時操作系統(tǒng)助力多產(chǎn)業(yè)發(fā)展
關(guān)于一款可以在STM8上運行的實時操作系統(tǒng)Atomthreads
評論