軟件道路中,驅(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)題的必由之路,首先要知道什么是嵌入式,定義是“用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置”,
什么是嵌入式開(kāi)發(fā)?
嵌入式開(kāi)發(fā)有很多層次,大致有以下幾個(gè)步驟:硬件之路第一步是pcb設(shè)計(jì)的嵌入式開(kāi)發(fā),一般是開(kāi)發(fā)板的電路縮減和擴(kuò)展。根據(jù)開(kāi)發(fā)板原理圖,畫(huà)PCB和封裝庫(kù),自己設(shè)計(jì)電路。第二步是SOPC技術(shù),一般用FPGA和CPLD開(kāi)發(fā)。它使用VHDL等硬件描述語(yǔ)言開(kāi)發(fā)專用arm芯片,自己編寫(xiě)邏輯電路,基于or FPGA開(kāi)發(fā)。Arm9的第三步是SOC設(shè)計(jì),分為前端和后端實(shí)現(xiàn)。這是硬件設(shè)計(jì)的核心技術(shù)芯片設(shè)計(jì)。能做到這一點(diǎn)的已經(jīng)不是普通的技術(shù)人員了。arm9開(kāi)發(fā)板軟件之路的第一步就是寫(xiě)和修改。通過(guò)這一步,熟悉ARM硬件結(jié)構(gòu),學(xué)習(xí)ARM匯編語(yǔ)言,閱讀ARM芯片手冊(cè)。感覺(jué)像操作51單片機(jī)一樣操作ARM芯片。這一步最好的兩個(gè)參考資料是芯片手冊(cè)和源代碼。第二步,系統(tǒng)移植,驅(qū)動(dòng)發(fā)展。我只做過(guò)linux,所以也推薦學(xué)習(xí)嵌入式linux系統(tǒng)。作為一個(gè)標(biāo)準(zhǔn)系統(tǒng),它是開(kāi)源的,可以獲得很多學(xué)習(xí)資料。操作系統(tǒng)是整個(gè)計(jì)算機(jī)科學(xué)的核心,要熟悉它并不容易。學(xué)習(xí)驅(qū)動(dòng)開(kāi)發(fā)沒(méi)有捷徑,只有多讀代碼,多寫(xiě)代碼,熟悉系統(tǒng)API..linux和linux是不可多得的書(shū),值得一讀。第三步是應(yīng)用程序的編寫(xiě),各種GUI的移植,qt,這些都是被廣泛采用的。兩個(gè)思路差不多,可以熟悉一個(gè)。在軟件道路中,驅(qū)動(dòng)系統(tǒng)應(yīng)該是最深入的部分,不是短時(shí)間就能掌握的。這需要勇氣和耐心。嵌入式開(kāi)發(fā)是硬件和軟件的結(jié)合。因?yàn)橛布l件比PC差很多,必然會(huì)有很多問(wèn)題,所以練習(xí)的勇氣就更重要了。如果有什么問(wèn)題,可能是唯一解決的辦法。
什么是嵌入式開(kāi)發(fā)?
首先要知道什么是嵌入式,嵌入式的定義是“用于控制、監(jiān)視或輔助操作機(jī)器設(shè)備的裝置”。嵌入式開(kāi)發(fā)也可以分為嵌入式硬件開(kāi)發(fā)、嵌入式系統(tǒng)開(kāi)發(fā)(底層驅(qū)動(dòng))和嵌入式。嵌入式硬件和MCU、DSP一樣,基本都是由數(shù)字電路組成的。這也可以看作是電子硬件開(kāi)發(fā),沒(méi)必要單獨(dú)出一門(mén)嵌入式硬件學(xué)科。只是這個(gè)嵌入式開(kāi)發(fā)中有這部分工作。嵌入式系統(tǒng)嵌入式系統(tǒng)是一種特殊的計(jì)算機(jī)系統(tǒng),是設(shè)備或裝置的一部分。在處理硬件驅(qū)動(dòng)層的時(shí)候,一定要有一定的硬件知識(shí)。典型的嵌入式系統(tǒng)有,,,WinCE,,μCos。但是現(xiàn)在有公司把硬件和系統(tǒng)集成在一個(gè)模塊里,比如“新靈思”嵌入式應(yīng)用軟件,就是運(yùn)行在上述嵌入式系統(tǒng)上的應(yīng)用軟件。一般來(lái)說(shuō),做這部分開(kāi)發(fā)不需要處理底層硬件知識(shí)。相對(duì)于驅(qū)動(dòng)開(kāi)發(fā)更簡(jiǎn)單,全部使用高級(jí)開(kāi)發(fā)語(yǔ)言。JAVA,C#等。所以應(yīng)用開(kāi)發(fā)的工資相對(duì)低于開(kāi)車(chē)。
嵌入式開(kāi)發(fā)主要有哪幾種?
嵌入式開(kāi)發(fā)主要有兩種,一種是硬的,使用的語(yǔ)言主要是C語(yǔ)言和匯編,比如驅(qū)動(dòng)開(kāi)發(fā)。這種開(kāi)發(fā)對(duì)硬件要求較高,短期內(nèi)很難掌握,除非是專業(yè)人士。另外這種發(fā)展就業(yè)機(jī)會(huì)比較少,因?yàn)閲?guó)內(nèi)硬件設(shè)計(jì)力量薄弱,稍微復(fù)雜的硬件都是臺(tái)灣省或者國(guó)外公司設(shè)計(jì)的。一種是軟的,主要是基于嵌入式操作系統(tǒng),比如,,等等。開(kāi)發(fā)者主要從事嵌入式操作系統(tǒng)和應(yīng)用軟件的開(kāi)發(fā)。它的特點(diǎn)是學(xué)習(xí)容易,就業(yè)機(jī)會(huì)多,因?yàn)榍度胧皆O(shè)備的增值很大程度上取決于嵌入式軟件,而嵌入式軟件占了嵌入式系統(tǒng)最重要的工作。就業(yè)前景也很看好。
linux嵌入式開(kāi)發(fā)是做什么的
嵌入式操作系統(tǒng)EOS()是一款應(yīng)用廣泛的系統(tǒng)軟件。在過(guò)去,它主要用于工業(yè)控制和國(guó)防系統(tǒng)領(lǐng)域。EOS負(fù)責(zé)分配和調(diào)度嵌入在系統(tǒng)中的所有軟件和硬件資源,控制和協(xié)調(diào)并發(fā)活動(dòng)。它必須反映其所在系統(tǒng)的特征,并能實(shí)現(xiàn)