【目前正尋求技術輔導教學工作, 可為家教或小班制形式, 若有需嵌入式或物聯網相關專業技術輔導者可洽談】
有朋友來詢問學習Embedded Linux及RTOS應該要從哪個開發板開始學習會比較好
我認為這是蠻多初學者可能會有的疑惑
下面列出一些小弟我的個人經驗及看法
未必敢說是最正確, 或適合任何人
關於Embedded Linux的學習部分, 我想可以分為兩個層面
一是環境建置的學習, 就是例如了解什麼是bootloader、
讓這些部分能被執行於板子上, 除了熟悉這些部分單元, 也熟悉Linux開發環境的使用
我認為這些的重點不在於是用哪款板子, 只要能提供這些單元可學習空間的板子都可以 (因為這邊是討論板子, 所以用qemu進行模擬的狀況就暫時先不提)
例如早期的PXA270(現在已經買不太到, 而且價格較高)、devkit8000、Pandaboard、
我個人較推薦的是Beaglebone Black板子, 因為它的價格相較於上述其他板子來說不算太高(大約兩千元左右)
而且上面是搭載TI的SoC chip, 而TI這類chip有一個特性是, 它的硬體規格資料公開的很詳盡(可參考他們官網: http://www.ti.com/product/
也因為如此, 所以很多國外的Embedded linux書籍很愛將 Beaglebone Black做為實驗目標的板子
例如下面這兩本(剛好是近年來看到):
(1) 精通嵌入式Linux程式設計 Mastering Embedded Linux Programming(作者: Chris Simmonds, 譯者: 錢亞宏, 出版社:博碩)
(2) Embedded Linux 嵌入式系統開發實務 第二版(作者:Christopher Hallinan, 譯者: 江良志, 出版社:旗標)
而我沒有推薦樹莓派的原因是我認為樹莓派相對較適合做應用.
舉例來說, 用樹莓派可能比較沒辦法自己編譯或trace bootloader , 也似乎比較沒辦法看到上面bcm283x Soc的詳細資料 (如果我認知沒錯的話, 因為我自己也在SoC產業待過, 大概可以想像到是什麼狀況)
從他們給出的資料可以看出: https://www.raspberrypi.org/
如果是做應用專案為主要目的, 我會直接推薦樹莓派(很方便又快速, 應用案例又多)
但如果是從頭到尾的Embedded Linux的學習, 我比較建議能從bootloader就開始建置的板子,
可以搭配網路上各路高手網友的資料學習
第二個層面就是關於較深入的各單元內容的學習, 例如trace各單元原始碼(bootloader、device driver等單元的設計開發學習), 這部分就比較屬於需要較長期學習累積經驗的方向了
而RTOS的部分, 其實RTOS的種類繁多, 我覺得對初學來說可以先選用直接有支援open source RTOS專案的MCU開發板, 例如STM32系列相關的開發板(有支援FreeRTOS)
或者其他符合這些條件的MCU開發板也都OK
我認為學習這些的重點其實不在於哪一款板子, 只要是符合條件的就可以了
留言列表