版本 abb5f785269aee85c03d92b347b14699f68ff727
jackraken (吳義路)
簡介
- 成功大學資訊106級
作業
Github
arm-lecture<https://github.com/jackraken/arm-lecture>
_visualizer<https://github.com/jackraken/visualizer>
_freertos-basic<https://github.com/jackraken/freertos-basic>
_
NOTE
lab38<https://embedded2015.hackpad.com/4g6WrocTJST>
_lab39<https://embedded2015.hackpad.com/PdFHyW3sqnr>
_lab40<https://hackpad.com/Lab-40--B7wBxEPQiuF>
_
學期報告
rt-thread</embedded/rt-thread>
_
心得
會選這堂課是因為一直以來常常聽說這堂課能學到很多東西,加上久仰jserv老師的名聲。由於現在才大二,不論是計算機組織或作業系統都幾乎沒有任何基礎,在修這門課的過程中確實遇到了滿多困難的,往往回去查上課聽到的新名詞就花了好幾個小時。在前幾個禮拜,努力做出作業還滿有成就感的,只是後來學習的速度漸漸跟不上,有點可惜,希望之後基礎更好再來修這堂課。
我覺得自己在這堂課最大的收穫,就是了解了OS與底層硬體的許多基本概念與相關議題,包括TLB、cache、mutex、mmu等等,像是從學期初老師提到的TLB與cache,是計組直到學期末才提到的內容,讓我能更清楚的理解。我也學到了OS因為要跟硬體結合,有很多跟寫一般程式不同的地方,像是interrupt跟context switch都會對效能產生影響。也藉著對FreeRTOS的研究,知道了作業系統如何處理task,以及內部的資料結構是如何運作。
在期末專題的部分,雖然我的貢獻應該是微乎其微,但本身還是學到了不少東西。第一是追蹤程式碼的能力,一開始一行一行的看真的相當沒有效率,往往花了大半的時間還找不到自己想了解的程式碼,後來藉著一些搜尋的技巧搭配grep、ack等指令,就能夠比較快找出關鍵的程式碼。第二是搜尋資料的能力,一開始只會上網google,但搜尋到的結果不是太簡單就是不完全符合需求,後來發現很多資料其實都在手冊裡,雖然手冊的份量往往很大,但認真讀完後對一些硬體的了解真的比盲目地上網找答案還加深許多。除此之外,也藉著這次機會學習如何撰寫驅動程式,以及beaglebone開機的詳細流程等。
自我評量分數 (1 到 10 級分)
- 5分
- 必須承認自己花在這堂課上的時間真的沒有很多,大概一個禮拜6~10小時左右,很多比我還厲害很多的同學都花了比我還多出數倍的時間,可能我自學的能力還是有待加強。很多時候雖然知道應該更用功一點,但看到一大堆沒聽過的專有名詞或是數百頁的資料時,會覺得沒什麼動力繼續讀下去。不過這堂課還是教了我許多東西,也讓我看到了很多高手與自己實力的不足,並且更認識現在業界所需要的技術與能力。看在我幾乎都有認真上課,以及所花的時間上,我給自己5分。