嵌入式工程師的軟硬件道路發(fā)展的三部曲
硬件道路:
第一步: pcb設(shè)計(jì),一般為開(kāi)發(fā)板的電路裁減和擴(kuò)充,由開(kāi)發(fā)板原理圖為基礎(chǔ),畫(huà)出PCB和封裝庫(kù),設(shè)計(jì)自己的電路。
第二步: SOPC技術(shù),一般為FPGA,CPLD開(kāi)發(fā),利用VHDL等硬件描述語(yǔ)言做專用芯片開(kāi)發(fā),寫(xiě)出自己的邏輯電路,基于ALTER或XILINUX的FPGA做開(kāi)發(fā)。
第三步: SOC設(shè)計(jì),分前端,后端實(shí)現(xiàn),這是硬件設(shè)計(jì)的核心技術(shù):芯片設(shè)計(jì).能做到這步,已經(jīng)不屬于平凡的技術(shù)人員。
軟件道路:
第一步:bootloader的編寫(xiě),修改, 通過(guò)這步熟悉ARM硬件結(jié)構(gòu),學(xué)習(xí)ARM匯編語(yǔ)言,閱讀ARM的芯片手冊(cè),感覺(jué)就是像操作51單片機(jī)一樣操作ARM芯片.這一步最好的兩個(gè)參考資料就是:芯片手冊(cè)和bootloader源代碼。
第二步:系統(tǒng)移植, 驅(qū)動(dòng)開(kāi)發(fā), 我只做過(guò)linux方向,所以也推薦學(xué)習(xí)嵌入式linux系統(tǒng),作為標(biāo)準(zhǔn)體系,他開(kāi)源而且可以獲得大量學(xué)習(xí)資料.操作系統(tǒng)是整個(gè)計(jì)算機(jī)科學(xué)的核心,熟悉 kernel實(shí)屬不易,kernel, 驅(qū)動(dòng)開(kāi)發(fā)的學(xué)習(xí),沒(méi)有什么捷徑,只有多讀代碼,多寫(xiě)代碼,熟悉系統(tǒng)API.. understanding linux kernel , linux device driver 都是不可多得的好書(shū),值得一看。
第三步:應(yīng)用程序的編寫(xiě),各種GUI的移植,qt , minigui都被大量采用,兩種思想都類似,熟悉一種就可以。
軟件道路中,驅(qū)動(dòng),系統(tǒng)應(yīng)該是最深入的部分,不是短時(shí)間可以掌握的,需要有勇氣和耐心。嵌入式開(kāi)發(fā),軟硬結(jié)合,因?yàn)橛布l件比PC差很多,所以肯定會(huì)遇見(jiàn)不少問(wèn)題,因此實(shí)踐的勇氣更加重要.有問(wèn)題就解決問(wèn)題,無(wú)數(shù)次的實(shí)驗(yàn),也許是解決問(wèn)題的必由之路。