當前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導讀] 引導加載器支持產(chǎn)品固件的現(xiàn)場更新。引導加載器可使用UART、I2C、SPI或USB等常見通信接口更新固件,而引導加載器主機和目標之間通常采用有線連接方式。在藍牙到串行適配器的幫助下,這個引導加載操作能通過無線方式

 引導加載器支持產(chǎn)品固件的現(xiàn)場更新。引導加載器可使用UART、I2C、SPI或USB等常見通信接口更新固件,而引導加載器主機和目標之間通常采用有線連接方式。在藍牙到串行適配器的幫助下,這個引導加載操作能通過無線方式實現(xiàn)。如果目標所處的位置難以物理地訪問,或者目標位于密封設(shè)備內(nèi),那么這種無線連接功能就會特別有用。

使用引導加載器的第一步就是配置產(chǎn)品,讓引導加載器(而不是應(yīng)用)去執(zhí)行。一旦引導加載器運行,主機就會通過通信通道發(fā)送“start bootload”命令。如果引導加載器發(fā)出“OK”回應(yīng),那么就會開始引導加載。在引導加載期間,主機讀取新應(yīng)用文件,將其解析為閃存寫入命令,并發(fā)送命令到引導加載器。在整個文件發(fā)送后,引導加載器會確認文件完整性,并發(fā)送控制到新應(yīng)用。

采用藍牙到串行適配器的無線引導加載過程可在任何支持UART引導加載器的目標上進行,無需使用藍牙串行端口配置文件(SPP)對運行在目標設(shè)備上的主機或引導加載器固件進行任何修改。藍牙配置文件是指定藍牙設(shè)備一般行為的藍牙核心規(guī)范上額外的協(xié)議,可用于支持藍牙設(shè)備與其它具有相同配置文件的設(shè)備進行通信。

SPP基于仿真RS-232串行端口的射頻通信(RFCOMM)協(xié)議,它定義了如何設(shè)置兩個設(shè)備之間的虛擬串行端口,如何利用藍牙互聯(lián)。支持藍牙功能的PC能連接到目標側(cè)的藍牙串行適配器,并進行引導加載操作。引導加載命令可通過發(fā)送串行命令到當前運行在目標器件上的應(yīng)用而實現(xiàn)無線觸發(fā)。

引導加載器

引導加載過程會通過標準通信接口更新嵌入式系統(tǒng)的固件。主機可以是帶引導加載器主機應(yīng)用工具的PC,也可以是另一個微控制器。引導加載器是加電啟動或系統(tǒng)重設(shè)后將要執(zhí)行的第一行代碼。引導加載器會預(yù)編程到微控制器中,與主機通信,并獲得新的應(yīng)用鏡像,將其寫入微控制器的內(nèi)部閃存。在引導加載操作成功后,微控制器會開始執(zhí)行新的應(yīng)用固件。如果沒有從主機接收到新的應(yīng)用,那么引導加載器會執(zhí)行微控制器中現(xiàn)有的應(yīng)用。

應(yīng)用固件鏡像的格式取決于使用的微控制器。舉例來說,PSoC控制器使用.cyacd(應(yīng)用代碼和數(shù)據(jù))作為引導加載應(yīng)用的格式。如果采用標準的藍牙到串行適配器,那么我們可在支持UART引導加載器的目標器件上無線執(zhí)行同樣的引導加載操作。

在利用藍牙到串行適配器進行無線引導加載的情況下,基本的引導加載操作保持不變。不過,我們需要在主機和目標器件之間建立虛擬串行連接,通過藍牙無線發(fā)送應(yīng)用鏡像。SPP定義了如何設(shè)置虛擬串行端口和兩個藍牙設(shè)備的互聯(lián),隨后允許設(shè)備進行RS232(或類似的)串行線纜仿真。這種配置文件涵蓋的情境能支持傳統(tǒng)應(yīng)用,這里藍牙作為線纜連接的替代,使用虛擬串行端口抽象。利用SPP,互聯(lián)設(shè)備發(fā)送和接收數(shù)據(jù)就像互聯(lián)的RX和TX線路一樣。

圖1顯示了SPP中使用的協(xié)議和實體?;鶐?、LMP和L2CAP是OSI 中的第1層和第2層藍牙協(xié)議。RFCOMM是藍牙版GSM TS 07.10標準,GSM手機用它在一個物理串行線纜上多路復(fù)用多個流,為串行端口仿真提供通信協(xié)議。SDP是藍牙服務(wù)發(fā)現(xiàn)協(xié)議,支持藍牙設(shè)備發(fā)現(xiàn)其它藍牙設(shè)備提供的服務(wù)和相關(guān)參數(shù)。

圖1:配置文件協(xié)議棧包括SPP使用的不同協(xié)議和實體。

就使用SPP的無線引導加載而言,兩側(cè)運行的應(yīng)用為PC上的引導加載器主機應(yīng)用或主機微控制器上的UART接口以及目標系統(tǒng)上的UART引導加載器。

Bluefruit EZ-Link模塊或JY-MCU模塊等標準藍牙到串行適配器能配對具備藍牙功能的計算機,并顯示為串行COM端口。將藍牙模塊和PC配對后,設(shè)備管理器中會列出兩個串行COM端口。之所以會出現(xiàn)這種情況,是因為藍牙串行端口是基于RFCOMM,與物理串行端口不同,它在建立藍牙虛擬連接時同時需要服務(wù)器和客戶端。

設(shè)備管理器中列出的一個端口是入站端口(服務(wù)器),另一個則是出站端口(客戶端)。然而,用其中一個串行端口建立連接后,它就是雙向的。如果PC發(fā)起與藍牙模塊的連接,則使用出站端口。如果藍牙模塊發(fā)起連接,則使用入站端口。對于目標系統(tǒng)的無線引導加載而言,必須使用出站端口,因為PC是主機,它必須發(fā)起與藍牙模塊的連接。

藍牙模塊必須連接到運行UART引導加載器的目標系統(tǒng)上的UART接口。舉例來說,在關(guān)閉電路板的USB到串行部分以無線引導加載PSoC 4的情況下,藍牙模塊可連接到CY8CKIT-049 PSoC 4原型設(shè)計套件。PSoC 4原型設(shè)計板易于使用,成本較低,能在主板兼容報頭上提供PSoC 4微控制器的所有I/O引腳,從而支持快速原型設(shè)計,而且配套提供預(yù)編程的UART引導加載器。

藍牙模塊的波特率應(yīng)匹配目標系統(tǒng)上引導加載器配置的波特率。大多數(shù)藍牙模塊支持AT命令來配置模塊的波特率,這需要用到USB-UART橋接器或配備UART接口的微控制器。PSoC 4原型設(shè)計板的USB-串行器件部分也可利用AT命令配置藍牙模塊的波特率。引導加載器主機應(yīng)用工具則用藍牙虛擬串行端口來無線執(zhí)行引導加載操作。圖2給出了主機和目標系統(tǒng)的系統(tǒng)級方框圖。

圖2:系統(tǒng)級方框圖顯示主機和目標系統(tǒng)的不同組件。

如果引導加載器主機是另一個微控制器,那么無線引導加載程序仍會在其它藍牙到串行適配器(連接到主機微控制器UART接口)的幫助下進行。對于不支持藍牙的PC而言,標準的USB藍牙收發(fā)器可用來建立藍牙模塊連接。

成功引導加載后,目標系統(tǒng)會開始執(zhí)行新的應(yīng)用。如果需要引導加載另一個新應(yīng)用,那么目標系統(tǒng)必須重啟,以再次啟動引導加載器。如果應(yīng)用調(diào)用引導加載器,就能避免這一過程。引導加載的應(yīng)用響應(yīng)于某種外部事件,如按下按鍵或主機發(fā)出的具體數(shù)據(jù)命令,從而再次啟動引導加載操作,在目標系統(tǒng)上載入新的應(yīng)用。

此外,低功耗藍牙(BLE)模塊也可用于無線引導加載。與傳統(tǒng)藍牙不同的是,低功耗藍牙不使用SPP。不過,對于低功耗藍牙而言,所有配置文件和服務(wù)支持全部位于應(yīng)用空間內(nèi)。產(chǎn)品開發(fā)人員能在通用屬性配置文件(GATT)基礎(chǔ)上開發(fā)自己的串行端口服務(wù),滿足BLE模塊需求,并將其用于無線引導加載。

引導加載器的設(shè)計考慮因素:

穩(wěn)健可靠的引導加載器應(yīng)當能夠檢測、報告并有效處理無線引導加載過程中出現(xiàn)的錯誤,如傳輸過程中的數(shù)據(jù)包丟失、數(shù)據(jù)損壞和閃存寫入錯誤等。通過存儲應(yīng)用的校驗和或循環(huán)冗余碼(CRC),可以執(zhí)行閃存錯誤校驗。在引導加載操作開始后,位會被清空。如果應(yīng)用成功下載并安裝,就會更新。舉例來說,如果在引導加載時斷電,那么在重啟時引導加載器應(yīng)檢測無效的校驗位,而且不會讓部分加載的應(yīng)用獲得控制權(quán),而是等待主機啟動新的引導加載操作。

一旦新應(yīng)用實現(xiàn)引導加載,那么引導加載器必須確認引導加載鏡像是否有效,并讓新應(yīng)用獲得控制權(quán)。引導加載器還應(yīng)當能檢查閃存中的自身鏡像,判斷其是否有效。另一個重要考慮因素是避免應(yīng)用覆蓋引導加載器本身。如果引導加載器損壞或被應(yīng)用覆蓋,那么系統(tǒng)就無法工作,需要對系統(tǒng)的引導加載器進行重新編程。為了避免這種情況,閃存的引導加載器區(qū)域必須進行保護,避免引導加載器代碼被意外覆蓋。

引導加載器設(shè)計的另一個重要考慮因素就是何時開始與主機通信。在確認應(yīng)用有效后,引導加載器可等待一定時間讓主機開始新的引導加載操作。如果等待時間過短,主機可能還無法可靠啟動通信。如果等待時間過長,產(chǎn)品的整體啟動時間就會太長。與引導加載新應(yīng)用時避免設(shè)備重啟的解決方案類似,這個時序問題可通過讓應(yīng)用調(diào)用引導加載器進行解決。

為了確保目標系統(tǒng)無錯誤,我們可用多應(yīng)用引導加載器在閃存中存儲多個應(yīng)用鏡像。如果引導加載器檢測到某個應(yīng)用鏡像被損壞,那么引導加載器能跳到另一個應(yīng)用鏡像。能夠保存的應(yīng)用數(shù)量取決于目標系統(tǒng)的閃存大小。

此外,引導加載器中還可包含簡單的調(diào)試功能,可用UART接口和Tera Term等終端仿真程序?qū)崿F(xiàn),從而在PC上顯示調(diào)試信息。調(diào)試信息還能用相同的藍牙到串行調(diào)試器無線發(fā)送。

定制引導加載器主機工具:

不同微控制器可直接使用標準的引導加載器主機工具應(yīng)用,無需對SPP的無線引導加載進行任何修改。然而,引導加載器主機工具可以進行定制,從而更好地滿足無線引導加載需求,并嵌入終端仿真器窗口,以查看調(diào)試信息,甚至能通過SPP無線發(fā)送具體數(shù)據(jù)來從應(yīng)用中調(diào)用引導加載器。圖3顯示了具有嵌入式終端仿真器窗口的定制引導加載器主機工具應(yīng)用實例。為充分利用終端仿真器,引導加載到目標系統(tǒng)的任何新應(yīng)用都必須包含UART接口,并能在主機向目標系統(tǒng)發(fā)送具體數(shù)據(jù)時調(diào)用引導加載器。UART接口可在引導加載器和應(yīng)用之間共享。

圖3:具有嵌入式終端仿真器窗口的定制引導加載器主機工具應(yīng)用實例。

如果采用稍微復(fù)雜的多應(yīng)用引導加載器設(shè)計,我們也能利用SPP從主機向目標系統(tǒng)無線發(fā)送不同消息,從而在閃存中切換存儲的多個應(yīng)用,這就能節(jié)約新應(yīng)用引導加載所需的時間。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉