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