開始看 uC/OS II 也有一段時間了
一開始只是想知道一個 OS 要怎麼寫
就一頭熱鑽進去開始看
我去抓了 uC/OS II 的程式碼
還請 google 找來一堆投影片, PDF
大陸的網站東西超多
連作者的書: "uC/OS, The Real-Time Kernel" 的電子檔都有
ps. 這本書真的寫得很好, 我也去買了一本, 全華有出中譯本
----
我會先找一個簡單的範例程式, 例如 Hello World 之類
範例程式碼呼叫了 OSTaskCreate()
從名字看起來, 是 Create 一個 Task (廢話), 這是我的第一印象
知道 OSTaskCreate() 做什麼用的, 應該會有幫助吧
先前抓的投影片, 書本, 就都先拿來看一看
一份看不懂, 看另一份, 全部看不懂, 再去網路上找
最後我找到一份投影片, 用程式碼配解說
重點是我看得懂, 而且對整個系統好像有點感覺
之後我的信心大了點, 決定直接讀程式碼
ps. 後來我知道, 這份投影片的內容, 其實是從作者的書上抄下來的
那時候覺得書很厚, 懶得看, 就跳過去不看了
ps. 如果有某份資料很重要, 而且是接近 common sense 的東西
通常會在很多地方出現, 即使 miss 掉, 之後大概也補得起來
----
我看小說時, 沒辦法把人名和人物串在一起
後來我都準備一本筆記本, 作者描述小民 "多金, 帥氣, 有女人緣"
我就跟著寫一次, 幾個章節以後, 這個困擾也消失了
我也是準備一本筆記本來讀程式
看到資料結構, 寫到筆記本, 順便猜一下每個欄位做什麼用
為了確認我猜的對不對, 從程式碼裡找答案
看到某個 function , 就一路追到底, 把所有的來龍去脈弄清楚
這個過程跑個幾次, 多看幾個子系統
比如 Task management, Semaphore, Mailbox, Time Management, Queue
筆記會堆積得很快, 隨著掌握度的提升, 筆記會越寫越懶惰
直接看就知道意思的時候, "程式碼就是說明書了"
----
把整份 code 讀完, 我知道 OS 提供很多服務
也知道這些服務底層怎麼實作的, 感覺好像滿紮實的
但其實我現在還不會用 XD
這感覺就像修完線性代數, 卻完全不會用一樣
我的兵單也快來了, 把他忘光光, 腦袋空空當兵去了 :D
--
如果板上有研究 uC/OS II 的同好, 或需要研究這東西
我這裡有一些蒐集好的資料, 需要的朋友可以寄給我 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.246.173
※ 編輯: lihgong 來自: 59.115.246.173 (09/10 08:33)