【目前正尋求技術輔導教學工作, 可為家教或小班制形式, 若有需嵌入式或物聯網相關專業技術輔導者可洽談】

 

有朋友來詢問學習Embedded Linux及RTOS應該要從哪個開發板開始學習會比較好


我認為這是蠻多初學者可能會有的疑惑


下面列出一些小弟我的個人經驗及看法

 

未必敢說是最正確, 或適合任何人

 

關於Embedded Linux的學習部分, 我想可以分為兩個層面

 

一是環境建置的學習, 就是例如了解什麼是bootloader、filesystem、kernel、device driver、applications 並有能力去建置這些東西

 

讓這些部分能被執行於板子上, 除了熟悉這些部分單元, 也熟悉Linux開發環境的使用

 

我認為這些的重點不在於是用哪款板子, 只要能提供這些單元可學習空間的板子都可以 (因為這邊是討論板子, 所以用qemu進行模擬的狀況就暫時先不提)

 

例如早期的PXA270(現在已經買不太到, 而且價格較高)、devkit8000、Pandaboard、Beaglebone Black等等(可能有些是我不知道的)

 

我個人較推薦的是Beaglebone Black板子, 因為它的價格相較於上述其他板子來說不算太高(大約兩千元左右)

 

而且上面是搭載TI的SoC chip, 而TI這類chip有一個特性是, 它的硬體規格資料公開的很詳盡(可參考他們官網: http://www.ti.com/product/AM3358/technicaldocuments), 所以很適合做為嵌入式系統軟體研究上所使用的硬體平台

 

也因為如此, 所以很多國外的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/documentation/hardware/raspberrypi/bcm2835/BCM2835-ARM-Peripherals.pdf  其內容大多是一些較通用的周邊操作資料

 

如果是做應用專案為主要目的, 我會直接推薦樹莓派(很方便又快速, 應用案例又多)

 

但如果是從頭到尾的Embedded Linux的學習, 我比較建議能從bootloader就開始建置的板子,

可以搭配網路上各路高手網友的資料學習

 

第二個層面就是關於較深入的各單元內容的學習, 例如trace各單元原始碼(bootloader、device driver等單元的設計開發學習), 這部分就比較屬於需要較長期學習累積經驗的方向了

 

 

而RTOS的部分, 其實RTOS的種類繁多, 我覺得對初學來說可以先選用直接有支援open source RTOS專案的MCU開發板, 例如STM32系列相關的開發板(有支援FreeRTOS)

 

或者其他符合這些條件的MCU開發板也都OK

 

 

 

我認為學習這些的重點其實不在於哪一款板子, 只要是符合條件的就可以了

 

希望我的見解能幫助到大家

 

【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章

arrow
arrow
    創作者介紹
    創作者 阿良 (孫文良) 的頭像
    阿良 (孫文良)

    阿良的嵌入式系統技術學習區

    阿良 (孫文良) 發表在 痞客邦 留言(0) 人氣()