注意!引導(dǎo)藍(lán)牙加載程序設(shè)計(jì)要考慮這些

2015-05-29 09:51 來源:電子信息網(wǎng) 作者:柚子

藍(lán)牙無線引導(dǎo)加載的方式,可以幫助工程師通過無線傳輸,實(shí)現(xiàn)新文件配置和程序升級(jí),具有傳輸配置快、不受空間限制等優(yōu)勢(shì)。但在使用這一方法的過程中,工程師在進(jìn)行程序設(shè)計(jì)時(shí)需要注意哪些方面才能最大限度的避免電源故障?一旦出現(xiàn)加載無效的情況應(yīng)該如何處理?就讓我們通過下文的講解敘述,來看一看在進(jìn)行引導(dǎo)藍(lán)牙加載程序設(shè)計(jì)時(shí)都要考慮哪些問題。

一個(gè)強(qiáng)大的藍(lán)牙引導(dǎo)裝載程序應(yīng)該能夠檢測(cè)、報(bào)告和妥善地處理無線引導(dǎo)加載過程中發(fā)生錯(cuò)誤,如數(shù)據(jù)包在傳輸過程中丟失,數(shù)據(jù)損壞,和閃存寫入錯(cuò)誤。閃存錯(cuò)誤檢查通常是通過為應(yīng)用程序存儲(chǔ)校驗(yàn)和或循環(huán)冗余碼(CRC)來實(shí)現(xiàn)的。當(dāng)引導(dǎo)加載操作啟動(dòng)時(shí),它會(huì)清除這些比特。如果應(yīng)用程序下載并安裝成功,他們將會(huì)更新。

不過,還要說一下引導(dǎo)加載發(fā)生電源故障的情況。在重置時(shí),引導(dǎo)加載程序檢測(cè)無效校驗(yàn)位,并且不會(huì)把控制權(quán)轉(zhuǎn)交給部分加載的應(yīng)用程序。相反,它會(huì)等待主機(jī)啟動(dòng)另一個(gè)引導(dǎo)加載操作。一旦一個(gè)新的應(yīng)用程序被引導(dǎo)加載,引導(dǎo)加載程序必須驗(yàn)證可引導(dǎo)加載圖像,然后把控制權(quán)轉(zhuǎn)移給新的應(yīng)用程序。引導(dǎo)加載程序也應(yīng)該能夠檢查自己閃存中的圖像,看它是否是有效的。

另一個(gè)要考慮的關(guān)鍵因素是避免應(yīng)用程序覆蓋引導(dǎo)加載程序本身。如果引導(dǎo)加載程序被破壞,或由應(yīng)用程序覆蓋,則系統(tǒng)可能無法運(yùn)行,并可能需要引導(dǎo)程序被重新編程到系統(tǒng)中。為了避免這種情況,在閃存中的引導(dǎo)加載程序區(qū)域必須得到保護(hù),以避免被加載程序代碼意外覆蓋。

在引導(dǎo)藍(lán)牙加載程序設(shè)計(jì)中,另一個(gè)重要的考慮因素是開始與主機(jī)通信的時(shí)機(jī)。在確定該應(yīng)用程序有效之后,該引導(dǎo)加載程序可以等待一定的時(shí)間,使主機(jī)啟動(dòng)一個(gè)新的引導(dǎo)加載操作。如果等待時(shí)間太短,主機(jī)可能不能夠可靠啟動(dòng)通信。如果時(shí)間太長(zhǎng),產(chǎn)品的整體啟動(dòng)時(shí)間可能也被延長(zhǎng)了。類似于為了避免設(shè)備重置而啟動(dòng)加載新應(yīng)用程序的方案,定時(shí)問題也可以通過使應(yīng)用程序調(diào)用引導(dǎo)加載程序來解決。

為了使目標(biāo)系統(tǒng)容錯(cuò),可以使用Multi-APP引導(dǎo)加載程序,它能夠在閃存中存儲(chǔ)多個(gè)應(yīng)用程序的圖像。如果引導(dǎo)加載程序檢測(cè)到其中一個(gè)應(yīng)用程序圖像被損壞,那么引導(dǎo)加載程序可以跳轉(zhuǎn)到其他圖像中的一個(gè)。能夠存儲(chǔ)的應(yīng)用程序的數(shù)量取決于在目標(biāo)系統(tǒng)中閃速存儲(chǔ)器的大小。

引導(dǎo)藍(lán)牙加載程序還可以包含簡(jiǎn)單的調(diào)試功能,可以通過使用UART接口和像“TERA TERM”這樣的終端模擬程序在PC上顯示調(diào)試信息來實(shí)現(xiàn)。所有調(diào)試信息都可以通過藍(lán)牙到串行適配器無線發(fā)送。

用于不同微控制器的標(biāo)準(zhǔn)主機(jī)自舉工具應(yīng)用程序現(xiàn)在是很容易得到的。它們可以直接使用SPP(串行端口配置文件)無線引導(dǎo)加載,而無需進(jìn)行任何修改。然而,主機(jī)自舉工具可以進(jìn)行定制,以更好地滿足無線引導(dǎo)加載,和/或嵌入終端仿真器窗口查看調(diào)試信息,甚至通過無線使用SPP發(fā)送特定數(shù)據(jù),從應(yīng)用程序中調(diào)用引導(dǎo)加載程序。

為了充分利用終端仿真器,引導(dǎo)加載到目標(biāo)系統(tǒng)中的任何新的應(yīng)用程序還必須包含一個(gè)UART接口,并且當(dāng)特定的數(shù)據(jù)從主機(jī)發(fā)送到目標(biāo)系統(tǒng)時(shí),能夠調(diào)用引導(dǎo)程序。引導(dǎo)程序和應(yīng)用程序共享UART接口。用一個(gè)稍微復(fù)雜的Multi-App藍(lán)牙引導(dǎo)程序設(shè)計(jì),有可能通過使用SPP從主機(jī)無線發(fā)送圖像到目標(biāo)系統(tǒng)中,實(shí)現(xiàn)存儲(chǔ)在閃盤中的多個(gè)應(yīng)用程序間的切換。這將節(jié)省新應(yīng)用程序引導(dǎo)加載所需的時(shí)間。

結(jié)語

工程師在進(jìn)行藍(lán)牙加載程序設(shè)計(jì)時(shí),需要進(jìn)行綜合比對(duì)和反復(fù)試驗(yàn),盡可能的節(jié)省加載時(shí)間并避免加載代碼出現(xiàn)意外覆蓋等故障情況。

藍(lán)牙 加載程序

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門