材料/工具
硬件道路軟件道路
硬件道路:
第一步:
pcb設計,一般爲開發板的電路裁減和擴充,由開發板原理圖爲基礎,畫出PCB和封裝庫,設計自己的電路。
第二步:
SOPC技術,一般爲FPGA,CPLD開發,利用VHDL等硬件描述語言做專用arm芯片開發,寫出自己的邏輯電路,基於ALTER或XILINUX的FPGA做開發。
第三步:
SOC設計,分前端,後端實現,這是硬件設計的核心技術:芯片設計.能做到這步,已經不屬於平凡的技術人員。
軟件道路:
第一步:
bootloader的編寫,修改, 透過這步熟悉ARM硬件結構,學習ARM彙編語言,閱讀ARM的芯片手冊,感覺就是像操作51單片機一樣操作ARM芯片。這一步最好的兩個參考資料就是:芯片手冊和bootloader原始碼。
第二步:
系統移植, 驅動開發, 我只做過linux方向,所以也推薦學習嵌入式linux系統,作爲標準體系,他開源而且可以獲得大量學習資料.操作系統是整個計算機科學的核心,熟悉 kernel實屬不易,kernel, 驅動開發的學習,沒有什麼捷徑,只有多讀代碼,多寫代碼,熟悉系統API.. understanding linux kernel , linux device driver 都是不可多得的好書,值得一看。
第三步:
應用程序的編寫,各種Gui的移植,qt,minigui都被大量採用,兩種思想都類似,熟悉一種就可以。
軟件道路中,驅動系統應該是最深入的部分,不是短時間可以掌握的,需要有勇氣和耐心。嵌入式開發,軟硬結合,因爲硬件條件比PC差很多,所以肯定會遇見不少問題,因此實踐的勇氣更加重要.有問題就解決問題,無數次的實驗,也許是解決問題的必由之路。