時間:2018-08-02 11:46:11來源:網絡轉載
AmazonFreeRTOS可幫助開發人員簡化將物聯網(IoT)設備連接到云的過程。然而,即使有更簡單的云連接,許多開發人員面臨的一個主要障礙仍然是如何現場升級其設備的固件。
固件升級常常利用引導程序完成;基于設備架構和可用的通信外設,引導程序可能有多種不同形式。引導程序很普遍,幾乎所有嵌入式系統中都有包括,因此開發人員需要利用現有解決方案,而不是從頭開始開發。這樣,他們可以將更多時間投入到產品的差異化和特性上。
本文將探討開發人員如何利用內置于AmazonFreeRTOS(a:FreeRTOS)中的引導程序功能(常被稱為空中升級(OTA)),來快速實現在其物聯網設備上運行引導程序解決方案。
AmazonFreeRTOS的OTA升級概述
AmazonFreeRTOS是一種實時操作系統,其中包含了輕松連接AmazonWebServices(AWS)所需的全部庫。AmazonFreeRTOS本質上是FreeRTOS內核,現已包含連接和安全庫,以方便與AWS進行安全通信。OTA特性包含在單獨的OTA庫中,必須單獨配置才能包含在a:FreeRTOS下載中。
a:FreeRTOSOTA升級服務包含必要的軟件以便開發人員可以執行如下操作:
部署前對固件進行數字簽名和加密
將新固件映像安全地部署到單一設備、設備組或整個設備集群
當設備加入組中、重新啟動或重新配置時,將固件部署到設備中
將新固件部署到設備后驗證其真實性和完整性
監視部署進度
調試失敗的部署
這些特性通過運行各種AWS服務來提供,例如:
OTA管理器服務
AWSIoT作業服務
串流服務
AmazonFreeRTOS代碼簽名服務
OTA庫和代理
對開發人員而言,讓所有這些部分協同工作所需的步驟是相當多的,無法在一篇文章中詳細說明。本文將重點介紹如何入門,以及關于在實驗室中成功設置a:FreeRTOS的一些經驗教訓和訣竅。
選擇OTA測試硬件
a:FreeRTOS目前支持多種開發板。它支持的開發套件包括:
TexasInstruments的SimpleLinkWi-FiCC3220SFWirelessLaunchPad開發套件
MicrochipTechnology的PIC32MZEFCuriosity開發套件
STMicroelectronics的STM32L4Discovery套件IoT節點
NXPSemiconductors的LPC54018IoT模塊
EspressifSystems的ESP32-DEVKITC開發套件
圖1:TexasInstruments的CC3220SF-LaunchXL是一個可以啟動AmazonFreeRTOSOTA的全集成解決方案。該微控制器集成一個Wi-Fi模塊,最大限度地減小了物理尺寸并降低能耗。
出于多方面原因,本文將重點介紹SimpleLinkWi-FiCC3220SF。首先,CC3220SF是目前唯一集成了Wi-Fi模塊的a:FreeRTOS微控制器。雖然其他開發板具有板載Wi-Fi模塊,但CC3220SF通過將控制器和Wi-Fi功能集成在單一芯片中,節省了電路板空間和能耗。
其次,CC3220SF的外部存儲設備可以存儲固件映像并在引導過程中恢復映像,因此其安全特性很有意義且更為復雜。如果讀者能夠在CC3220SF上成功設置OTA,那么在其他平臺上將不會有任何問題。
最后,CC3220SF是OTA演示應用支持的第一款處理器,因此設計人員可以放心,處理器在CC3220SF上已經過全面審查。
圖2:J-LinkUltra+是一款全功能專業調試器,其特性包括無限制斷點,以及極快的SWO和接口時鐘速率。開發人員可以利用J-LinkUltra+執行應用跟蹤,以便了解OTA示例如何工作。
除了選擇開發板之外,開發人員可能還需放棄板載編程器,而使用專業編程器,例如SeggerMicrocontrollerSystems的J-LinkUltra+。專業編程器會降低程序速度并提供額外的調試功能,例如應用跟蹤和RTOS感知調試,這對理解黑盒應用非常重要。開發人員也可利用Tag-Connect的TC201510引腳釘式插頭,輕松將編程器連接到目標板。調試器上可能需要TC2050-ARM201020引腳適配器來轉接TC2050,以便連接板側電纜。
圖3:Tag-Connect的TC2050-IDC10引腳釘式插頭(左)是一種適配器電纜,可將開發板或生產電路板上的連接器基底面減到最小。與SEGGERJ-LINK一起使用時,可能需要TC2050-ARM201020引腳適配器來轉接TC2050。
配置AmazonFreeRTOS以實現OTA升級
默認情況下,OTA庫未包含在預配置的a:FreeRTOS包中。開發人員必須手動配置這些庫和應用。首先,應登錄AWSIoT控制臺并進入AmazonFreeRTOS菜單。然后,開發人員可以點擊“Createnew(新建)”按鈕開始創建自定義配置(圖4)。
圖4:在AWSIoT控制臺中,通過單擊軟件配置菜單中的“Createnew(新建)”按鈕可以自定義a:FreeRTOS設備軟件。
在配置過程中,開發人員只需要設置幾項就能配置OTA特性。其中包括:
選擇硬件
選擇所包含的a:FreeRTOS庫
設置配置名稱
對于本例,開發人員選擇CC3220SF-LAUNCHXL(圖5)。以這種方式選擇硬件平臺將會引入所有特定于電路板的文件,包括驅動程序。但是,選擇電路板并不會自動引入OTA特性。在庫部分,開發人員需要添加OTA庫(如圖6所示)。這將包含所有OTA庫,包括開發人員可以參考或采納的演示示例。
圖5:選擇將要配合a:FreeRTOSOTA特性使用的硬件配置。
圖6:將OTA升級庫添加到a:FreeRTOS配置中。
完成此操作后,開發人員便可創建配置并下載,然后將aws_demo項目導入代碼調試器。
設置OTA示例代碼
一旦導入aws_demosOTA示例,便需要執行若干任務。首先,配置終端、證書和安全密鑰。這可以按照a:FreeRTOS入門指南中的步驟完成。遵循該指南并按原樣運行aws_demos項目,以便確認已連接到AWS,然后再執行其他操作。
接下來,修改OTA演示非常簡單。打開aws_demo_runner.c模塊,找到位于模塊末尾的DEMO_RUNNER_RunDemos函數。應對vStartMQTTEchoDemo調用添加注釋,而vStartOTAUpdateDemoTask調用則取消注釋。然后進行快速編譯以構建項目,在引導程序功能啟用的情況下,項目便可執行。
圖7:將OTA演示任務添加到aws_demos應用中。
配置AmazonWebServices以實現OTA
對嵌入式軟件開發人員而言,要運行OTA示例,進行到這一步驟時將涉及到云端。為了成功運行OTA示例,開發人員需要根據OTA先決條件指南配置AWS。這要求開發人員:
創建AmazonS3存儲桶
授予AWS帳戶OTA升級權限
創建OTA服務角色
創建OTA用戶策略
授予訪問代碼簽名服務的權限
完成這些操作后,依照最終的用戶指南說明運行OTAa:FreeRTOS示例。
AmazonFreeRTOS的OTA特性使用技巧與訣竅
使用a:FreeRTOS中包含的引導程序功能時,為盡量減少潛在問題,開發人員可以采用以下幾點技巧和訣竅。其中包括:
閱讀“使用AmazonFreeRTOS連接到云”以獲取關于如何使用FreeRTOS的一般技巧和信息。
通讀AmazonOTA說明文檔(詳見此處)。
在開發過程中,購買六片開發板并將它們分成三組,每組兩片。這樣便可試驗現場升級設備和組可采用的不同方法。
首先將固件升級部署到較小的設備組,以確保固件升級沒有問題,然后才升級整個設備集群。
利用AWSAmazonCertificateManager創建證書并給固件簽名??梢允褂玫谌秸J證機構,但如果全部在AWS內完成,該過程會比較簡單。
考慮將PIC32MZEFCuriosity板用于OTA實驗,因為它是第二款支持OTA測試版演示的a:FreeRTOS開發套件。
總結
AmazonFreeRTOS生態系統為開發人員提供了一個現場升級固件的范例。對于可能有不同需求或系統配置的開發人員,此范例可以輕松擴展。利用現有引導程序可為開發人員節省大量開發時間,以便其專注于產品差異化和價值主張。
如本文所述,AmazonFreeRTOS的確可提供空中升級解決方案,該方案目前用于TexasInstrumentsCC3220,而未來無疑將可用于其他AmazonFreeRTOS產品。
標簽:
上一篇:一文了解提高儀器的精度和保...
下一篇:PLC在天車變頻控制系統中的應用
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-06-06
2025-05-19
2025-04-30
2025-04-11
2025-04-08
2025-03-31