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

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

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

一文解析FreeRTOS的OTA特性使用技巧與訣竅

電子設(shè)計(jì) ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-08-02 10:22 ? 次閱讀

Amazon FreeRTOS 可幫助開發(fā)人員簡(jiǎn)化將物聯(lián)網(wǎng) (IoT) 設(shè)備連接到云的過程。然而,即使有更簡(jiǎn)單的云連接,許多開發(fā)人員面臨的一個(gè)主要障礙仍然是如何現(xiàn)場(chǎng)升級(jí)其設(shè)備的固件。

固件升級(jí)常常利用引導(dǎo)程序完成;基于設(shè)備架構(gòu)和可用的通信外設(shè),引導(dǎo)程序可能有多種不同形式。引導(dǎo)程序很普遍,幾乎所有嵌入式系統(tǒng)中都有包括,因此開發(fā)人員需要利用現(xiàn)有解決方案,而不是從頭開始開發(fā)。這樣,他們可以將更多時(shí)間投入到產(chǎn)品的差異化和特性上。

本文將探討開發(fā)人員如何利用內(nèi)置于 Amazon FreeRTOS (a:FreeRTOS) 中的引導(dǎo)程序功能(常被稱為空中升級(jí) (OTA)),來快速實(shí)現(xiàn)在其物聯(lián)網(wǎng)設(shè)備上運(yùn)行引導(dǎo)程序解決方案。

Amazon FreeRTOS 的 OTA 升級(jí)概述

Amazon FreeRTOS 是一種實(shí)時(shí)操作系統(tǒng),其中包含了輕松連接 Amazon Web Services (AWS) 所需的全部庫(kù)。Amazon FreeRTOS 本質(zhì)上是 FreeRTOS 內(nèi)核,現(xiàn)已包含連接和安全庫(kù),以方便與 AWS 進(jìn)行安全通信。OTA 特性包含在單獨(dú)的 OTA 庫(kù)中,必須單獨(dú)配置才能包含在 a:FreeRTOS 下載中。

a:FreeRTOS OTA 升級(jí)服務(wù)包含必要的軟件以便開發(fā)人員可以執(zhí)行如下操作:

  • 部署前對(duì)固件進(jìn)行數(shù)字簽名和加密
  • 將新固件映像安全地部署到單一設(shè)備、設(shè)備組或整個(gè)設(shè)備集群
  • 當(dāng)設(shè)備加入組中、重新啟動(dòng)或重新配置時(shí),將固件部署到設(shè)備中
  • 將新固件部署到設(shè)備后驗(yàn)證其真實(shí)性和完整性
  • 監(jiān)視部署進(jìn)度
  • 調(diào)試失敗的部署

這些特性通過運(yùn)行各種 AWS 服務(wù)來提供,例如:

  • OTA 管理器服務(wù)
  • AWS IoT 作業(yè)服務(wù)
  • 串流服務(wù)
  • Amazon FreeRTOS 代碼簽名服務(wù)
  • OTA 庫(kù)和代理

對(duì)開發(fā)人員而言,讓所有這些部分協(xié)同工作所需的步驟是相當(dāng)多的,無法在一篇文章中詳細(xì)說明。本文將重點(diǎn)介紹如何入門,以及關(guān)于在實(shí)驗(yàn)室中成功設(shè)置 a:FreeRTOS 的一些經(jīng)驗(yàn)教訓(xùn)和訣竅。

選擇 OTA 測(cè)試硬件

a:FreeRTOS 目前支持多種開發(fā)板。它支持的開發(fā)套件包括:

  • Texas Instruments的 SimpleLink Wi-FiCC3220SF Wireless LaunchPad開發(fā)套件
  • Microchip Technology的PIC32MZEF Curiosity開發(fā)套件
  • STMicroelectronics的STM32L4 Discovery 套件IoT 節(jié)點(diǎn)
  • NXP Semiconductors的 LPC54018 IoT 模塊
  • Espressif Systems的ESP32-DEVKITC開發(fā)套件

圖 1:Texas Instruments 的 CC3220SF-LaunchXL 是一個(gè)可以啟動(dòng) Amazon FreeRTOS OTA 的全集成解決方案。該微控制器集成一個(gè) Wi-Fi 模塊,最大限度地減小了物理尺寸并降低能耗。(圖片來源:Texas Instruments)

出于多方面原因,本文將重點(diǎn)介紹 SimpleLink Wi-Fi CC3220SF。首先,CC3220SF 是目前唯一集成了 Wi-Fi 模塊的 a:FreeRTOS 微控制器。雖然其他開發(fā)板具有板載 Wi-Fi 模塊,但 CC3220SF 通過將控制器和 Wi-Fi 功能集成在單一芯片中,節(jié)省了電路板空間和能耗。

其次,CC3220SF 的外部存儲(chǔ)設(shè)備可以存儲(chǔ)固件映像并在引導(dǎo)過程中恢復(fù)映像,因此其安全特性很有意義且更為復(fù)雜。如果讀者能夠在 CC3220SF 上成功設(shè)置 OTA,那么在其他平臺(tái)上將不會(huì)有任何問題。

最后,CC3220SF 是 OTA 演示應(yīng)用支持的第一款處理器,因此設(shè)計(jì)人員可以放心,處理器在 CC3220SF 上已經(jīng)過全面審查。

圖 2:J-Link Ultra+是一款全功能專業(yè)調(diào)試器,其特性包括無限制斷點(diǎn),以及極快的 SWO 和接口時(shí)鐘速率。開發(fā)人員可以利用 J-Link Ultra+ 執(zhí)行應(yīng)用跟蹤,以便了解 OTA 示例如何工作。(圖片來源:Segger Microcontroller Systems)

除了選擇開發(fā)板之外,開發(fā)人員可能還需放棄板載編程器,而使用專業(yè)編程器,例如 Segger Microcontroller Systems 的 J-Link Ultra+。專業(yè)編程器會(huì)降低程序速度并提供額外的調(diào)試功能,例如應(yīng)用跟蹤和 RTOS 感知調(diào)試,這對(duì)理解黑盒應(yīng)用非常重要。開發(fā)人員也可利用Tag-Connect的TC201510 引腳釘式插頭,輕松將編程器連接到目標(biāo)板。調(diào)試器上可能需要TC2050-ARM201020 引腳適配器來轉(zhuǎn)接 TC2050,以便連接板側(cè)電纜。

圖 3:Tag-Connect 的 TC2050-IDC 10 引腳釘式插頭(左)是一種適配器電纜,可將開發(fā)板或生產(chǎn)電路板上的連接器基底面減到最小。與 SEGGER J-LINK 一起使用時(shí),可能需要 TC2050-ARM2010 20 引腳適配器來轉(zhuǎn)接 TC2050。(圖片來源:Tag-Connect LLC)

配置 Amazon FreeRTOS 以實(shí)現(xiàn) OTA 升級(jí)

默認(rèn)情況下,OTA 庫(kù)未包含在預(yù)配置的 a:FreeRTOS 包中。開發(fā)人員必須手動(dòng)配置這些庫(kù)和應(yīng)用。首先,應(yīng)登錄AWSIoT 控制臺(tái)并進(jìn)入 Amazon FreeRTOS 菜單。然后,開發(fā)人員可以點(diǎn)擊“Create new(新建)”按鈕開始創(chuàng)建自定義配置(圖 4)。

圖 4:在 AWS IoT 控制臺(tái)中,通過單擊軟件配置菜單中的“Create new(新建)”按鈕可以自定義 a:FreeRTOS 設(shè)備軟件。(圖片來源:Beningo Embedded Group)

在配置過程中,開發(fā)人員只需要設(shè)置幾項(xiàng)就能配置 OTA 特性。其中包括:

  • 選擇硬件
  • 選擇所包含的 a:FreeRTOS 庫(kù)
  • 設(shè)置配置名稱

對(duì)于本例,開發(fā)人員選擇 CC3220SF-LAUNCHXL(圖 5)。以這種方式選擇硬件平臺(tái)將會(huì)引入所有特定于電路板的文件,包括驅(qū)動(dòng)程序。但是,選擇電路板并不會(huì)自動(dòng)引入 OTA 特性。在庫(kù)部分,開發(fā)人員需要添加 OTA 庫(kù)(如圖 6 所示)。這將包含所有 OTA 庫(kù),包括開發(fā)人員可以參考或采納的演示示例。

圖 5:選擇將要配合 a:FreeRTOS OTA 特性使用的硬件配置。(圖片來源:Beningo Embedded Group)

將 OTA 升級(jí)庫(kù)添加到 a:FreeRTOS 配置中的圖片

圖 6:將 OTA 升級(jí)庫(kù)添加到 a:FreeRTOS 配置中。(圖片來源:Beningo Embedded Group)

完成此操作后,開發(fā)人員便可創(chuàng)建配置并下載,然后將 aws_demo 項(xiàng)目導(dǎo)入代碼調(diào)試器。

設(shè)置 OTA 示例代碼

一旦導(dǎo)入 aws_demos OTA 示例,便需要執(zhí)行若干任務(wù)。首先,配置終端、證書和安全密鑰。這可以按照 a:FreeRTOS入門指南中的步驟完成。遵循該指南并按原樣運(yùn)行 aws_demos 項(xiàng)目,以便確認(rèn)已連接到 AWS,然后再執(zhí)行其他操作。

接下來,修改 OTA 演示非常簡(jiǎn)單。打開 aws_demo_runner.c 模塊,找到位于模塊末尾的 DEMO_RUNNER_RunDemos 函數(shù)。應(yīng)對(duì) vStartMQTTEchoDemo 調(diào)用添加注釋,而 vStartOTAUpdateDemoTask 調(diào)用則取消注釋。然后進(jìn)行快速編譯以構(gòu)建項(xiàng)目,在引導(dǎo)程序功能啟用的情況下,項(xiàng)目便可執(zhí)行。

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

配置 Amazon Web Services 以實(shí)現(xiàn) OTA

對(duì)嵌入式軟件開發(fā)人員而言,要運(yùn)行 OTA 示例,進(jìn)行到這一步驟時(shí)將涉及到云端。為了成功運(yùn)行 OTA 示例,開發(fā)人員需要根據(jù) OTA 先決條件指南配置 AWS。這要求開發(fā)人員:

  • 創(chuàng)建 Amazon S3 存儲(chǔ)桶
  • 授予 AWS 帳戶 OTA 升級(jí)權(quán)限
  • 創(chuàng)建 OTA 服務(wù)角色
  • 創(chuàng)建 OTA 用戶策略
  • 授予訪問代碼簽名服務(wù)的權(quán)限

完成這些操作后,依照最終的用戶指南說明運(yùn)行 OTA a:FreeRTOS 示例。

Amazon FreeRTOS 的 OTA 特性使用技巧與訣竅

使用 a:FreeRTOS 中包含的引導(dǎo)程序功能時(shí),為盡量減少潛在問題,開發(fā)人員可以采用以下幾點(diǎn)技巧和訣竅。其中包括:

  • 閱讀“使用 Amazon FreeRTOS 連接到云”以獲取關(guān)于如何使用 FreeRTOS 的一般技巧和信息。
  • 通讀 Amazon OTA 說明文檔(詳見此處)。
  • 在開發(fā)過程中,購(gòu)買六片開發(fā)板并將它們分成三組,每組兩片。這樣便可試驗(yàn)現(xiàn)場(chǎng)升級(jí)設(shè)備和組可采用的不同方法。
  • 首先將固件升級(jí)部署到較小的設(shè)備組,以確保固件升級(jí)沒有問題,然后才升級(jí)整個(gè)設(shè)備集群。
  • 利用 AWS Amazon Certificate Manager 創(chuàng)建證書并給固件簽名??梢允褂玫谌?a target="_blank">認(rèn)證機(jī)構(gòu),但如果全部在 AWS 內(nèi)完成,該過程會(huì)比較簡(jiǎn)單。
  • 考慮將 PIC32MZEF Curiosity 板用于 OTA 實(shí)驗(yàn),因?yàn)樗堑诙钪С?OTA 測(cè)試版演示的 a:FreeRTOS 開發(fā)套件。

總結(jié)

Amazon FreeRTOS 生態(tài)系統(tǒng)為開發(fā)人員提供了一個(gè)現(xiàn)場(chǎng)升級(jí)固件的范例。對(duì)于可能有不同需求或系統(tǒng)配置的開發(fā)人員,此范例可以輕松擴(kuò)展。利用現(xiàn)有引導(dǎo)程序可為開發(fā)人員節(jié)省大量開發(fā)時(shí)間,以便其專注于產(chǎn)品差異化和價(jià)值主張。

如本文所述,Amazon FreeRTOS 的確可提供空中升級(jí)解決方案,該方案目前用于 Texas Instruments CC3220,而未來無疑將可用于其他 Amazon FreeRTOS 產(chǎn)品。

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

    關(guān)注

    7

    文章

    561

    瀏覽量

    35073
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    483

    瀏覽量

    61878
  • Amazon
    +關(guān)注

    關(guān)注

    1

    文章

    119

    瀏覽量

    17157
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    文章中詳細(xì)說明。本文將重點(diǎn)介紹如何入門,以及關(guān)于在實(shí)驗(yàn)室中成功設(shè)置 a:FreeRTOS些經(jīng)驗(yàn)教訓(xùn)和訣竅。選擇 OTA 測(cè)試硬件a:FreeR
    發(fā)表于 06-15 09:41

    精準(zhǔn)解讀FreeRTOS的十三大特性

    FreeRTOS]FreeRTOS的主要特性如下:實(shí)時(shí)性:FreeRTOS]任務(wù)數(shù)量:FreeRTOS對(duì)任務(wù)數(shù)沒有限制,同
    發(fā)表于 06-23 08:30

    解析傳感器的設(shè)計(jì)要點(diǎn)

    好的傳感器的設(shè)計(jì)是經(jīng)驗(yàn)加技術(shù)的結(jié)晶。般理解傳感器是將種物理量經(jīng)過電路轉(zhuǎn)換成種能以另外種直觀的可表達(dá)的物理量的描述。而下文我們將對(duì)傳感器的概念、原理
    發(fā)表于 08-28 08:04

    求助,PID調(diào)節(jié)有哪些訣竅

    PID調(diào)節(jié)有哪些訣竅?
    發(fā)表于 10-17 06:12

    基于OTA的模擬元件電路非線性特性建模

    研究了種典型CMOS 源耦合差分對(duì)管電路(OTA)的非線性特性,得到非線性失真項(xiàng)。據(jù)此,導(dǎo)出了由OTA 構(gòu)成模擬電阻和模擬電感以及其他
    發(fā)表于 01-07 14:52 ?17次下載

    iPhone手機(jī)操作訣竅

    iPhone手機(jī)操作訣竅
    發(fā)表于 01-13 15:25 ?50次下載

    EMIEMC 設(shè)計(jì)講座()PCB 被動(dòng)組件的隱藏特性解析

    PCB 被動(dòng)組件的隱藏特性解析
    發(fā)表于 12-30 15:22 ?0次下載

    解析Cortex-M處理器架構(gòu)特性

    本文主要介紹的是Cortex-M處理器架構(gòu)特性,分別從編程模型、異常處理模型和嵌套向量中斷控制器NVIC、操作系統(tǒng)支持特性、TrustZone安全擴(kuò)展及錯(cuò)誤處理等幾個(gè)方面來詳細(xì)解析,具體的跟隨小編
    發(fā)表于 04-23 18:10 ?8115次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解析</b>Cortex-M處理器架構(gòu)<b class='flag-5'>特性</b>

    解析PLC的應(yīng)用

    解析PLC的應(yīng)用,具體的跟隨小編起來了解下。
    的頭像 發(fā)表于 07-19 11:21 ?5194次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解析</b>PLC的應(yīng)用

    UM-WI-048 DA16200 DA16600 FreeRTOS OTA更新用戶手冊(cè)

    UM-WI-048 DA16200 DA16600 FreeRTOS OTA更新用戶手冊(cè)
    發(fā)表于 01-10 19:01 ?0次下載
    UM-WI-048 DA16200 DA16600 <b class='flag-5'>FreeRTOS</b> <b class='flag-5'>OTA</b>更新用戶手冊(cè)

    UM-WI-048 DA16200 DA16600 FreeRTOS OTA更新用戶手冊(cè)

    UM-WI-048 DA16200 DA16600 FreeRTOS OTA更新用戶手冊(cè)
    發(fā)表于 06-30 19:42 ?2次下載
    UM-WI-048 DA16200 DA16600 <b class='flag-5'>FreeRTOS</b> <b class='flag-5'>OTA</b>更新用戶手冊(cè)

    淺談FlexCAN OTA

    FlexCAN OTA
    的頭像 發(fā)表于 09-27 16:17 ?816次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>淺談FlexCAN <b class='flag-5'>OTA</b>

    RX系列幫您實(shí)現(xiàn)二級(jí)MCU OTA升級(jí):FreeRTOS

    RX系列幫您實(shí)現(xiàn)二級(jí)MCU OTA升級(jí):FreeRTOS
    的頭像 發(fā)表于 10-26 18:04 ?845次閱讀
    RX系列幫您實(shí)現(xiàn)二級(jí)MCU <b class='flag-5'>OTA</b>升級(jí):<b class='flag-5'>FreeRTOS</b>篇

    看懂PCB天線、FPC天線的特性.zip

    看懂PCB天線、FPC天線的特性
    發(fā)表于 03-01 15:37 ?33次下載

    了解單向晶閘管的結(jié)構(gòu)及導(dǎo)電特性

    了解單向晶閘管的結(jié)構(gòu)及導(dǎo)電特性
    的頭像 發(fā)表于 12-05 15:52 ?1072次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>了解單向晶閘管的結(jié)構(gòu)及導(dǎo)電<b class='flag-5'>特性</b>