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