嵌入式軟件開發(fā)的特點(diǎn)和技術(shù)挑戰(zhàn)
(1) 需要軟硬件開發(fā)環(huán)境和工具
嵌入式應(yīng)用系統(tǒng)的開發(fā)屬于跨平臺(tái)開發(fā)啊,即開發(fā)平臺(tái)使用的處理器和開發(fā)對(duì)象的處理器往往不是同一類型,需要交叉的軟件集成開發(fā)環(huán)境,即進(jìn)行代碼編寫、編譯、鏈接和調(diào)試應(yīng)用程序的集成開發(fā)環(huán)境。與運(yùn)行應(yīng)用程序的環(huán)境不同,它分散在有通信連接的主機(jī)與目標(biāo)機(jī)環(huán)境之中。在主機(jī)上系統(tǒng)開發(fā)者利用豐富的軟硬件資源、開發(fā)工具、仿真系統(tǒng),通過(guò)與目標(biāo)機(jī)的通信,生成能夠在目標(biāo)機(jī)上調(diào)試、運(yùn)行的代碼。一套完整的ARM綜合性嵌入式軟件開發(fā)工具,應(yīng)包含ARM體系的集成環(huán)境、調(diào)試器、模擬器、仿真器、評(píng)估板。
(2) 軟硬件必須協(xié)同設(shè)計(jì)
這種方法不是簡(jiǎn)單的軟硬件同時(shí)設(shè)計(jì),首先必須從系統(tǒng)的需求出發(fā),實(shí)現(xiàn)系統(tǒng)級(jí)與電路級(jí)設(shè)計(jì)的融合,從確定所需的功能開始,形成精確功能描述規(guī)范化模型。模型必須明確且完備,以便能夠描述整個(gè)系統(tǒng)。通常使用模型將系統(tǒng)分解為許多對(duì)象,然后以一種選定的語(yǔ)言對(duì)各個(gè)對(duì)象加以描述,產(chǎn)生設(shè)計(jì)說(shuō)明文檔。其次是把系統(tǒng)功能轉(zhuǎn)換為組織結(jié)構(gòu),組織結(jié)構(gòu)通過(guò)確定系統(tǒng)中部件的數(shù)量、種類以及部件間的互連,來(lái)定義系統(tǒng)的實(shí)現(xiàn)方式。設(shè)計(jì)的過(guò)程或方法就是一組設(shè)計(jì)任務(wù),將抽象的功能描述模型轉(zhuǎn)換成組織結(jié)構(gòu)模式。
(3) 需要新的任務(wù)設(shè)計(jì)方法
嵌入式應(yīng)用系統(tǒng)以任務(wù)為基本的執(zhí)行單元。在設(shè)計(jì)階段,用多個(gè)并發(fā)的任務(wù)代替通用軟件的多個(gè)模塊,并定義了應(yīng)用軟件間的接口。嵌入式系統(tǒng)的設(shè)計(jì)通常采用DARTS設(shè)計(jì)方法,該方法給出了系統(tǒng)任務(wù)劃分的方法和定義任務(wù)間接口的機(jī)制。
(4) 須固化代碼
開發(fā)過(guò)程完成后,系統(tǒng)應(yīng)用程序代碼需要固化到系統(tǒng)中進(jìn)行功能、性能和可靠性測(cè)試。
嵌入式系統(tǒng)運(yùn)行環(huán)境千差萬(wàn)別,甚至非常惡劣,這就要求應(yīng)用軟件在目標(biāo)環(huán)境下必須被存儲(chǔ)在非易失性存儲(chǔ)器中,保證用戶用完關(guān)機(jī)后下次還能正常使用,所以在應(yīng)用軟件開發(fā)完成以后,應(yīng)生成固化版本,將程序燒寫到目標(biāo)環(huán)境的ROM中運(yùn)行。在開發(fā)調(diào)試階段,利用開發(fā)環(huán)境中主機(jī)豐富的軟硬件資源和調(diào)試軟件,可以方便的觀察到軟件運(yùn)行的過(guò)程,但在實(shí)際的目標(biāo)環(huán)境中,沒有這些額外的觀察調(diào)試環(huán)境,所以為保證固化后的程序安全正確的運(yùn)行,在程序固化環(huán)境完成以后,還需要運(yùn)行各種測(cè)試。
(5) 技術(shù)要求高
技術(shù)挑戰(zhàn):軟件的要求更高,開發(fā)工作量和難度更大。
嵌入式系統(tǒng)開發(fā)具有明確的開發(fā)目標(biāo),終要構(gòu)建一點(diǎn)就至關(guān)重要了。要保證實(shí)時(shí)性要求,開發(fā)者就必須在系統(tǒng)設(shè)計(jì)和應(yīng)用軟件開發(fā)中,充分考慮到系統(tǒng)的實(shí)時(shí)性能。另外,還有功耗、體積、性能、軟件穩(wěn)定、系統(tǒng)可靠性、抗干擾、開發(fā)成本、系統(tǒng)構(gòu)建時(shí)間、系統(tǒng)終上市時(shí)間及系統(tǒng)的生命周期、系統(tǒng)的后續(xù)升級(jí)和維護(hù)、長(zhǎng)期運(yùn)行的可靠性等因素,這些都必須在軟硬件設(shè)計(jì)開發(fā)的整個(gè)過(guò)程中充分的考慮和體現(xiàn)。通常在考慮優(yōu)化某因素的同時(shí)會(huì)影響到其他方面,就必須要將眾多設(shè)計(jì)要點(diǎn)綜合考慮,系統(tǒng)設(shè)計(jì)。系統(tǒng)的可測(cè)試性和系統(tǒng)的設(shè)計(jì)優(yōu)化是嵌入式系統(tǒng)設(shè)計(jì)的關(guān)鍵和挑戰(zhàn)。
嵌入式是一門對(duì)于技術(shù)要求很高的行業(yè),如果說(shuō)你是已經(jīng)在從事嵌入式這一門行業(yè)的話,那么也是需要不斷的學(xué)習(xí)新的技術(shù)來(lái)提高自己的技能的。但是如果說(shuō)你是零基礎(chǔ)的話,那么達(dá)內(nèi)科技的講師還是建議大家可以來(lái)我們達(dá)內(nèi)科技的嵌入式培訓(xùn)班來(lái)考察的,也可以點(diǎn)擊我們文章下面的獲取試聽資格按鈕來(lái)獲取我們的嵌入式培訓(xùn)的免費(fèi)課程試聽資格,來(lái)和我們的講師進(jìn)行面對(duì)面的交流和溝通并更加深入的了解我們達(dá)內(nèi)科技。