總之嵌入式軟件開發(fā)和硬件關(guān)系比較緊密,一般需要編寫硬件驅(qū)動。,舉個很簡單的例子嵌入式開發(fā)。嵌入式系統(tǒng)是軟硬結(jié)合的東西,搞嵌入式開發(fā)的人有兩類。

嵌入式軟件開發(fā)與軟件開發(fā)有什么區(qū)別
1.嵌入式軟件開發(fā)是指單片機(jī)、ARM、FPGA的編程。如果沒有或操作系統(tǒng),即使有,也是功能相對簡單的操作系統(tǒng),比如ucos。總之,嵌入式軟件開發(fā)與硬件密切相關(guān),所以一般需要編寫硬件驅(qū)動程序。2.軟件開發(fā)一般是指在已經(jīng)安裝了image或linux的電路板上編寫應(yīng)用程序。軟件開發(fā)不直接寫硬件驅(qū)動,因為驅(qū)動已經(jīng)被操作系統(tǒng)實現(xiàn)了。軟件開發(fā)側(cè)重于邏輯功能的實現(xiàn)。比如拍照,調(diào)用相機(jī)驅(qū)動就可以了。
什么是嵌入式開發(fā)?
嵌入式開發(fā)有很多層次。大致有以下幾個步驟:硬件之路。第一步是嵌入式開發(fā)pcb設(shè)計,一般是開發(fā)板的電路縮減和擴(kuò)展。根據(jù)開發(fā)板的原理圖,畫出PCB和封裝庫,自己設(shè)計電路。第二步是SOPC技術(shù),一般用FPGA和CPLD開發(fā)。它使用VHDL等硬件描述語言開發(fā)專用arm芯片,自己編寫邏輯電路,基于or FPGA開發(fā)。Arm9的第三步是SOC設(shè)計,分為前端和后端實現(xiàn)。這是硬件設(shè)計的核心技術(shù)芯片設(shè)計。能做到這一點的已經(jīng)不是普通的技術(shù)人員了。arm9開發(fā)板軟件之路的第一步就是寫和修改。通過這一步,熟悉ARM硬件結(jié)構(gòu),學(xué)習(xí)ARM匯編語言,閱讀ARM芯片手冊。感覺像操作51單片機(jī)一樣操作ARM芯片。這一步最好的兩個參考資料是芯片手冊和源代碼。第二步,系統(tǒng)移植,驅(qū)動發(fā)展。我只做過linux,所以也推薦學(xué)習(xí)嵌入式linux系統(tǒng)。作為一個標(biāo)準(zhǔn)系統(tǒng),它是開源的,可以獲得很多學(xué)習(xí)資料。操作系統(tǒng)是整個計算機(jī)科學(xué)的核心,要熟悉它并不容易。學(xué)習(xí)驅(qū)動開發(fā)沒有捷徑,只有多讀代碼,多寫代碼,熟悉系統(tǒng)API..linux和linux是不可多得的書,值得一讀。第三步是應(yīng)用程序的編寫,各種GUI的移植,qt,這些都是被廣泛采用的。兩個思路差不多,可以熟悉一個。在軟件道路中,驅(qū)動系統(tǒng)應(yīng)該是最深入的部分,不是短時間就能掌握的。這需要勇氣和耐心。嵌入式開發(fā)是硬件和軟件的結(jié)合。因為硬件條件比PC差很多,必然會有很多問題,所以練習(xí)的勇氣就更重要了。如果有什么問題,可能是唯一解決的辦法。

什么是嵌入式開發(fā)?
首先要知道什么是嵌入式,嵌入式的定義是“用于控制、監(jiān)視或輔助操作機(jī)器設(shè)備的裝置”。嵌入式開發(fā)也可以分為嵌入式硬件開發(fā)、嵌入式系統(tǒng)開發(fā)(底層驅(qū)動)和嵌入式。嵌入式硬件和MCU、DSP一樣,基本都是由數(shù)字電路組成的。這也可以看作是電子硬件開發(fā),沒必要單獨(dú)出一門嵌入式硬件學(xué)科。只是這個嵌入式開發(fā)中有這部分工作。嵌入式系統(tǒng)嵌入式系統(tǒng)是一種特殊的計算機(jī)系統(tǒng),是設(shè)備或裝置的一部分。在處理硬件驅(qū)動層的時候,一定要有一定的硬件知識。典型的嵌入式系統(tǒng)有,,,WinCE,,μCos。但是現(xiàn)在有公司把硬件和系統(tǒng)集成在一個模塊里,比如“新靈思”嵌入式應(yīng)用軟件,就是運(yùn)行在上述嵌入式系統(tǒng)上的應(yīng)用軟件。一般來說,做這部分開發(fā)不需要處理底層硬件知識。相對于驅(qū)動開發(fā)更簡單,全部使用高級開發(fā)語言。JAVA,C#等。所以應(yīng)用開發(fā)的工資相對低于開車。

嵌入式軟件開發(fā)
嵌入式軟件開發(fā)需要學(xué)習(xí)的東西很多,因為它不同于普通的上層軟件開發(fā),主要表現(xiàn)在嵌入式軟件是指針對某一特定需求或應(yīng)用定制的軟硬件平臺,以及在該平臺上運(yùn)行的軟件。所以,學(xué)習(xí)嵌入式軟件開發(fā),不僅要有軟件開發(fā)的知識,還要有主流嵌入式操作系統(tǒng)、硬件架構(gòu)、硬件資源管理的知識。需要學(xué)習(xí)的課程主要有:1。編程課程(主要基于C顧嵐