看了很多行業標準,看了很多高大上的實時操作系統,但總感覺是霧裡看花,真正理解可能最好的方法就是自己動手寫一個實時操作系統。就像最瞭解世界的一定是上帝,因為這個世界是他創造的。
一般裸機(without OS)採用前後臺順序執行方式,也就是說前面的沒執行完,後面的也無法執行,但理解起來很流暢,類似於買火車票單窗口排隊模式。
但是實時性無法保證,後面一個任務一定要等到前一個任務完成,等的好煎熬!
所以上世紀80年代初期,大名鼎鼎的比爾蓋茨也做了一把PPT大神,在手上沒有任何籌碼即向IBM提出DOS一詞。而微軟則又在未告知自己正在與IBM談判的情況下,靠關係找到了西雅圖計算機公司。以5萬美元的價格向該公司購買他們所開發的操作系統。微軟將該軟體更名為PC-DOS,再授權IBM使用該操作系統。微軟還與其他計算機生產商談判,將經過更改後的MS-DOS系統安裝到每一臺新計算機上。
活生生的PPT造車!
農夫山泉廣告說:「我們不生產水我們是大自然的搬運工」,所以我們不生產RTOS, 我們只是所有優秀思想和代碼的搬運工!
為了方便開發屬於自己的RTOS,採用ARM的KEIL模擬模擬器μVision5, 這樣我們就不需要不停地拿基於ARM Cortex-M的板子來測試的部署了。等開發結束,我們可以一次性部署到真實的硬體上就好了。
先來一個最簡單的Demo例子
void delay (int count) { while (--count > 0); }
int flag;
int main () { for (;;) { flag = 0; delay(100); flag = 1; delay(100); }
return 0; }
可以看到,每間隔100時間單位,flag變數就會反轉。
好了,環境配置好了,界面也熟悉了,最簡單的代碼也調試成功了。讓我們揚帆起航,向著RTOS的終極終點衝刺吧!!!
推薦閱讀: