嵌入式工程師的硬件和軟件道路選擇


<script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>
這是一個初學者常問的問題,也是初學者問嵌入式該如何入門的根源。我感覺有兩個方面,偏硬和偏軟.我不認爲嵌入式開發軟件佔絕對比重,相反,軟硬件都懂,纔是嵌入式高手所應該追求的,也是高手的必由之路。

 

       硬件道路:


  第一步: pcb設計,一般爲開發板的電路裁減和擴充,由開發板原理圖爲基礎,畫出PCB和封裝庫,設計自己的電路。

  第二步: SOPC技術,一般爲FPGA,CPLD開發,利用VHDL等硬件描述語言做專用芯片開發,寫出自己的邏輯電路,基於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差很多,所以肯定會遇見不少問題,因此實踐的勇氣更加重要.有問題就解決問題,無數次的實驗,也許是解決問題的必由之路。
 
發佈了9 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章