汽車嵌入式軟件開發(fā)(汽車嵌入式軟件開發(fā)是做什么的)
今天給各位分享汽車嵌入式軟件開發(fā)的知識,其中也會對汽車嵌入式軟件開發(fā)是做什么的進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
本文目錄一覽:
- 1、嵌入式在汽車中的應(yīng)用
- 2、嵌入式系統(tǒng)的應(yīng)用和開發(fā)
- 3、嵌入式硬件開發(fā)需要哪些軟件開發(fā)?
- 4、嵌入式軟件開發(fā)要學什么?要學哪些東西?
- 5、嵌入式軟件工程師需要掌握什么?
- 6、嵌入式軟件工程師主要做什么工作?
嵌入式在汽車中的應(yīng)用
我是在國外做嵌入式汽車電子開發(fā)【ECU】開發(fā)的,2年前才如此行,不是專家,汽車的引擎,變速裝置,車體,電動車窗都是由單片機控制的,單片機之間的通信有CAN FLexRay Lin等主流的方式。汽車中嵌入式的軟件開發(fā)現(xiàn)在已經(jīng)占據(jù)了50%,將來會更加多。復(fù)雜的軟件處理需要有經(jīng)驗的軟件管理工程師,你可以學學軟件管理等,另外我國用市場換技術(shù)沒有成功,這里的技術(shù)指的就是嵌入式系統(tǒng),汽車的電子控制系統(tǒng)?,F(xiàn)在汽車很智能化,這些都得益于單片機的自動控制。
嵌入式系統(tǒng)的應(yīng)用和開發(fā)
嵌入式系統(tǒng)的應(yīng)用和開發(fā)
基于嵌入式系統(tǒng)的具體產(chǎn)品應(yīng)用是計算機工程史上的里程碑。深入到了各行各業(yè),其已成為高科技領(lǐng)域中必不可少的工具。 我下面為你整理了關(guān)于嵌入式系統(tǒng)的應(yīng)用和開發(fā)的文章,希望對你有所幫助。
1嵌入式系統(tǒng)簡介
嵌入式系統(tǒng)可以抽象出一個典型的組成模型,其可劃分為硬件層、軟件層及功能層。
1.1嵌入式系統(tǒng)定義
嵌入式系統(tǒng)最通用的定義是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟硬件可裁剪、功能、可靠性、成本、體積、功耗嚴格要求的專用計算機[1]。
根據(jù)IEEE9(國際電氣和電子工程師協(xié)會)的定義,嵌入式系統(tǒng)也可定義為控制監(jiān)視或輔助設(shè)備機器和車間運行裝置。
嵌入式系統(tǒng)的定義很多,統(tǒng)一起來很難。對于其定義有疑問的部分研究人員將嵌入式系統(tǒng)定義為:“嵌入式系統(tǒng)是以嵌入式微處理器為內(nèi)核,以微電子技術(shù),計算機技術(shù),電子技術(shù)、對象技術(shù)為基礎(chǔ),軟硬件可根據(jù)對象需要所設(shè)置,并且嵌入到對象器件內(nèi),適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用智能化的控制系統(tǒng)?!盵2]
1.2嵌入式系統(tǒng)的特點
嵌入式系統(tǒng)是面向?qū)I(yè)應(yīng)用領(lǐng)域的,從其應(yīng)用角度分析,具有以下特點:
(1)硬件層,是所有軟件的運行基礎(chǔ),嵌入式系統(tǒng)至少擁有一個高性能處理器為硬件平臺。如ARM處理器。
(2)軟件層,其能擴充和充分發(fā)揮硬件層功能。嵌入式系統(tǒng)需有一個多任務(wù)操作系統(tǒng)的軟件平臺,來控制管理計算機硬件和軟件資源以及合理的組織計算機工作流程。如Liunx,UC/OSⅡ等操作系統(tǒng)。
(3)嵌入式系統(tǒng)是先進的技術(shù)及資金密集、知識產(chǎn)業(yè)化不斷創(chuàng)新的集成系統(tǒng)。其將先進的電子科學技術(shù)與各行各業(yè)的具體應(yīng)用相結(jié)合。
(4)是面向用戶、產(chǎn)品及特定應(yīng)用的。
(5)具有較長的生命周期。與實際產(chǎn)品相結(jié)合,并與產(chǎn)品升級同步進行。
(6)對程序質(zhì)量要求較高。一般都將系統(tǒng)中的軟件固化在存儲器中,大部分都具有較高的實時性。
(7)嵌入式系統(tǒng)不具備在其上進行進一步開發(fā)的能力。需要借助專門的開發(fā)工具和環(huán)境來滿足產(chǎn)品設(shè)計完成后的程序功能修改工作。
2基于ARM的嵌入式系統(tǒng)技術(shù)應(yīng)用及開發(fā)方法
2.1ARM的技術(shù)應(yīng)用特點
ARM(Advanced RISC Machines)是一種嵌入式微處理器,它具有低功耗、低成本、高性能的特點,采用RISC體系結(jié)構(gòu),大量使用寄存器,具有高效的指令系統(tǒng),在實際嵌入式應(yīng)用中,只保留和嵌入式應(yīng)用緊密相關(guān)的功能硬件,去除其他的冗余功能部分,來實現(xiàn)嵌入式應(yīng)用的特殊要求[3]。基于ARM微處理器的嵌入式系統(tǒng)不同于單片機、DSP系統(tǒng),其高性能的特點,在硬件部分的電路板設(shè)計方面是比較困難的,絕大多數(shù)的ARM板都要在4層以上。其實ARM最關(guān)鍵的是軟件部分的操作系統(tǒng),系統(tǒng)開發(fā)應(yīng)更側(cè)重于軟件方面,包括系統(tǒng)裁減,底層驅(qū)動和應(yīng)用程序等。
2.2ARM嵌入式系統(tǒng)的開發(fā)流程
基于ARM的嵌入式系統(tǒng)設(shè)計的開發(fā)流程如圖1所示。
2.3ARM嵌入式系統(tǒng)的開發(fā)方法
(1)建立系統(tǒng)的開發(fā)環(huán)境
嵌入式系統(tǒng)資源受限制,如果在其硬件平臺上直接編寫軟件,比較困難。因此根據(jù)其特點須在特定的開發(fā)環(huán)境下進行。搭建相應(yīng)的軟硬件平臺:在宿主機(HOST)也就是PC機上安裝開發(fā)工具,并將編寫好的軟件程序進行交叉編譯生成二進制代碼,最后將其移植到目標板的特定位置運行。這種在宿主機(HOST)環(huán)境下開發(fā),在目標板(TARGET)上運行的開發(fā)模式叫交叉開發(fā)模式,交叉開發(fā)模型如圖2所示。
(2)Boot Loader引導(dǎo)程序開發(fā)
Boot loader是在嵌入式操作系統(tǒng)內(nèi)核運行前運行的一段程序,與我們經(jīng)常提到的BIOS功能相近,每種體系結(jié)構(gòu)都有與其相匹配的Boot Loader。通過Boot loader程序的運行,可以初始化硬件設(shè)備,建立系統(tǒng)的內(nèi)存空間映射圖,這樣就可以將系統(tǒng)的軟、硬件環(huán)境設(shè)定在一個合適的狀態(tài),方便于最終調(diào)用操作系統(tǒng)內(nèi)核,并且為運行用戶應(yīng)用程序準備好正確的環(huán)境。
Boot loader程序由匯編和C程序兩部分組成,程序執(zhí)行過程也分為匯編和C程序代碼部分兩個階段。匯編程序與硬件設(shè)備相關(guān),不便移植,第一階段需要完成初始化看門狗、設(shè)置中斷異常向量表、堆棧、配置存儲器等,之后再跳轉(zhuǎn)到第二階段的C語言程序入口處。C程序代碼部分主要完成初始化本階段所需要的外部設(shè)備,調(diào)用NANDFLASH的API函數(shù),配置SDRAM空間,并將用戶的`程序代碼從NANDFLASH存儲器中復(fù)制到SDRAM中,最后再跳轉(zhuǎn)到用戶程序的入口[4]。
3嵌入式技術(shù)的應(yīng)用領(lǐng)域
嵌入式技術(shù)無處不在,已經(jīng)深入到了生活的各個領(lǐng)域,為我們的生活帶來了很大的方便。
(1)無線通訊領(lǐng)域。特別是智能手機,全球95%的手機采用了ARM芯片,隨著手機功能愈像電腦,手機更需要功能強大的嵌入式芯片?,F(xiàn)在,全球售出的每一部手機中平均就有2.4塊ARM芯片。
(2)工業(yè)控制領(lǐng)域。基于ARM核的32位微控制器芯片逐漸向低端微控制器應(yīng)用領(lǐng)域擴展,在工業(yè)控制領(lǐng)域發(fā)揮了很大的作用。
(3)網(wǎng)絡(luò)應(yīng)用。網(wǎng)絡(luò)寬帶技術(shù)不斷發(fā)展,基于ARM技術(shù)的ADSL芯片也逐步進入競爭范圍,并取得一定優(yōu)勢。而且,語音及視頻處理也應(yīng)用了ARM技術(shù),同時對DSP的應(yīng)用領(lǐng)域提出了新的挑戰(zhàn)。
(4)儀器儀表方面。有智能儀器、智能儀表、醫(yī)療器械、色譜儀、示波器等。
(5)民用方面。如電子玩具、電子字典、游戲機、錄像機、復(fù)讀機、投影儀、照相機、空調(diào)、冰箱、洗衣機、調(diào)制解調(diào)器、防盜控制器、激光驅(qū)動器、變速控制器、汽車點火控制器、避雷控制、農(nóng)業(yè)節(jié)水控制系統(tǒng)、保安控制系統(tǒng)等方面。
(6)導(dǎo)航控制方面。如導(dǎo)彈控制、航天導(dǎo)航系統(tǒng)、電子干擾系統(tǒng)等。
(7)數(shù)據(jù)處理方面。如圖文圖表終端、復(fù)印機、硬盤驅(qū)動器等。
(8)農(nóng)業(yè)交通方面。智能公路(汽車導(dǎo)航、流量控制、信息監(jiān)測與汽車服務(wù))、植物工廠(特種植物工廠、無土栽培技術(shù)、智能種子工程)、虛擬顯示VR機器人、信息家電(家用電器的網(wǎng)絡(luò)化)等等。
除此以外,眾多領(lǐng)域都用到了基于ARM微處理器的嵌入式技術(shù),在生活的各個領(lǐng)域得到了廣泛的應(yīng)用。
;
嵌入式硬件開發(fā)需要哪些軟件開發(fā)?
我主要來說下硬件開發(fā)以及開發(fā)的步驟有哪些
什么是嵌入式?
度娘給出的答案是:
嵌入式系統(tǒng)是一種專用的計算機系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個控制程序存儲在ROM中的嵌入式處理器控制板。
事實上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個程序?qū)崿F(xiàn)整個控制邏輯。
很多人對此還是不了解,那么,如何理解“嵌入式”呢?
從硬件上,將基于CPU的處圍器件,整合到CPU芯片內(nèi)部,早期的基于X86體系結(jié)構(gòu)下的計算機,CPU只是有運算器和累加器的功能,而目前很多控制器芯片早已集成到CPU內(nèi)部,例如早期PC機有顯卡,而現(xiàn)在多數(shù)嵌入式處理器都帶有LCD控制器,某種意義上就相當于顯卡。
從軟件上,就是在定制操作系統(tǒng)內(nèi)核里將應(yīng)用一并選入,編譯后將內(nèi)核下載到ROM中。而在定制操作系統(tǒng)內(nèi)核時所選擇的應(yīng)用程序組件就是完成了軟件的“嵌入”。
綜上所述,嵌入式是一個綜合性的學科。
嵌入式硬件開發(fā)流程
基于嵌入式的開發(fā),基本上分為四層:硬件層、驅(qū)動層、操作系統(tǒng)層和應(yīng)用層。
其中應(yīng)用層的開發(fā)最為簡單,也是需求量最大的,也是公司里利潤最高的部分。操作系統(tǒng)層的開發(fā)主要是移植相關(guān),很少有人自己寫操作系統(tǒng)。不過華為的鴻蒙系統(tǒng),還是很值得我們期待的。驅(qū)動層的開發(fā)比較難。需要能看懂電路圖還要對操作系統(tǒng)內(nèi)核十分的精通。
最后,說說硬件開發(fā),它是整個嵌入式系統(tǒng)的根本,是基礎(chǔ)。嵌入式硬件開發(fā)在很大程度上決定了嵌入式產(chǎn)品的性能。硬件工程師就像是設(shè)計師和建筑師,負責整個建筑的設(shè)計和建設(shè)。軟件工程師則是負責房間的裝修,錦上添花。
嵌入式軟件開發(fā)要學什么?要學哪些東西?
學習嵌入式軟件開發(fā)應(yīng)該從學習單片機開始,單片機是一切嵌入式的基礎(chǔ),最早的嵌入式系統(tǒng)就是以單片機為核心的,隨著技術(shù)的進步和發(fā)展,才逐步發(fā)展到現(xiàn)在的DSP、ARM為核心的等高端高速控制系統(tǒng)。單片機是基礎(chǔ),同時也是現(xiàn)在較大系統(tǒng)不可分割的組成部分,比如汽車,主控系統(tǒng)是ARM,但各個子系統(tǒng)仍然是單片機完成的。所以一個出色的嵌入式軟件工程師,必須具備單片機的知識,這樣才能在實際工作中把控一切,應(yīng)用自如。
嵌入式軟件工程師需要掌握什么?
嵌入式軟件工程師需要具備簡單的硬件電路設(shè)計能力。
需要懂得C語言和一些簡單的匯編語言編程;能夠閱讀一般嵌入式系統(tǒng)的原理圖;至少熟悉一種嵌入式系統(tǒng)的軟件開發(fā)環(huán)境;熟悉一種嵌入式系統(tǒng)軟件的開發(fā)過程;必要硬件基礎(chǔ)知識;理解常見的嵌入式操作系統(tǒng)的工作原理。
需要懂得:(1)懂得C語言和一些簡單的匯編語言編程。
(2)能夠閱讀一般嵌入式系統(tǒng)的原理圖。
(3)至少熟悉一種嵌入式系統(tǒng)的軟件開發(fā)環(huán)境。
(4)熟悉一種嵌入式系統(tǒng)軟件的開發(fā)過程,如:單片機系統(tǒng)、DSP系統(tǒng)、ARM系統(tǒng)或其它的一些潛入式系統(tǒng)。
(5)理解常見的嵌入式操作系統(tǒng)的工作原理,理解線程、進程、信號量、消息機制、同步與互拆、并發(fā)控制等軟件編程時用到的概念。
(6)必要硬件基礎(chǔ)知識。
嵌入式軟件工程師主要做什么工作?
嵌入式軟件工程師平時的工作就是負責嵌入式軟件系統(tǒng)的規(guī)劃、設(shè)計、編碼、測試等工作。
嵌入式分為操作系統(tǒng)和硬件兩個方面,就業(yè)的方向更廣、更深,就業(yè)機會和入職待遇比普通軟件工程師好。開發(fā)一些與硬件關(guān)系最密切的最底層軟件,如BootLoader、Board Support Package(像PC的BIOS一樣,往下驅(qū)動硬件,往上支持操作系統(tǒng)),最初級的硬件驅(qū)動程序等。
要求技能和發(fā)展方向
嵌入式工程師需要具有C語言或C++語言、匯編語言、操作系統(tǒng)等基礎(chǔ);熟悉模擬電子技術(shù)和數(shù)字電子技術(shù)等硬件知識;了解處理器體系結(jié)構(gòu)。
積累豐富開發(fā)經(jīng)驗的嵌入式軟件開發(fā)工程師可以向嵌入式系統(tǒng)開發(fā)工程師發(fā)展,從而晉升為產(chǎn)品研發(fā)經(jīng)理或IT項目經(jīng)理。
對測試理論和方法有一定了解的嵌入式軟件開發(fā)工程師還可以轉(zhuǎn)作嵌入式系統(tǒng)測試工程師,最終也可發(fā)展為IT項目經(jīng)理。如果想創(chuàng)業(yè),做自已的產(chǎn)品,嵌入式軟件開發(fā)可以開發(fā)出專利產(chǎn)品。
關(guān)于汽車嵌入式軟件開發(fā)和汽車嵌入式軟件開發(fā)是做什么的的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。