看了很多行業標準,看了很多高大上的實時操作系統,但總感覺是霧裡看花,真正理解可能最好的方法就是自己動手寫一個實時操作系統。就像最瞭解世界的一定是上帝,因為這個世界是他創造的。

一般裸機(without OS)採用前後臺順序執行方式,也就是說前面的沒執行完,後面的也無法執行,但理解起來很流暢,類似於買火車票單窗口排隊模式。

單片機"裸機"軟體設計,too young too simple?

但是實時性無法保證,後面一個任務一定要等到前一個任務完成,等的好煎熬!

所以上世紀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的終極終點衝刺吧!!!

推薦閱讀:

相關文章