嵌入式開發(fā),軟硬結(jié)合,因?yàn)橛布l件比PC差很多,所以肯定會(huì)遇見不少問題,因此實(shí)踐的勇氣更加重要有問題就解決問題,無數(shù)次的實(shí)驗(yàn),也許是解決問題的必由之路,1、嵌入式軟件開發(fā)指的是針對(duì)單片機(jī)、ARM、FPGA的編程,沒有或linux操作系統(tǒng),即使有,也是功能較為簡(jiǎn)單的操作系統(tǒng),比如ucos。總之嵌入式軟件開發(fā)和硬件關(guān)系比較緊密,一般需要編寫硬件驅(qū)動(dòng)。
什么是嵌入式開發(fā)?
嵌入式開發(fā)有很多層次,大致有以下幾個(gè)步驟:硬件之路第一步是pcb設(shè)計(jì)的嵌入式開發(fā),一般是開發(fā)板的電路縮減和擴(kuò)展。根據(jù)開發(fā)板原理圖,畫PCB和封裝庫(kù),自己設(shè)計(jì)電路。第二步是SOPC技術(shù),一般用FPGA和CPLD開發(fā)。它使用VHDL等硬件描述語言開發(fā)專用arm芯片,自己編寫邏輯電路,基于or FPGA開發(fā)。Arm9的第三步是SOC設(shè)計(jì),分為前端和后端實(shí)現(xiàn)。這是硬件設(shè)計(jì)的核心技術(shù)芯片設(shè)計(jì)。能做到這一點(diǎn)的已經(jīng)不是普通的技術(shù)人員了。arm9開發(fā)板軟件之路的第一步就是寫和修改。通過這一步,熟悉ARM硬件結(jié)構(gòu),學(xué)習(xí)ARM匯編語言,閱讀ARM芯片手冊(cè)。感覺像操作51單片機(jī)一樣操作ARM芯片。這一步最好的兩個(gè)參考資料是芯片手冊(cè)和源代碼。第二步,系統(tǒng)移植,驅(qū)動(dòng)發(fā)展。我只做過linux,所以也推薦學(xué)習(xí)嵌入式linux系統(tǒng)。作為一個(gè)標(biāo)準(zhǔn)系統(tǒng),它是開源的,可以獲得很多學(xué)習(xí)資料。操作系統(tǒng)是整個(gè)計(jì)算機(jī)科學(xué)的核心,要熟悉它并不容易。學(xué)習(xí)驅(qū)動(dòng)開發(fā)沒有捷徑,只有多讀代碼,多寫代碼,熟悉系統(tǒng)API..linux和linux是不可多得的書,值得一讀。第三步是應(yīng)用程序的編寫,各種GUI的移植,qt,這些都是被廣泛采用的。兩個(gè)思路差不多,可以熟悉一個(gè)。在軟件道路中,驅(qū)動(dòng)系統(tǒng)應(yīng)該是最深入的部分,不是短時(shí)間就能掌握的。這需要勇氣和耐心。嵌入式開發(fā),軟硬件結(jié)合,因?yàn)橛布l件比PC的差很多,肯定會(huì)遇到很多問題,所以實(shí)踐的勇氣更重要。有什么問題就去解決,無數(shù)次的實(shí)驗(yàn)可能是解決問題的唯一方法
嵌入式軟件開發(fā)與軟件開發(fā)有什么區(qū)別
1。嵌入式軟件開發(fā)是指單片機(jī)、ARM、FPGA的編程,沒有或操作系統(tǒng)。即使有,也是功能相對(duì)簡(jiǎn)單的操作系統(tǒng),比如ucos??傊?,嵌入式軟件開發(fā)與硬件密切相關(guān),所以一般需要編寫硬件驅(qū)動(dòng)程序。2.軟件開發(fā)一般是指在已經(jīng)安裝了image或linux的電路板上編寫應(yīng)用程序。軟件開發(fā)不直接寫硬件驅(qū)動(dòng),因?yàn)轵?qū)動(dòng)已經(jīng)被操作系統(tǒng)實(shí)現(xiàn)了。軟件開發(fā)側(cè)重于邏輯功能的實(shí)現(xiàn)。比如拍照,調(diào)用相機(jī)驅(qū)動(dòng)就可以了。
嵌入式編程是什么意思·
就是給一些定制的小設(shè)備寫程序,比如手機(jī),MP3等。,以及生活中的小家電。這些設(shè)備可能都具有小型CPU和外圍設(shè)備。寫這些東西就是嵌入式編程。用一般c寫吧,現(xiàn)在到處都是電腦。
什么是嵌入式開發(fā)?
首先要知道什么是嵌入式,嵌入式的定義是“用于控制、監(jiān)視或輔助機(jī)器設(shè)備運(yùn)行的裝置”。嵌入式開發(fā)還可以分為嵌入式硬件開發(fā)、嵌入式系統(tǒng)開發(fā)(底層驅(qū)動(dòng))和嵌入式應(yīng)用軟件開發(fā)。嵌入式硬件和MCU、DSP一樣,基本都是由數(shù)字電路組成的。這也可以看作是電子硬件開發(fā),沒必要單獨(dú)出一門嵌入式硬件學(xué)科。只是這個(gè)嵌入式開發(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)用軟件。一般來說,做這部分開發(fā)不需要處理底層硬件知識(shí)。相對(duì)于驅(qū)動(dòng)開發(fā)更簡(jiǎn)單,全部使用高級(jí)開發(fā)語言。JAVA,C#等。所以應(yīng)用開發(fā)的工資相對(duì)低于開車。
什么是嵌入式開發(fā)?JAVA可以做嵌入式開發(fā)嗎?
嵌入式開發(fā)主要針對(duì)硬件開發(fā),開發(fā)的軟件用在MCU和ARM上。嵌入式開發(fā)需要了解硬件的結(jié)構(gòu)和工作原理,開發(fā)語言是現(xiàn)在主流的C語言