一個簡單的51單片機操作系統(tǒng)的實現(xiàn)
講解一下實現(xiàn)的內(nèi)容:
task_0是個空循環(huán)
task_1的作用是提取task_2的等待時間,顯示在數(shù)碼管上
task_2是在P3口上的跑馬燈(2秒跑一個燈)
task_3是單純地調(diào)用任務延時
task_4在P1口上的跑馬燈(100ms跑一個燈)
程序使用定時器2計數(shù)器產(chǎn)生的中斷作為時鐘源,時鐘的節(jié)拍是10ms一次。
當然這個渺小的操作系統(tǒng)只實現(xiàn)了一些相當基本的功能:多任務和系統(tǒng)延時以及搶占優(yōu)先級。還有信號量、內(nèi)存管理、事件、郵箱等等機制尚未實現(xiàn),但是懂了這個基礎內(nèi)容之后,其它的東西,都是在上面做擴充的。
記得在一篇資料里面聽到過這個:會寫狀態(tài)機的程序員,肯定會寫操作系統(tǒng)。這句話到現(xiàn)在覺得相當正確。操作系統(tǒng)就是一個另類的狀態(tài)機,人為地干預了子程序調(diào)用和返回的過程。慶幸當年的匯編沒白學,操作系統(tǒng)需要懂得一些基本的硬件結構,匯編,C語言,當懂得這些之后,再去網(wǎng)上多搜索點相關的資料,并且自己去用代碼一行行實現(xiàn),加以時日,操作系統(tǒng)便能輕松地玩轉與手.
在此,感謝黃健昌在網(wǎng)上的發(fā)表的《 建立一個屬于自己的AVR的RTOS》,這篇文章讓我對RTOS有了一個淺顯的了解
風城少主發(fā)表的《建立一個屬于自己的51實時操作系統(tǒng)》,指導我在熟悉的51單片機上實現(xiàn)這個操作系統(tǒng)。
芯源老師的《芯源的單片機教程》為我提供了51單片機匯編及其硬件架構的深入了解。
感謝http://www.51hei.com/mcu/1111.html這個作者的激勵與鼓勵
真誠地感謝上面提及的人,讓我能夠入門操作系統(tǒng),進而了解到什么是嵌入式操作系統(tǒng),怎么去具體實現(xiàn)。
評論