專家分析 藍牙引導加載程序運行全過程

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

使用藍牙進行文件的配置引導,是國內(nèi)工程師在無線條件下升級程序的主要方式。那么,這種方法是怎樣實現(xiàn)引導加載程序正常運行的呢?就讓我們跟隨專家老師的分析,來看一下無線條件下程序加載和升級的全過程。

引導加載是一個公國標準通信接口來升級嵌入式系統(tǒng)固件的過程。主機可以是具有引導加載程序主機應用程序工具或其他微控制器的電腦。引導加載程序是通電或系統(tǒng)重置后要執(zhí)行的第一個代碼。

預編程到微控制器的引導裝載程序與主機通信,以獲得新的應用程序圖像并將其寫入微控制器的內(nèi)部閃存。引導加載操作成功之后,微控制器開始執(zhí)行新的應用固件。如果新的應用程序未被主機接收,微控制器中的引導加載程序會執(zhí)行現(xiàn)有的應用程序。

應用程序固件圖像的格式取決于所使用的微控制器。例如,一個PSoC控制器使用cyacd(應用程序代碼和數(shù)據(jù))作為可引導加載應用程序的格式。通過使用標準的藍牙到串行適配器,在支持UART引導程序的目標上,可以使用無線方式執(zhí)行相同的無線加載操作。

基本的引導加載操作是相同的,只不過無線引導加載使用的是藍牙到串行適配器。然而,虛擬串行連接必須建立在主機和目標之間,通過藍牙無線發(fā)送應用圖像。

SPP定義了如何設置虛擬串行端口,以及如何連接兩個擁有藍牙功能的設備。之后,它可以讓這些設備執(zhí)行RS-232(或類似的)串口線仿真。被該配置文件覆蓋的腳本用藍牙代替電纜,通過虛擬串口抽象化來處理舊有應用程序。使用SPP,所連接的設備可以發(fā)送和接收數(shù)據(jù),就好像在它們之間有Rx和Tx線連接一樣。

基頻、LMP和L2CAP是OSI(開發(fā)互聯(lián)系統(tǒng))第1層和2個藍牙協(xié)議。RFCOMM是一個基于歐洲電信標準協(xié)會ETSI07.10規(guī)程的串行線性仿真協(xié)議。SDP是藍牙服務發(fā)現(xiàn)協(xié)議,它允許藍牙設備發(fā)現(xiàn)其他藍牙設備所提供的服務及其相關參數(shù)。

在使用SPP無線引導加載的情況下,應用程序運行在兩方,一方是在PC上的主機自舉程序或者是在主機微控制器上的UART接口和目標系統(tǒng)上的UART引導加載程序。

標準藍牙到串行適配器,如Bluefruit EZ-Link模塊或JY-MCU模塊,可以與任何具有藍牙功能的電腦進行配對,并出現(xiàn)串行COM端口。在藍牙模塊與計算機配對后,在設備管理器列表中會出現(xiàn)兩個串行COM端口。這是因為藍牙串口是基于RFCOMM的,它與物理串口不同,在建立藍牙串行連接時,它既需要服務器,也需要客戶端。

在設備管理器中列出的兩個端口,一個是入站端口,也就是大家經(jīng)常說的服務器;一個是出站口,即客戶端。但是,一旦通過其中任何一個端口建立了連接,它就會變成雙向的。出站端口用于PC發(fā)起與藍牙模塊的連接時,而入站端口用于藍牙模塊啟動連接的時候。目標系統(tǒng)的無線引導加載必須使用出站端口,因為PC是主機,必須用來啟動與藍牙模塊的連接。

藍牙模塊必須連接到UART端口,運行UART引導加載程序。例如,在關掉USB串行部分,用無線方式引導加載PSoC4后,藍牙模塊必須連接到CY8CKIT-049的PSoC4原型工具包。

藍牙模塊的波特率應該與目標系統(tǒng)引導加載程序的波特率相匹配。大多數(shù)藍牙模塊支持AT命令配置模塊的波特率,通常是使用USB-UART橋接器或是具有UART接口的微控制器。在PSoC4原型基板的USB串行設備部分,也可用AT命令配置藍牙模塊的波特率。之后,主機自舉程序工具就可以使用藍牙虛擬串口以無線方式進行引導加載操作。

如果引導加載程序是另一個微控制器,使用一個額外的藍牙到串口適配器連接到主機微控制器的UART接口,這樣仍然能夠?qū)崿F(xiàn)無線引導加載。對于不支持藍牙的PC,標準USB藍牙軟件保護器可以用來與藍牙模塊建立連接。

成功引導加載之后,目標系統(tǒng)將開始執(zhí)行新的應用程序。如果另一個新的應用程序需要被引導加載,那么目標系統(tǒng)必須重置,再一次啟動引導加載程序。這可以通過應用程序調(diào)用引導加載程序來避免。被引導加載應用程序可以響應某些外部事件,例如按下按鈕或從主機接收到特定數(shù)據(jù)的命令,并重新開始引導加載操作,把新的應用程序上載到目標系統(tǒng)。

結(jié)語

在使用藍牙無線引導加載程序的過程中,工程師需注意的一點事,在建立連接時要保障藍牙設備與服務器和客戶端兩個端口的同步接通,必要情況下可以使用USB藍牙保護器進行對接。

加載程序 藍牙協(xié)議 藍牙串口

相關閱讀

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

一周熱門