版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章 嵌入式系統(tǒng)開發(fā)過程,2.1設(shè)計(jì)2.2流程 2.3硬件選擇 2.4軟件流程2.5調(diào)試2.6BSP,嵌入式系統(tǒng)的架構(gòu),,在不同的應(yīng)用場(chǎng)合,嵌入式系統(tǒng)呈現(xiàn)出的外觀和形式各不相同。但通過對(duì)其內(nèi)部結(jié)構(gòu)進(jìn)行分析,可以發(fā)現(xiàn),一個(gè)嵌入式系統(tǒng)一般都由嵌入式微處理器系統(tǒng)和被控對(duì)象組成,如下圖所示。其中嵌入式微處理器系統(tǒng)是整個(gè)系統(tǒng)的核心,由硬件層、中間層、軟件層和功能層組成。被控對(duì)象可以是各種傳感器、電機(jī)等,可以接受
2、嵌入式微處理器系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。,,硬件層由嵌入式微處理器、外圍電路和外設(shè)組成。在一片嵌入式微處理器基礎(chǔ)上增加電源電路、復(fù)位電路、調(diào)試接口和存儲(chǔ)器電路,就構(gòu)成一個(gè)嵌入式核心控制模塊。其中操作系統(tǒng)和應(yīng)用程序都可以固化在ROM或者Flash中。為方便使用,有的模塊在此基礎(chǔ)上增加了LCD、鍵盤、USB接口,以及其他一些功能的擴(kuò)展電路。嵌入式系統(tǒng)的硬件層是以嵌入式處理器為核心的,最初的嵌入式處理器都是為通用目的而設(shè)計(jì)
3、的。后來隨著微電子技術(shù)的發(fā)展出現(xiàn)了ASIC(Application specific integrated circuit,專用的集成電路),ASIC是一種為具體任務(wù)而特殊設(shè)計(jì)的專用集成電路。由于ASIC在設(shè)計(jì)過程中進(jìn)行了專門優(yōu)化,其性能、性價(jià)比都非常高。采用ASIC可以減少系統(tǒng)軟硬件設(shè)計(jì)的復(fù)雜度,降低系統(tǒng)成本。有的嵌入式微處理器利用ASIC來實(shí)現(xiàn),但ASIC的前期設(shè)計(jì)費(fèi)用非常高,而且ASIC一旦設(shè)計(jì)完成,就無法升級(jí)和擴(kuò)展,一般只有在一
4、些產(chǎn)量非常大的產(chǎn)品設(shè)計(jì)中才考慮使用ASIC。近年來,各種PLD(Programmable Logic Device,可編程邏輯器件)的出現(xiàn),改變了硬件設(shè)計(jì)方法,出現(xiàn)了“可重構(gòu)計(jì)算”的概念。通過改寫PLD,允許在不改變硬件結(jié)構(gòu)的情況下,實(shí)現(xiàn)不同的接口和功能。20世紀(jì)80年代中期以后出現(xiàn)了FPGA(Field-programmable gate array,現(xiàn)場(chǎng)可編程門陣列)器件,這是是一種大規(guī)模可編程邏輯器件,具有保密性好、體積小、重量
5、輕、可靠性高等一系列ASIC的優(yōu)點(diǎn)。FPGA的出現(xiàn)使得一個(gè)電子系統(tǒng)可以僅僅由三種標(biāo)準(zhǔn)模塊構(gòu)成,即微處理器、存儲(chǔ)器和可編程邏輯器件。前兩種模塊都已標(biāo)準(zhǔn)化,系統(tǒng)中大量的控制邏輯由FPGA實(shí)現(xiàn)。這使得硬件的設(shè)計(jì)更具有靈活性和擴(kuò)展性,并降低了后續(xù)產(chǎn)品開發(fā)的成本。,硬件層與軟件層之間為中間層,也稱為BSP(Board Support Package,板級(jí)支持包),將系統(tǒng)軟件與底層硬件部分隔離,使得系統(tǒng)的底層設(shè)備驅(qū)動(dòng)程序與硬件無關(guān),一般應(yīng)具有相關(guān)硬
6、件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置等功能。BSP是主板硬件環(huán)境和操作系統(tǒng)的中間接口,是軟件平臺(tái)中具有硬件依賴性的那一部分,主要目的是為了支持操作系統(tǒng),使之能夠更好地運(yùn)行于硬件主板上。純粹的BSP所包含的內(nèi)容一般說來是與系統(tǒng)有關(guān)的驅(qū)動(dòng)程序,如網(wǎng)絡(luò)驅(qū)動(dòng)程序和系統(tǒng)中的網(wǎng)絡(luò)協(xié)議有關(guān),串口驅(qū)動(dòng)程序和系統(tǒng)的下載調(diào)試有關(guān),等等。離開這些驅(qū)動(dòng)程序系統(tǒng)就不能正常工作。軟件層主要是操作系統(tǒng),有的還包括文件系統(tǒng)、圖形用戶接口和網(wǎng)絡(luò)系統(tǒng)等。操
7、作系統(tǒng)是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺(tái),實(shí)際上是一段程序,系統(tǒng)復(fù)位后首先執(zhí)行,相當(dāng)于用戶的主程序,用戶的其他應(yīng)用程序都建立在操作系統(tǒng)之上。操作系統(tǒng)是一個(gè)標(biāo)準(zhǔn)的內(nèi)核,將中斷、I/O、定時(shí)器等資源都封裝起來,以方便用戶使用。操作系統(tǒng)的引入大大提高了嵌入式系統(tǒng)的功能,方便了應(yīng)用軟件的設(shè)計(jì),但同時(shí)也占用了寶貴的嵌入式系統(tǒng)資源。一般在大型的或需要多任務(wù)的應(yīng)用場(chǎng)合才考慮使用嵌入式操作系統(tǒng)。功能層由基于操作系統(tǒng)開發(fā)的應(yīng)用程序組成,用來完成對(duì)被控對(duì)
8、象的控制功能。功能層是面向被控對(duì)象和用戶的,為了方便用戶操作,往往需要具有友好的人機(jī)界面。對(duì)于一些復(fù)雜的系統(tǒng),在系統(tǒng)設(shè)計(jì)的初期階段就要對(duì)系統(tǒng)的需求進(jìn)行分析,確定系統(tǒng)的功能,然后將系統(tǒng)的功能映射到整個(gè)系統(tǒng)的硬件、軟件和執(zhí)行裝置的設(shè)計(jì)過程中,這個(gè)過程稱為系統(tǒng)的功能實(shí)現(xiàn)。,2.1嵌入式系統(tǒng)設(shè)計(jì),1.需求分析階段 在需求分析階段需要分析系統(tǒng)的需求,系統(tǒng)的需求一般分功能需求和非功能需求兩方面。根據(jù)系統(tǒng)的需求,確定設(shè)計(jì)任
9、務(wù)和設(shè)計(jì)目標(biāo),并提煉出設(shè)計(jì)規(guī)格說明書,作為正式指導(dǎo)設(shè)計(jì)和驗(yàn)收的標(biāo)準(zhǔn)。 2.體系結(jié)構(gòu)設(shè)計(jì) 需求分析完成后,根據(jù)提煉出的設(shè)計(jì)規(guī)格說明書,進(jìn)行體系結(jié)構(gòu)的設(shè)計(jì)。系統(tǒng)的體系結(jié)構(gòu)描述了系統(tǒng)如何實(shí)現(xiàn)所述的功能和非功能需求,包括對(duì)硬件、軟件的功能劃分,以及系統(tǒng)的軟件、硬件和操作系統(tǒng)的選型等。3.硬件/軟件設(shè)計(jì) 基于體系結(jié)構(gòu),對(duì)系統(tǒng)的軟、硬件進(jìn)行詳細(xì)設(shè)計(jì)。對(duì)于一個(gè)完整的嵌入式應(yīng)用系統(tǒng)的開發(fā),應(yīng)用系統(tǒng)
10、的程序設(shè)計(jì)是嵌入式系統(tǒng)設(shè)計(jì)一個(gè)非常重要的方面,程序的質(zhì)量直接影響整個(gè)系統(tǒng)功能的實(shí)現(xiàn),好的程序設(shè)計(jì)可以克服系統(tǒng)硬件設(shè)計(jì)的不足,提高應(yīng)用系統(tǒng)的性能,反之,會(huì)使整個(gè)應(yīng)用系統(tǒng)無法正常工作。4.系統(tǒng)集成 把系統(tǒng)中的軟件、硬件集成在一起,進(jìn)行調(diào)試,發(fā)現(xiàn)并改進(jìn)單元設(shè)計(jì)過程中的錯(cuò)誤。5.代碼固化 嵌入式軟件開發(fā)完成以后,大多數(shù)要在目標(biāo)環(huán)境的非易失性存儲(chǔ)器中運(yùn)行,程序?qū)懭氲紽lash中固化,保證每次運(yùn)行后下一次運(yùn)
11、行無誤,所以嵌入式軟件開發(fā)與普通軟件開發(fā)相比,增加了固化階段。,2.2嵌入式系統(tǒng)開發(fā)流程,選擇嵌入式操作系統(tǒng)軟件平臺(tái),選擇嵌入式處理器硬件平臺(tái),開發(fā)嵌入式應(yīng)用軟件,系統(tǒng)測(cè)試(固化代碼),開發(fā)結(jié)束,測(cè)試通過,,,,,,,,,Y,N,硬件平臺(tái)和軟件平臺(tái)選擇,處理器、硬件部件、操作系統(tǒng)、編程語言、軟件開發(fā)工具、硬件調(diào)試工具、軟件組件處理器最重要,操作系統(tǒng)和編程語言非常關(guān)鍵處理器的選擇會(huì)限制操作系統(tǒng)的選擇,操作系統(tǒng)的選擇會(huì)限制開發(fā)工具的
12、選擇。,2.3硬件平臺(tái)選擇,處理器的選擇嵌入式系統(tǒng)的核心部件是各種類型的嵌入式處理器ARM是近年來在嵌入式系統(tǒng)有影響力的微處理器架構(gòu),ARM的設(shè)計(jì)非常適用于小的供電系統(tǒng)。ARM微處理器有多達(dá)十幾種的內(nèi)核結(jié)構(gòu),幾十個(gè)芯片生產(chǎn)廠家,以及千變?nèi)f化的內(nèi)部功能配置組合,給開發(fā)人員在選擇方案時(shí)帶來一定的困難,所以,對(duì)ARM芯片做一些對(duì)比研究是十分必要的。ARM微處理器的應(yīng)用選型以下從應(yīng)用的角度出發(fā),對(duì)在選擇ARM微處理器時(shí)所應(yīng)考慮的主要問
13、題做一些簡(jiǎn)要的探討。,硬件平臺(tái)選擇,1.ARM微處理器內(nèi)核的選擇ARM微處理器包含一系列的內(nèi)核結(jié)構(gòu),以適應(yīng)不同的應(yīng)用領(lǐng)域,用戶如果希望使用WinCE或標(biāo)準(zhǔn)Linux等操作系統(tǒng)以減少軟件開發(fā)時(shí)間,就需要選擇ARM720T以上帶有MMU(Memory Management Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都帶有MMU功能。而ARM7TDMI則沒有MMU,不支持
14、Windows CE和標(biāo)準(zhǔn)Linux,但目前有uCLinux等不需要MMU支持的操作系統(tǒng)可運(yùn)行于ARM7TDMI硬件平臺(tái)之上。,硬件平臺(tái)選擇,2.系統(tǒng)的工作頻率系統(tǒng)的工作頻率在很大程度上決定了ARM微處理器的處理能力。ARM7系列微處理器的典型處理速度為0.9MIPS/MHz,常見的ARM7芯片系統(tǒng)主時(shí)鐘為20MHz-133MHz,ARM9系列微處理器的典型處理速度為1.1MIPS/MHz,常見的ARM9的系統(tǒng)主時(shí)鐘頻率為100MHz
15、-233MHz,ARM10最高可以達(dá)到700MHz。不同芯片對(duì)時(shí)鐘的處理不同,有的芯片只需要一個(gè)主時(shí)鐘頻率,有的芯片內(nèi)部時(shí)鐘控制器可以分別為ARM核和USB、UART、DSP、音頻等功能部件提供不同頻率的時(shí)鐘。,硬件平臺(tái)選擇,3.芯片內(nèi)存儲(chǔ)器的容量大多數(shù)的ARM微處理器片內(nèi)存儲(chǔ)器的容量都不太大,需要用戶在設(shè)計(jì)系統(tǒng)時(shí)外擴(kuò)存儲(chǔ)器,但也有部分芯片具有相對(duì)較大的片內(nèi)存儲(chǔ)空間,如ATMEL的AT91F40162就具有高達(dá)2MB的片內(nèi)程序存儲(chǔ)空間
16、,用戶在設(shè)計(jì)時(shí)可考慮選用這種類型,以簡(jiǎn)化系統(tǒng)的設(shè)計(jì)。,硬件平臺(tái)選擇,4.片內(nèi)外圍電路的選擇除ARM微處理器核以外,幾乎所有的ARM芯片均根據(jù)各自不同的應(yīng)用領(lǐng)域,擴(kuò)展了相關(guān)功能模塊,并集成在芯片之中,我們稱之為片內(nèi)外圍電路,如USB接口、IIS接口、LCD控制器、鍵盤接口、RTC、ADC和DAC、DSP協(xié)處理器等,設(shè)計(jì)者應(yīng)分析系統(tǒng)的需求,盡可能采用片內(nèi)外圍電路完成所需的功能,這樣既可簡(jiǎn)化系統(tǒng)的設(shè)計(jì),同時(shí)提高系統(tǒng)的可靠性。,硬件平臺(tái)選擇,
17、硬件選擇的其他因素考慮生產(chǎn)規(guī)模開發(fā)的市場(chǎng)目標(biāo)軟件對(duì)硬件的依賴性盡量使用普通的硬件,嵌入式軟件開發(fā)流程,嵌入式軟件開發(fā)流程主要涉及代碼編程、交叉編譯、交叉連接、下載到目標(biāo)板、調(diào)試。,軟件平臺(tái)選擇,操作系統(tǒng)提供的開發(fā)工具向硬件接口移植的難度內(nèi)存要求是否熟悉操作系統(tǒng)機(jī)器提供的API是否提供硬件的驅(qū)動(dòng)程序可剪裁性實(shí)時(shí)性能,軟件平臺(tái)選擇,編程語言通用性可移植性程度執(zhí)行效率可維護(hù)性集成開發(fā)環(huán)境系統(tǒng)調(diào)試器的功能,包括
18、遠(yuǎn)程調(diào)試環(huán)境支持庫函數(shù)編譯器開發(fā)商是否持續(xù)升級(jí)編譯器連接程序是否支持所有的文件格式和符合格式。,嵌入式軟件開發(fā)的特點(diǎn),1.采用宿主機(jī)/目標(biāo)機(jī)方式 嵌入式系統(tǒng)本身不具備自舉開發(fā)能力,即使設(shè)計(jì)完成以后用戶通常也是不能對(duì)其中的程序功能進(jìn)行修改的。嵌入式軟件以宿主機(jī)/目標(biāo)機(jī)模式開發(fā),所需要的開發(fā)環(huán)境稱為交叉開發(fā)環(huán)境,分為宿主機(jī)部分和目標(biāo)機(jī)部分,兩者以統(tǒng)一的通信協(xié)議進(jìn)行通信,宿主機(jī)向目標(biāo)機(jī)發(fā)送命令,目標(biāo)機(jī)接收、執(zhí)行
19、命令并將結(jié)果返回宿主機(jī),從而實(shí)現(xiàn)兩機(jī)之間的交互控制。2.為了保證穩(wěn)定性和實(shí)時(shí)性,選用RTOS開發(fā)平臺(tái) 對(duì)簡(jiǎn)單系統(tǒng)可以用傳統(tǒng)方法,從底層用匯編語言編寫程序,利用在線仿真器(ICE)、在線調(diào)試器(ICD)等開發(fā)工具進(jìn)行軟件的調(diào)試。對(duì)于那些復(fù)雜的嵌入式系統(tǒng),需要在優(yōu)化級(jí)可控的情況下預(yù)測(cè)其運(yùn)行狀態(tài),不利用實(shí)時(shí)操作系統(tǒng)和嵌入式系統(tǒng)開發(fā)平臺(tái)進(jìn)行開發(fā),是很難、甚至是不可能達(dá)到預(yù)定要求的。為了合理地調(diào)度多任務(wù)、利用系統(tǒng)資源,
20、用戶必須選配RTOS開發(fā)平臺(tái),這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開發(fā)時(shí)間,保證軟件質(zhì)量。3.生成代碼需要固態(tài)化存儲(chǔ)嵌入式應(yīng)用程序開發(fā)環(huán)境是PC機(jī),但運(yùn)行的目標(biāo)環(huán)境卻千差萬別,可以是PDA,也可以是儀器設(shè)備。而且應(yīng)用軟件在目標(biāo)環(huán)境下必須存儲(chǔ)在非易失性存儲(chǔ)器中,保證系統(tǒng)在掉電重啟后仍能正常使用。所以,應(yīng)用軟件在開發(fā)完成以后,應(yīng)生成固化版本,都固化在單片機(jī)本身或燒寫到目標(biāo)環(huán)境的Flash中運(yùn)行。4.軟件代碼具有高質(zhì)量、高可靠性
21、,嵌入式軟件開發(fā)的特點(diǎn),引入任務(wù)設(shè)計(jì)方法嵌入式系統(tǒng)設(shè)計(jì)采用DARTS設(shè)計(jì)方法進(jìn)行任務(wù)的設(shè)計(jì); DARTS給出了系統(tǒng)任務(wù)劃分的方法和定義任務(wù)間接口的機(jī)制。在系統(tǒng)設(shè)計(jì)階段,用多個(gè)并發(fā)的任務(wù)代替通用軟件的多個(gè)模塊,并定義了應(yīng)用軟件任務(wù)間的接口;,嵌入式軟件開發(fā)的特點(diǎn),需要固化程序嵌入式應(yīng)用程序開發(fā)的環(huán)境是PC機(jī),運(yùn)行的目標(biāo)環(huán)境是具體某個(gè)儀器設(shè)備;應(yīng)用軟件在目標(biāo)環(huán)境下必須存儲(chǔ)在非易失性存儲(chǔ)中,保證用戶用完關(guān)機(jī)后確保下次的使用。所以應(yīng)用軟
22、件在開發(fā)完成后,應(yīng)生成固化版本,燒寫到目標(biāo)環(huán)境的Flash中運(yùn)行。,2.4嵌入式軟件開發(fā)的特點(diǎn),軟件開發(fā)難度大嵌入式應(yīng)用有實(shí)時(shí)性的要求特別是在硬實(shí)時(shí)系統(tǒng)中,實(shí)時(shí)性至關(guān)重要;實(shí)時(shí)性的體現(xiàn)一部分來源于實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性,另一部分依賴于應(yīng)用軟件本身的設(shè)計(jì)和代碼的質(zhì)量嵌入式應(yīng)用軟件對(duì)穩(wěn)定性、可靠性、抗干擾等性能的要求很嚴(yán)格和苛刻,嵌入式軟件開發(fā)的特點(diǎn),需要提供強(qiáng)大的硬件開發(fā)工具和軟件包支持,需要開發(fā)者從速度、功能和成本綜合考慮;硬件功能
23、強(qiáng)工具完備通信接口精簡(jiǎn)系統(tǒng)內(nèi)核以降低功耗和成本提供友好的多媒體人機(jī)界面,嵌入式軟件開發(fā)的要點(diǎn),盡量使用高級(jí)語言開發(fā),少用匯編語言,提高應(yīng)用軟件的可移植性;局域化不可移植部分 不可移植的代碼和匯編代碼通過宏定義和函數(shù)的形式分類集中在某幾個(gè)特定的文件中,從而提高移植的效率。提高軟件的可重用性;,2.5嵌入式系統(tǒng)的調(diào)試,調(diào)試是任何項(xiàng)目開發(fā)過程中必不可少的一部分,特別是在軟硬件結(jié)合非常緊密的嵌入式系統(tǒng)開發(fā)中。一般來說,大多數(shù)的調(diào)
24、試工作是在RAM中進(jìn)行的,只有當(dāng)程序完成并能運(yùn)行后才切換到ROM上。嵌入式系統(tǒng)的調(diào)試有多種方法,可分為模擬器方式、ICE(In-Circuit Emulator,在線仿真器)方式、ICD(In-Circuit Debugger,在線調(diào)試器)方式和監(jiān)控器方式。1.模擬器方式 調(diào)試工具和待調(diào)試的嵌入式軟件都在主機(jī)上運(yùn)行,通過軟件手段模擬執(zhí)行為某種嵌入式處理器編寫的源程序。簡(jiǎn)單的模擬器可以通過指令解釋方式逐條執(zhí)行源程
25、序,分配虛擬存儲(chǔ)空間和外設(shè),進(jìn)行語法和邏輯上的調(diào)試。2.在線仿真器方式 在線仿真器ICE是一種完全仿造調(diào)試目標(biāo)CPU設(shè)計(jì)的儀器,目標(biāo)系統(tǒng)對(duì)用戶來說是完全透明的、可控的。仿真器與目標(biāo)板通過仿真頭連接,與主機(jī)有串口、并口、以太網(wǎng)口或USB口等連接方式。該仿真器可以真正地運(yùn)行所有的CPU動(dòng)作,并且可以在其使用的內(nèi)存中設(shè)置非常多的硬件中斷點(diǎn),可以實(shí)時(shí)查看所有需要的數(shù)據(jù),從而給調(diào)試過程帶來很多便利。由于仿真器自成體系,調(diào)
26、試時(shí)可以連接目標(biāo)板,也可以不接目標(biāo)板。 使用ICE同使用一般的目標(biāo)硬件一樣,只是在ICE上完成調(diào)試后,需要把調(diào)試好的程序重新下載到目標(biāo)系統(tǒng)上而已。由于ICE價(jià)格昂貴,而且每種CPU都需要一種與之對(duì)應(yīng)的ICE,使得開發(fā)成本非常高。,。,,3.監(jiān)控器方式主機(jī)和目標(biāo)板通過某種接口(通常是串口)連接,主機(jī)上提供調(diào)試界面,被調(diào)試程序下載到目標(biāo)板上運(yùn)行監(jiān)控程序是一段運(yùn)行于目標(biāo)機(jī)上的可執(zhí)行程序,主要負(fù)責(zé)監(jiān)控目標(biāo)機(jī)上被調(diào)試
27、程序的運(yùn)行情況,與宿主機(jī)端的調(diào)試器一起完成對(duì)應(yīng)用程序的調(diào)試。監(jiān)控程序包含基本功能的啟動(dòng)代碼,并完成必要的硬件初始化,等待宿主機(jī)的命令。被調(diào)試程序通過監(jiān)控程序下載到目標(biāo)機(jī),就可以開始進(jìn)行調(diào)試。監(jiān)控器方式操作簡(jiǎn)單易行,功能強(qiáng)大,不需要專門的調(diào)試硬件,適用面廣,能提高調(diào)試的效率,縮短產(chǎn)品的開發(fā)周期,降低開發(fā)成本。正因?yàn)橐陨显?,監(jiān)控器方式才能夠廣泛應(yīng)用于嵌入式系統(tǒng)的開發(fā)之中。監(jiān)控器調(diào)試主要用于調(diào)試運(yùn)行在目標(biāo)機(jī)操作系統(tǒng)上的應(yīng)用程序,不適宜用來
28、調(diào)試目標(biāo)操作系統(tǒng)。有的微處理器需要在目標(biāo)板工作正常的前提下,事先燒制監(jiān)控程序,而且功能有限,特別是硬件調(diào)試能力較差。4.在線調(diào)試器方式使用ICD和目標(biāo)板的調(diào)試端口連接,發(fā)送調(diào)試命令和接收調(diào)試信息,可以完成必要的調(diào)試功能。一般情況下,在ARM芯片的開發(fā)板上采用JTAG邊界掃描口進(jìn)行調(diào)試。摩托羅拉公司采用專用的BDM調(diào)試接口。使用合適的開發(fā)工具可以利用這些接口。例如,ARM開發(fā)板,可以將JTAG調(diào)試器接在開發(fā)板的JTAG口上,通過JT
29、AG口與ARM處理器核進(jìn)行通信。由于JTAG調(diào)試的目標(biāo)程序是在目標(biāo)板上執(zhí)行,仿真更接近于目標(biāo)硬件,因此許多接口問題,如高頻操作限制、電線長(zhǎng)度的限制等被最小化了。該方式是目前采用最多的一種調(diào)試方式。,板級(jí)支持包(BSP) 簡(jiǎn)介,BSP是在標(biāo)準(zhǔn)開發(fā)板上運(yùn)行的一部分軟件,主要功能是支持操作系統(tǒng)的引導(dǎo)與開發(fā)。通過BSP我們可以在開發(fā)板上快速的啟動(dòng)操作系統(tǒng)以及分析操作系統(tǒng)的性能。有了BSP的支持,各個(gè)OEM(原始設(shè)備制造商)廠商和獨(dú)立硬件開發(fā)商就
30、可以縮短基于Windows CE平臺(tái)產(chǎn)品的開發(fā)周期。,CPU支持包(CSP) & OEM抽象層(OAL),OAL : OEM 抽象層位于操作系統(tǒng)內(nèi)核和目標(biāo)板硬件之間,負(fù)責(zé)操作系統(tǒng)和目標(biāo)板的通信。由引導(dǎo)程序調(diào)用,隨后進(jìn)行目標(biāo)板的初始化工作,包括中斷服務(wù),實(shí)時(shí)時(shí)鐘,內(nèi)部計(jì)時(shí)器,調(diào)試部件,中斷使能等等由硬件 OEM廠商提供,CPU支持包(CSP) & OEM抽象層(OAL),CSP : CPU 支持包包括用以支持特定C
31、PU和相關(guān)芯片的OEM抽象層和設(shè)備驅(qū)動(dòng),這一部分是與特定開發(fā)板無關(guān)的。通常由操作系統(tǒng)開發(fā)商提供,Win CE操作系統(tǒng)是由微軟公司開發(fā)的。,板級(jí)支持包的組成,BSP 架構(gòu),創(chuàng)建BSP的兩種方法,編寫全新的BSP需要編寫所有的部分包括 OEM抽象層, 驅(qū)動(dòng), 引導(dǎo)程序大約消耗 20人/月工作量改寫現(xiàn)有的BSP對(duì)與目標(biāo)板具有相似硬件組成的BSP的基礎(chǔ)上進(jìn)行某些改寫,使其適用與目標(biāo)板,這是最簡(jiǎn)單的方式。,BSP開發(fā)流程,如果操作系統(tǒng)
32、映象可以直接引導(dǎo),引導(dǎo)程序不是必須的但通常使用一個(gè)引導(dǎo)程序,以便日后的擴(kuò)充。另外也可以用于支持制造過程中的下載測(cè)試 引導(dǎo)程序的重要性在于可以支持開發(fā)過程中的運(yùn)行時(shí)映象加載功能,也就是說在系統(tǒng)運(yùn)行過程中,動(dòng)態(tài)加載需要調(diào)試的模塊,引導(dǎo)程序(可選),引導(dǎo)程序的功能,初始化目標(biāo)設(shè)備內(nèi)存和中斷控制器設(shè)置時(shí)鐘和內(nèi)存管理單元直接引導(dǎo)現(xiàn)存的flash 或RAM 映象下載之前清空RAM內(nèi)存讀寫測(cè)試下載os 映象到RAM或flash:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式系統(tǒng)開發(fā)過程規(guī)范與模板.pdf
- 嵌入式系統(tǒng)開發(fā)技術(shù)題庫
- 嵌入式系統(tǒng)開發(fā)技術(shù)題庫資料
- 嵌入式系統(tǒng)開發(fā)技術(shù)題庫2剖析
- 嵌入式系統(tǒng)開發(fā)技術(shù)試題庫
- 嵌入式系統(tǒng)開發(fā)設(shè)計(jì)課程設(shè)計(jì)
- 嵌入式系統(tǒng)開發(fā)要素的選擇分析
- 嵌入式系統(tǒng)開發(fā)要素的選擇分析
- 嵌入式系統(tǒng)開發(fā)要素的選擇分析
- 畢業(yè)設(shè)計(jì)(論文)-嵌入式系統(tǒng)開發(fā)
- 嵌入式系統(tǒng)開發(fā)技術(shù)題庫3(doc)
- 嵌入式系統(tǒng)開發(fā)與應(yīng)用4
- 深圳嵌入式系統(tǒng)開發(fā)流程linux系統(tǒng)在嵌入式dvr中的應(yīng)用
- 基于嵌入式凝血檢測(cè)系統(tǒng)開發(fā)研究.pdf
- 嵌入式系統(tǒng)開發(fā)要素的選擇分析.doc
- 嵌入式系統(tǒng)開發(fā)要素的選擇分析.doc
- 嵌入式系統(tǒng)開發(fā)要素的選擇分析.doc
- 嵌入式移動(dòng)數(shù)字電視系統(tǒng)開發(fā).pdf
- 嵌入式linux系統(tǒng)開發(fā)教程參考答案
- 嵌入式系統(tǒng)開發(fā)要素的選擇分析.doc
評(píng)論
0/150
提交評(píng)論