發表文章

目前顯示的是 3月, 2015的文章

Raspberry Pi (ARMv6)上自幹一個微小作業系統

      大約半年前,我加入fb的F9 based JuluOS與黃敬群老師( Jserv) 成大嵌入式系統課程社團,我才發現原來台灣有那麼多人在研究作業系統開發,我也想試試開發一個小小的OS。      從0開始寫一個OS是相當有趣的過程,可以檢視自己對C、資料結構、作業系統、計算機組織的瞭解程度,誠實的面對自己,雖然自己在系統廠工作幾年了,還是很多基礎知識不足,也許這就是為什麼那麼多高手可以在ic design house,而我在系統廠吧,寫這個小OS,只是學習的開始,接下來我會多研究其它的OS,例如:xv6、F9 microkernel、freeRTOS...       我把開發流程一步一步記錄,從bare metal Helloworld,加入printk,配置MMU, IRQ中斷,記憶體管理(Buddy system),到最後加入system call、process fork與round robin scheduling,方便學習。        所有原始程式碼都放在github上:  https://github.com/tzuCarlos/RaspberryPi      我使用qmeu測試:      這邊有執行的結果: https://github.com/tzuCarlos/RaspberryPi/blob/master/mimiOS/RESULT      系統說明:         先拖稿一下,下班還要唸書,顧嬰兒很累的,改天有空補上一步步說明XD      未來工作:      1.把ARM的架構跟ARM組合語言弄熟。      2.系統memory map我還沒好好規畫,只是想到做什麼功能,就找一塊出來。      3. 沒有檔案系統,沒有shell、沒有驅動程式構架。        4. 寫個RTOS吧. 推薦社群、blog、書藉: 1. F9 based JuluOS, https://www.facebook.com/groups/224024274384934/ 2. 黃敬群老師( Jserv) 成大課程,https://www.facebook.com/groups/ncku.embedded2015/ 3. Benux Wei, 精簡版作業系統實戰: 自製OS用Qem