嵌入式開(kāi)發(fā)的基本步驟
在這篇文章中,小編將為大家?guī)?lái)嵌入式開(kāi)發(fā)的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。
嵌入式大體分為以下四個(gè)方向:
1、嵌入式硬件開(kāi)發(fā):熟悉電路等知識(shí),非常熟悉各種常用元器件,掌握模擬電路和數(shù)字電路設(shè)計(jì)的開(kāi)發(fā)能力。熟練掌握嵌入式硬件知識(shí),熟悉硬件開(kāi)發(fā)模式和設(shè)計(jì)模式,熟悉ARM32位處理器嵌入式硬件平臺(tái)開(kāi)發(fā)、并具備產(chǎn)品開(kāi)發(fā)經(jīng)驗(yàn)。精通常用的硬件設(shè)計(jì)工具:Protel/PADS(PowerPCB)/Cadence/OrCad。一般需要有4~8層高速PCB設(shè)計(jì)經(jīng)驗(yàn)。
2、嵌入式驅(qū)動(dòng)開(kāi)發(fā):熟練掌握Linux操作系統(tǒng)、系統(tǒng)結(jié)構(gòu)、計(jì)算機(jī)組成原理、數(shù)據(jù)結(jié)構(gòu)相關(guān)知識(shí)。熟悉嵌入式ARM開(kāi)發(fā),至少掌握Linux字符驅(qū)動(dòng)程序開(kāi)發(fā)。具有單片機(jī)、ARM嵌入式處理器的移植開(kāi)發(fā)能力,理解硬件原理圖,能獨(dú)立完成相關(guān)硬件驅(qū)動(dòng)調(diào)試,具有扎實(shí)的硬件知識(shí),能夠根據(jù)芯片手冊(cè)編寫(xiě)軟件驅(qū)動(dòng)程序。
3、嵌入式系統(tǒng)開(kāi)發(fā):掌握Linux系統(tǒng)配置,精通處理器體系結(jié)構(gòu)、編程環(huán)境、指令集、尋址方式、調(diào)試、匯編和混合編程等方面的內(nèi)容;掌握Linux文件系統(tǒng)制作,熟悉各種文件系統(tǒng)格式(YAFFS2、JAFFS2、RAMDISK等);熟悉嵌入式Linux啟動(dòng)流程,熟悉Linux配置文件的修改;掌握內(nèi)核裁減、內(nèi)核移植、交叉編譯、內(nèi)核調(diào)試、啟動(dòng)程序Bootloader編寫(xiě)、根文件系統(tǒng)制作和集成部署Linux系統(tǒng)等整個(gè)流程;、熟悉搭建Linux軟件開(kāi)發(fā)環(huán)境(庫(kù)文件的交叉編譯及環(huán)境配置等);
4、嵌入式軟件開(kāi)發(fā):精通Linux操作系統(tǒng)的概念和安裝方法、Linux下的基本命令、管理配置和編輯器,包括VI編輯器,GCC編譯器,GDB調(diào)試器和 Make 項(xiàng)目管理工具等知識(shí);精通C語(yǔ)言的高級(jí)編程知識(shí),包括函數(shù)與程序結(jié)構(gòu)、指針、數(shù)組、常用算法、庫(kù)函數(shù)的使用等知識(shí)、數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)內(nèi)容,包括鏈表、隊(duì)列等;掌握面向?qū)ο缶幊痰幕舅枷?,以及C++語(yǔ)言的基礎(chǔ)內(nèi)容;精通嵌入式Linux下的程序設(shè)計(jì),精通嵌入式Linux開(kāi)發(fā)環(huán)境,包括系統(tǒng)編程、文件I/O、多進(jìn)程和多線程、網(wǎng)絡(luò)編程、GUI圖形界面編程、數(shù)據(jù)庫(kù);熟悉常用的圖形庫(kù)的編程,如QT、GTK、miniGUI、fltk、nano-x等。
公司的日?;顒?dòng)還是看公司的規(guī)模,大一點(diǎn)的一般只是讓你負(fù)責(zé)一個(gè)模塊,這樣你就要精通一點(diǎn)。若是公司比較小的話估計(jì)要你什么都做一點(diǎn)。還要了解點(diǎn)硬件的東西。
二、嵌入式開(kāi)發(fā)的基本步驟
當(dāng)前,嵌入式開(kāi)發(fā)已經(jīng)逐步規(guī)范化,在遵循一般工程開(kāi)發(fā)流程的基礎(chǔ)上,嵌入式開(kāi)發(fā)有其自身的一些特點(diǎn)。主要包括系統(tǒng)需求分析(要求有嚴(yán)格規(guī)范的技術(shù)要求)、體系結(jié)構(gòu)設(shè)計(jì)、軟硬件及機(jī)械系統(tǒng)設(shè)計(jì)、系統(tǒng)集成、系統(tǒng)測(cè)試,最終得到產(chǎn)品。
(1)系統(tǒng)需求分析。確定設(shè)計(jì)任務(wù)和設(shè)計(jì)目標(biāo),并提煉出設(shè)計(jì)規(guī)格說(shuō)明書(shū),作為正式設(shè)計(jì)指導(dǎo)和驗(yàn)收的標(biāo)準(zhǔn)。系統(tǒng)的需求一般分功能性需求和非功能性需求兩方面。功能性需求是系統(tǒng)的基本功能,如輸入輸出信號(hào)、操作方式等;非功能性需求包括系統(tǒng)性能、成本、功耗、體積、重量等因素。
(2)體系結(jié)構(gòu)設(shè)計(jì)。描述系統(tǒng)如何實(shí)現(xiàn)所述的功能和非功能性需求,包括對(duì)硬件、軟件和執(zhí)行裝置的功能劃分,以及系統(tǒng)的軟件、硬件選型等。一個(gè)好的體系結(jié)構(gòu)是設(shè)計(jì)成功與否的關(guān)鍵。
(3)硬件/軟件協(xié)同設(shè)計(jì)?;隗w系結(jié)構(gòu),對(duì)系統(tǒng)的軟件、硬件進(jìn)行詳細(xì)設(shè)計(jì)。為了縮短產(chǎn)品開(kāi)發(fā)周期,設(shè)計(jì)往往是并行的。嵌入式系統(tǒng)設(shè)計(jì)的工作大部分都集中在軟件設(shè)計(jì)上,面向?qū)ο蠹夹g(shù)、軟件組件技術(shù)、模塊化設(shè)計(jì)是現(xiàn)代軟件工程經(jīng)常采用的方法。
(4)系統(tǒng)集成。把系統(tǒng)的軟件、硬件和執(zhí)行裝置集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)單元設(shè)計(jì)過(guò)程中的錯(cuò)誤。
(5)系統(tǒng)測(cè)試。對(duì)設(shè)計(jì)好的系統(tǒng)進(jìn)行測(cè)試,看其是否滿足規(guī)格說(shuō)明書(shū)中給定的功能要求。
嵌入式系統(tǒng)開(kāi)發(fā)模式最大特點(diǎn)是軟件、硬件綜合開(kāi)發(fā)。這是因?yàn)榍度胧疆a(chǎn)品是軟硬件的結(jié)合體,軟件針對(duì)硬件開(kāi)發(fā)、固化、不可修改。
以上便是小編此次帶來(lái)的有關(guān)嵌入式開(kāi)發(fā)的全部?jī)?nèi)容,十分感謝大家的耐心閱讀,想要了解更多相關(guān)內(nèi)容,或者更多精彩內(nèi)容,請(qǐng)一定關(guān)注我們網(wǎng)站哦。