0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Amazon FreeRTOS在邊緣更新固件

設(shè)計idea ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-05-14 10:25 ? 次閱讀

Amazon FreeRTOS幫助開發(fā)人員簡化將物聯(lián)網(wǎng)IoT)設(shè)備連接到云的過程。但是,即使采用更簡單的云連接,許多開發(fā)人員將面臨的一個主要障礙是如何在現(xiàn)場更新其設(shè)備的固件。

固件更新通常使用引導(dǎo)程序完成,引導(dǎo)程序可以基于設(shè)備體系結(jié)構(gòu)和可用的通信外圍設(shè)備以多種不同形式出現(xiàn)。由于引導(dǎo)加載程序很普遍并且?guī)缀醢诿總€嵌入式系統(tǒng)中,開發(fā)人員需要利用現(xiàn)有的解決方案,而不是從頭開始開發(fā)。這使他們可以花更多的時間專注于自己的產(chǎn)品的差異化和功能。

本文將探討開發(fā)人員如何利用內(nèi)置于Amazon FreeRTOS(a:FreeRTOS)中的引導(dǎo)加載程序功能(通常稱為無線更新(OTA))來快速獲取在其物聯(lián)網(wǎng)設(shè)備上運行的引導(dǎo)加載程序解決方案。

Amazon FreeRTOS的OTA更新概述

Amazon FreeRTOS是一個實時操作系統(tǒng),其中包含了輕松連接到亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)所需的所有庫。亞馬遜FreeRTOS基本上是FreeRTOS內(nèi)核,現(xiàn)在已經(jīng)包含了連接和安全庫,以促進與AWS的安全通信。OTA功能包含在單獨的OTA庫中,并且必須單獨配置才能包含在FreeRTOS下載中。

a:FreeRTOS OTA更新服務(wù)包含允許開發(fā)者進行以下操作所必需的軟件:

  • 部署前對固件進行數(shù)字簽名和加密

  • 將新固件映像安全地部署到單個設(shè)備,設(shè)備組或整個設(shè)備隊

  • 將設(shè)備添加到組中時將固件部署到設(shè)備,重新啟動或重新設(shè)置

  • 將新固件部署到設(shè)備后驗證其真實性和完整性

  • 監(jiān)視部署的進度

  • 調(diào)試失敗的部署

這些功能通過各種運行的AWS服務(wù)提供,例如:

  • OTA管理器服務(wù)

  • AWS IoT工作服務(wù)

  • 流媒體服務(wù)

  • 代碼簽名Amazon FreeRTOS服務(wù)

  • OTA圖書館和代理

對于開發(fā)人員來說,讓所有這些部分協(xié)同工作所需的步驟是相當(dāng)大的,并且不可能在單篇文章中詳細(xì)介紹。相反,本文將重點介紹如何開始學(xué)習(xí)經(jīng)驗教訓(xùn)以及獲得a:FreeRTOS設(shè)置在實驗室中工作的提示。

選擇OTA測試硬件

FreeRTOS目前支持幾種不同的開發(fā)板。這些開發(fā)工具包包括:

圖1:德州儀器的CC3220SF-LaunchXL是一款完全集成的解決方案,可以開始使用Amazon FreeRTOS OTA。微控制器具有集成的Wi-Fi模塊,可最大限度地減小物理尺寸并最大限度地降低能耗。(圖片來源:德州儀器)

本文將重點介紹SimpleLink Wi-Fi CC3220SF的幾個不同原因。首先,CC3220SF是目前唯一一款具有集成Wi-Fi模塊的FreeRTOS微控制器。雖然其他開發(fā)板具有板載Wi-Fi模塊,但CC3220SF通過將控制器和Wi-Fi功能集成到單個芯片中,節(jié)省了電路板空間和能源。

其次,由于CC3220SF的外部存儲設(shè)備可以存儲固件映像并在引導(dǎo)過程中恢復(fù)映像,因此CC3220SF的安全特性非常有趣且更為復(fù)雜。如果讀者能夠成功地在CC3220SF上設(shè)置OTA,他們將不會在其他平臺上運行。

最后,CC3220SF是OTA演示應(yīng)用程序第一個支持的處理器,因此設(shè)計人員可以確信它已完全通過CC3220SF審核。

圖2:J-Link Ultra +是一款功能齊全的專業(yè)調(diào)試器,包含無限制斷點和極快的SWO和接口時鐘速率。開發(fā)人員可以使用J-Link Ultra +執(zhí)行應(yīng)用程序跟蹤,以便他們了解OTA示例的行為。(圖片來源:Segger微控制器系統(tǒng)

除了選擇開發(fā)板之外,開發(fā)人員還可能決定放棄板載編程器并使用專業(yè)編程器,例如Segger Microcontroller Systems的J-Link Ultra +。專業(yè)程序員會降低程序速度并提供額外的調(diào)試功能,例如應(yīng)用程序跟蹤和RTOS感知調(diào)試,這對理解黑盒應(yīng)用程序非常重要。開發(fā)人員還希望使用來自Tag-ConnectTC201510引腳插頭,輕松將其連接至目標(biāo)板。TC2050-ARM201020針對TC2050適配器可以在調(diào)試器,以適應(yīng)基板側(cè)電纜是必需的。

圖3:來自標(biāo)簽連接(左)的TC2050-IDC 10針插頭釘是一種適配器電纜,可以最大限度地減少開發(fā)板或生產(chǎn)電路板上的連接器占用面積。與SEGGER J-LINK一起使用時,可能需要TC2050-ARM2010 20針至TC2050適配器。(圖片來源:Tag-Connect LLC)

為OTA更新配置Amazon FreeRTOS

默認(rèn)情況下,OTA庫不包含在預(yù)配置的a:FreeRTOS軟件包中。開發(fā)人員必須改為手動配置庫和應(yīng)用程序。這可以通過登錄AWS IoT控制臺并進入Amazon FreeRTOS菜單來完成。然后開發(fā)人員可以點擊“新建”按鈕開始創(chuàng)建自定義配置(圖4)。

a:AWS IoT控制臺中的FreeRTOS設(shè)備軟件的圖像

圖4:從AWS IoT控制臺中,通過單擊軟件配置菜單中的“創(chuàng)建新”按鈕可以自定義a:FreeRTOS設(shè)備軟件。(圖片來源:Beningo嵌入式集團)

在配置中,開發(fā)人員需要設(shè)置一些設(shè)置才能配置OTA功能。這些包括:

  • 選擇硬件

  • 選擇包含的:FreeRTOS庫

  • 設(shè)置配置名稱

在這個例子中,開發(fā)人員可以選擇CC3220SF-LAUNCHXL(圖5)。以這種方式選擇硬件平臺將拉入所有特定于電路板的文件,包括驅(qū)動程序。但選擇電路板不會自動帶入OTA功能。在庫部分下,開發(fā)人員需要添加OTA庫(如圖6所示)。這將包括所有的OTA庫,包括開發(fā)人員可以參考或合并的演示示例。

將與a:FreeRTOS OTA功能配合使用的硬件配置圖像

圖5:選擇將與FreeRTOS OTA功能配合使用的硬件配置。(圖片來源:Beningo嵌入式集團)

將OTA更新庫添加到a:FreeRTOS配置中的圖像

圖6:將OTA更新庫添加到a:FreeRTOS配置中。(圖片來源:Beningo嵌入式集團)

完成此操作后,開發(fā)人員可以創(chuàng)建配置,下載配置并將aws_demo項目導(dǎo)入Code Composer Studio。

設(shè)置OTA示例代碼

一旦導(dǎo)入了aws_demos OTA示例,就需要執(zhí)行幾個任務(wù)。首先,配置終點,證書和安全密鑰。這可以按照a:FreeRTOS入門指南中的步驟完成。遵循本指南并按原樣運行aws_demos項目將允許在進一步確認(rèn)之前確認(rèn)與AWS的連接。

修改OTA的演示非常簡單。打開aws_demo_runner.c模塊,找到位于模塊末尾的DEMO_RUNNER_RunDemos函數(shù)。vStartMQTTEchoDemo調(diào)用應(yīng)該被注釋掉,而vStartOTAUpdateDemoTask調(diào)用應(yīng)該被取消注釋。然后,快速編譯將構(gòu)建該項目,并準(zhǔn)備在啟用引導(dǎo)加載程序功能的情況下執(zhí)行。

將OTA演示任務(wù)添加到aws_demos應(yīng)用程序中的圖像

圖7:將OTA演示任務(wù)添加到aws_demos應(yīng)用程序中。(圖片來源:a:FreeRTOS示例代碼)

為OTA配置Amazon Web Services

對于嵌入式軟件開發(fā)人員來說,這就是運行OTA示例的過程,它將界限推向云端。為了成功運行OTA示例,開發(fā)人員需要根據(jù)OTA先決條件指南配置AWS。這要求開發(fā)者:

  • 創(chuàng)建一個Amazon S3存儲桶

  • 授予AWS賬戶OTA更新權(quán)限

  • 創(chuàng)建一個OTA服務(wù)角色

  • 創(chuàng)建一個OTA用戶策略

  • 授予訪問代碼簽名服務(wù)的權(quán)限

完成這些后,請按照最終用戶指南的說明運行OTA a:FreeRTOS示例。

使用Amazon FreeRTOS的OTA功能的技巧和訣竅

開發(fā)人員可以遵循以下幾條提示和技巧,以盡量減少使用FreeRTOS中包含的引導(dǎo)加載程序功能時可能遇到的潛在問題。這些包括:

  • 閱讀“使用Amazon FreeRTOS連接到云”以獲取關(guān)于如何開始使用FreeRTOS的一般提示和信息。

  • 閱讀可在此處找到的Amazon OTA文檔。

  • 在開發(fā)過程中,購買六塊開發(fā)板并將它們分成三組,每組兩個設(shè)備。這將允許試驗設(shè)備和組可以在現(xiàn)場更新的不同方式。

  • 首先將固件更新部署到較小的設(shè)備組,以確保在更新整個設(shè)備隊伍之前固件更新沒有問題。

  • 使用AWS亞馬遜證書管理器創(chuàng)建證書并簽署固件。可以使用第三方認(rèn)證機構(gòu),但如果全部在AWS內(nèi)完成,則該過程將被簡化。

  • 考慮將PIC32MZEF好奇板用于OTA實驗,因為它是第二個:支持OTA beta演示的FreeRTOS開發(fā)套件。

結(jié)論

亞馬遜FreeRTOS生態(tài)系統(tǒng)為開發(fā)人員提供了一個如何在現(xiàn)場更新固件的例子。對于可能有不同需求或系統(tǒng)配置的開發(fā)人員,可以輕松擴展此示例。利用現(xiàn)有的引導(dǎo)加載程序可以為開發(fā)人員節(jié)省大量開發(fā)時間,并讓他們專注于其產(chǎn)品差異化和價值主張。

如圖所示,亞馬遜FreeRTOS確實有一個無線更新解決方案,目前可用于德州儀器CC3220,并且無疑將來可用于其他亞馬遜FreeRTOS產(chǎn)品。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    485

    瀏覽量

    63587
收藏 1人收藏
  • jby1

評論

相關(guān)推薦
熱點推薦

使用Amazon FreeRTOS的IoT解決方案

主板或底板進行快速產(chǎn)品開發(fā)和原型設(shè)計。 使用Amazon FreeRTOS的IoT解決方案 采用Amazon FreeRTOS原理圖的IoT解決方案 特征 LPC54018 IoT模塊
的頭像 發(fā)表于 04-27 13:40 ?9430次閱讀

amazon-freertos-master

本帖最后由 lee_st 于 2018-2-11 00:04 編輯 amazon-freertos-master
發(fā)表于 02-10 23:29

Amazon FreeRTOS簡化物聯(lián)網(wǎng)設(shè)備連接到云

服務(wù)來提供,例如:OTA 管理器服務(wù)AWS IoT 作業(yè)服務(wù)串流服務(wù)Amazon FreeRTOS 代碼簽名服務(wù)OTA 庫和代理對開發(fā)人員而言,讓所有這些部分協(xié)同工作所需的步驟是相當(dāng)多的,無法一篇
發(fā)表于 06-15 09:41

STM32F2x7_Ethernet(FreeRTOS)驅(qū)動更新

STM32F2x7_Ethernet(FreeRTOS)驅(qū)動更新
發(fā)表于 12-04 15:40 ?0次下載

簡化安全、基于 UEFI 的物聯(lián)網(wǎng) 固件更新

簡化安全、基于 UEFI 的物聯(lián)網(wǎng) 固件更新
發(fā)表于 09-04 17:22 ?8次下載
簡化安全、基于 UEFI 的物聯(lián)網(wǎng) <b class='flag-5'>固件</b><b class='flag-5'>更新</b>

本文討論并演示如何使用 Amazon FreeRTOS 快速、安全地將設(shè)計連接到云

架構(gòu)才能工作。Amazon FreeRTOS 現(xiàn)已通過 Amazon FreeRTOS Qualification Program 資格認(rèn)證程序,
的頭像 發(fā)表于 03-28 16:41 ?6399次閱讀

什么是Amazon FreeRTOS?3FreeRTOS V10.2.1更新功能

Amazon FreeRTOS,它基于 FreeRTOS 內(nèi)核,并且增加了重要的 AWS 支持和 IoT 使用案例支持。
的頭像 發(fā)表于 05-16 15:42 ?1.1w次閱讀
什么是<b class='flag-5'>Amazon</b> <b class='flag-5'>FreeRTOS</b>?3<b class='flag-5'>FreeRTOS</b> V10.2.1<b class='flag-5'>更新</b>功能

Mi Watch它正在推出新的固件更新

PiunikaWeb報道,新的Mi Watch固件更新為v1.2.52,由用戶Mi Community上發(fā)布。Mi Watch上的Amazon Alexa虛擬助手支持僅限于部分地區(qū)。
的頭像 發(fā)表于 02-22 10:42 ?2866次閱讀

固件:單擊此處下載最新的數(shù)據(jù)記錄器固件更新固件的說明包含在用戶指南中

固件:單擊此處下載最新的數(shù)據(jù)記錄器固件。更新固件的說明包含在用戶指南中
發(fā)表于 03-23 13:43 ?8次下載
<b class='flag-5'>固件</b>:單擊此處下載最新的數(shù)據(jù)記錄器<b class='flag-5'>固件</b>。<b class='flag-5'>更新</b><b class='flag-5'>固件</b>的說明包含在用戶指南中

【STM32】FreeRTOS資源(持續(xù)更新)

什么,第一件事情我們就是找資料,可能有的朋友說“找資料還不容易嗎?“, 打開百度或者谷哥搜索不就行了。方法是沒有錯,但是你會發(fā)現(xiàn)搜索出來的資料比較凌亂,尤其是國內(nèi)大部分開發(fā)者不喜歡看英語文檔,都想找中文資料。但是FreeRTOS的中文資料大多數(shù)都是老版本的,要知道FreeRTOS
發(fā)表于 12-04 14:21 ?10次下載
【STM32】<b class='flag-5'>FreeRTOS</b>資源(持續(xù)<b class='flag-5'>更新</b>)

使用Arduino開發(fā)ESP32(17):固件更新演示

更新固件,這種情況下再使用工具通過串口燒錄固件就不是那么方便了,比較常用的是通過網(wǎng)絡(luò)或SD卡進行固件升級。Arduino core for
發(fā)表于 12-14 18:47 ?6次下載
使用Arduino開發(fā)ESP32(17):<b class='flag-5'>固件</b><b class='flag-5'>更新</b>演示

FreeRTOS歷史版本更新記錄

前言:本文會不定期更新,一方面FreeRTOS發(fā)布新版本時會第一時間跟進;另一方面,會慢慢補上V8.0之后的版本更新內(nèi)容。
發(fā)表于 01-26 17:28 ?0次下載
<b class='flag-5'>FreeRTOS</b>歷史版本<b class='flag-5'>更新</b>記錄

使用 Amazon FreeRTOS 邊緣更新固件

發(fā)表于 11-25 19:10 ?0次下載
使用 <b class='flag-5'>Amazon</b> <b class='flag-5'>FreeRTOS</b> <b class='flag-5'>在</b><b class='flag-5'>邊緣</b><b class='flag-5'>更新</b><b class='flag-5'>固件</b>

MSP MCUs的安全現(xiàn)場固件更新

電子發(fā)燒友網(wǎng)站提供《MSP MCUs的安全現(xiàn)場固件更新.pdf》資料免費下載
發(fā)表于 10-09 09:21 ?0次下載
MSP MCUs的安全現(xiàn)場<b class='flag-5'>固件</b><b class='flag-5'>更新</b>

AirPods如何進行固件更新

AirPods的固件更新通常是通過與iPhone、iPad或Mac等蘋果設(shè)備連接時自動進行的。以下是更新AirPods固件的介紹: 一、準(zhǔn)備工作 確保設(shè)備連接 : 將AirPods放入
的頭像 發(fā)表于 12-05 14:59 ?1089次閱讀

電子發(fā)燒友

中國電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會員交流學(xué)習(xí)
  • 獲取您個性化的科技前沿技術(shù)信息
  • 參加活動獲取豐厚的禮品