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

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

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

在i.MX RT10XX系列平臺(tái)上進(jìn)行OTA

恩智浦MCU加油站 ? 來(lái)源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2021-09-17 10:12 ? 次閱讀

一、背景介紹在這個(gè)萬(wàn)物互聯(lián)的時(shí)代,OTA升級(jí)功能更是為我們的生活增加便利。OTA = Over-the-Air Technology,空中下載技術(shù)。OTA升級(jí)則是通過(guò)OTA方式對(duì)設(shè)備實(shí)現(xiàn)固件或者軟件升級(jí)。最為常見(jiàn)的就是移動(dòng)終端的OTA升級(jí),近幾年很火的新能源汽車也讓大家對(duì)這一技術(shù)更加熟悉。

二、概述本文將介紹在i.MX RT10XX系列平臺(tái)上,進(jìn)行基于阿里云物聯(lián)網(wǎng)平臺(tái)的OTA。在此之前,先簡(jiǎn)單介紹一下本文用到的SBL&SFW工程。SBL(Secure Bootloader)是MCU SE團(tuán)隊(duì)為i.MX RT全平臺(tái)設(shè)計(jì)的一個(gè)second bootloader工具,幫助用戶進(jìn)行程序的安全啟動(dòng)。SFW(Secure Firmware)是基于FreeRTOS創(chuàng)建的工程,生成固件為了配合SBL來(lái)實(shí)現(xiàn)完整的FOTA流程。本文的阿里云物聯(lián)網(wǎng)平臺(tái)OTA就是SFW中的一部分,SFW還支持U盤、SD卡以及AWS平臺(tái)的OTA升級(jí)。以下是SBL和SFW兩個(gè)工程的Github鏈接:

https://github.com/NXPmicro/sbl

https://github.com/NXPmicro/sfw

三、配置阿里云OTA升級(jí)代碼3.1 創(chuàng)建云端設(shè)備要實(shí)現(xiàn)阿里云物聯(lián)網(wǎng)平臺(tái)的OTA升級(jí),首先要將阿里云物聯(lián)網(wǎng)平臺(tái)提供的C Link SDK(本次移植使用阿里云C-SDK 4.0.0)移植到工程中。登錄阿里云物聯(lián)網(wǎng)平臺(tái):https://iot.console.aliyun.com/,進(jìn)入公共實(shí)例板塊,創(chuàng)建自己的產(chǎn)品

在“所屬品類”中選擇任一即可?!肮?jié)點(diǎn)類型”選擇“直連設(shè)備”,“連網(wǎng)方式”選擇“以太網(wǎng)”,其余選項(xiàng)默認(rèn)即可。

完成產(chǎn)品創(chuàng)建之后,在相應(yīng)產(chǎn)品下創(chuàng)建需要的設(shè)備,如對(duì)阿里云物聯(lián)網(wǎng)平臺(tái)不了解的讀者,可以通過(guò)阿里云物聯(lián)網(wǎng)平臺(tái)的入門教程-公共實(shí)例快速入門中查找相應(yīng)操作。

至此我們已經(jīng)拿到了對(duì)于i.MX RT設(shè)備連接阿里云IOT平臺(tái)非常重要的三元組:ProductKey、DeviceName和DeviceSecret。

3.2 配置設(shè)備端C-SDK

創(chuàng)建好產(chǎn)品和設(shè)備之后,我們需要將阿里云物聯(lián)網(wǎng)平臺(tái)的Link SDK移植到我們的設(shè)備端中。

在“公共實(shí)例”中,點(diǎn)擊左側(cè)最下端“文檔與工具”,選擇“設(shè)備接入SDK”中的“SDK定制”來(lái)下載所需要的設(shè)備端SDK。

將下載的C-SDK包中需要用到的core、OTA文件夾以及external文件夾中的證書ali_ca_cert.c、portfiles文件夾中的freertos_port.c和demos文件夾中的fota_basic_demo.c添加到我們?cè)镜墓こ涛募幸员阈薷摹?/p>

本例程中,OTA升級(jí)的流程圖如下所示:

3.3 OTA升級(jí)程序

在OTA功能函數(shù)中,有幾個(gè)需要注意的地方:

1. 當(dāng)前固件的版本號(hào)

在OTA升級(jí)的過(guò)程中,云端需要校驗(yàn)當(dāng)前固件版本號(hào),如果是需要升級(jí)的固件版本,才會(huì)對(duì)設(shè)備發(fā)送升級(jí)請(qǐng)求以及升級(jí)包URL,OTA升級(jí)才能繼續(xù)下去。

2.將固件一次性下載完成

阿里云C-SDK默認(rèn)的下載方式為兩段下載,此處我們采用一次性下載完整個(gè)固件的方式。

3. flash的擦除

在設(shè)備端收到了OTA升級(jí)的MQTT消息后,會(huì)下載新的固件,并且需要設(shè)備端燒寫到指定的flash位置,在此之前,需要先將該區(qū)域擦一下。

4. 燒寫下載的固件到flash上,分段下載,每一段一保存

至于其他一些可以變動(dòng)的地方,可以詳細(xì)閱讀阿里云C-SDK。

四、OTA演示下面就來(lái)演示一下在SBL工程配合下的阿里云OTA升級(jí)工程,平臺(tái)為i.MX RT1064EVK,利用以太網(wǎng)進(jìn)行網(wǎng)絡(luò)連接(用戶也可自行配置無(wú)線模塊進(jìn)行連網(wǎng))。 1. 修改當(dāng)前版本號(hào)生成bin文件

在IAR中修改當(dāng)前版本為1.0.0和1.4.0,并且生成相應(yīng)的bin文件(此處以IAR工程為例);

2. 在SBL工程中利用簽名腳本進(jìn)行bin文件的加頭簽名操作

將上一步生成的兩個(gè)bin文件拷貝到SBL工程中sbl/component/secure/mcuboot/scripts文件夾下,利用PowerShell給兩個(gè)bin文件簽名。

3. 創(chuàng)建OTA任務(wù)

在云端控制臺(tái)頁(yè)面,公共實(shí)例下的監(jiān)控運(yùn)維中,選擇OTA升級(jí)。點(diǎn)擊添加升級(jí)包按鍵以添加升級(jí)包,輸入升級(jí)包名稱,選擇相應(yīng)的升級(jí)選項(xiàng),注意,升級(jí)包版本需要和上傳的bin文件中版本一致,否則后續(xù)的OTA無(wú)法成功。

4. 開(kāi)始運(yùn)行OTA工程

Step1. 利用MCUBootUtility工具將加簽的1064_ali_100.bin下載到板子的第一個(gè)啟動(dòng)區(qū),默認(rèn)的slot1為flash_offset+0x100000 ~ flash_offset+0x200000,整個(gè)區(qū)域大小為1MB。

Step2. 運(yùn)行Secure Bootloader

將SBL工程通過(guò)IDE下載到板子中,下面就可以開(kāi)始進(jìn)行整個(gè)OTA流程了。

在開(kāi)發(fā)板上插入以太網(wǎng)網(wǎng)線,按下reset鍵開(kāi)始運(yùn)行工程,串口顯示“The image now inPRIMARY_SLOT slot”和“Getting IP address from DHCP”表示在slot1里面的程序已經(jīng)成功運(yùn)行?!癐Pv4 Address:” 和 “version:1.0.0”表示網(wǎng)絡(luò)連接成功并且阿里云云端接收到當(dāng)先設(shè)備的版本為1.0.0。

上傳升級(jí)包時(shí),如果選擇了需要進(jìn)行升級(jí)包驗(yàn)證,則在云端接收到當(dāng)前版本信息后,需要進(jìn)行操作驗(yàn)證;如果沒(méi)有選擇驗(yàn)證,則可直接進(jìn)行升級(jí)進(jìn)程。

串口會(huì)顯示升級(jí)包信息,可以看到OTA目標(biāo)版本為1.4.0,大小信息也會(huì)顯示。

下面的打印信息顯示下載請(qǐng)求已經(jīng)成功發(fā)送并開(kāi)始下載流程,

下載完成后會(huì)有打印信息如下,并且開(kāi)始進(jìn)行系統(tǒng)重啟,在系統(tǒng)重啟后,會(huì)啟動(dòng)slot2中的升級(jí)包程序,可以看到當(dāng)前的版本信息,并且可以在控制臺(tái)看到OTA升級(jí)已經(jīng)驗(yàn)證完成。

五、總結(jié)本文介紹了在i.MX RT平臺(tái)上進(jìn)行阿里云的OTA升級(jí)。

雖然只是簡(jiǎn)單的版本號(hào)升級(jí)演示,但是通過(guò)本文可以知道在基于i.MX RT的IOT設(shè)備進(jìn)行固件升級(jí)時(shí),需要進(jìn)行操作的地方有哪些,在針對(duì)你的設(shè)備進(jìn)行功能代碼升級(jí)的同時(shí),加上上文中的OTA升級(jí)部分,即可輕松借助阿里云物聯(lián)網(wǎng)平臺(tái)進(jìn)行設(shè)備的固件升級(jí)。

責(zé)任編輯:haq

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

    關(guān)注

    2909

    文章

    44635

    瀏覽量

    373393
  • OTA
    OTA
    +關(guān)注

    關(guān)注

    7

    文章

    580

    瀏覽量

    35230
  • 阿里云
    +關(guān)注

    關(guān)注

    3

    文章

    956

    瀏覽量

    43043

原文標(biāo)題:在i.MX RT平臺(tái)上進(jìn)行阿里云OTA

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    恩智浦i.MX 91生態(tài)合作伙伴最新開(kāi)發(fā)板資源

    恩智浦i.MX 91應(yīng)用處理器系列能夠快速實(shí)現(xiàn)基于Linux的經(jīng)濟(jì)高效的邊緣應(yīng)用程序。i.MX 91處理器保持實(shí)惠價(jià)格的同時(shí),融合了高性能處理、安全性和高能效,并且為
    的頭像 發(fā)表于 12-20 17:00 ?418次閱讀

    恩智浦i.MX RT700系列MCU的優(yōu)勢(shì)

    作為邊緣智能時(shí)代的嵌入式工程師,你對(duì)一款理想的MCU有何期待?高性能、高集成、低功耗、更安全,以及出眾的AI推理能力……恩智浦半導(dǎo)體新近發(fā)布的i.MX RT700跨界MCU系列,就是你想要的答案!
    的頭像 發(fā)表于 12-09 09:16 ?448次閱讀

    恩智浦發(fā)布i.MX 94系列應(yīng)用處理器

    恩智浦半導(dǎo)體發(fā)布i.MX 9系列應(yīng)用處理器的新成員i.MX 94系列。該系列旨在用于工業(yè)控制、可編程邏輯控制器(PLC)、遠(yuǎn)程信息處理、工業(yè)
    的頭像 發(fā)表于 11-26 17:48 ?707次閱讀

    NXP專為邊緣AI打造的i.MX RT700跨界MCU到底強(qiáng)在哪?

    i.MX RT700系列提供了高性能、高集成度、先進(jìn)功能和高能效的優(yōu)化組合,為支持智能AI的邊緣端設(shè)備賦能,例如可穿戴設(shè)備、消費(fèi)電子醫(yī)療設(shè)備、智能家居設(shè)備和HMI設(shè)備。
    發(fā)表于 11-08 09:40 ?813次閱讀
    NXP專為邊緣AI打造的<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>700跨界MCU到底強(qiáng)在哪?

    如何在i.MX RT微控制器上初始化LWIP協(xié)議棧

    i.MX RT微控制器上初始化LWIP協(xié)議棧是一個(gè)復(fù)雜但有趣的過(guò)程,它涉及多個(gè)步驟和關(guān)鍵組件的配置.
    的頭像 發(fā)表于 10-12 11:48 ?371次閱讀
    如何在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>微控制器上初始化LWIP協(xié)議棧

    恩智浦推出全新i.MX RT700跨界MCU系列

    高度集成的全新i.MX RT700跨界MCU旨在顯著節(jié)省功耗,配備eIQ Neutron神經(jīng)處理單(NPU),可在邊緣端提供高達(dá)172倍的AI加速。
    的頭像 發(fā)表于 10-12 11:41 ?799次閱讀

    i.MX Linux開(kāi)發(fā)實(shí)戰(zhàn)指南—基于野火i.MX系列開(kāi)發(fā)板

    電子發(fā)燒友網(wǎng)站提供《i.MX Linux開(kāi)發(fā)實(shí)戰(zhàn)指南—基于野火i.MX系列開(kāi)發(fā)板.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 17:23 ?11次下載

    使用TPS65023的NXP i.MX 7電源設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《使用TPS65023的NXP i.MX 7電源設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-30 10:38 ?0次下載
    使用TPS65023的NXP <b class='flag-5'>i.MX</b> 7電源設(shè)計(jì)

    恩智浦半導(dǎo)體發(fā)布i.MX RT700系列MCU,賦能智能AI邊緣設(shè)備

    恩智浦半導(dǎo)體近期震撼發(fā)布了其最新力作——i.MX RT700跨界微控制器(MCU)系列,專為推動(dòng)智能AI邊緣端設(shè)備的應(yīng)用而設(shè)計(jì)。這款創(chuàng)新產(chǎn)品精準(zhǔn)定位可穿戴設(shè)備、消費(fèi)級(jí)醫(yī)療設(shè)備、智能家
    的頭像 發(fā)表于 09-26 16:06 ?688次閱讀

    恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間。
    的頭像 發(fā)表于 08-08 15:32 ?594次閱讀
    恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1170 uSDHC eMMC啟動(dòng)時(shí)間

    重新定義入門級(jí)嵌入式處理器模組-米爾NXP i.MX 93核心板

    近日,米爾電子推出基于NXP i.MX 93系列產(chǎn)品-MYC-LMX9X核心板及開(kāi)發(fā)板。NXP i.MX?9系列
    的頭像 發(fā)表于 04-19 17:50 ?529次閱讀
    重新定義入門級(jí)嵌入式處理器模組-米爾NXP <b class='flag-5'>i.MX</b> 93核心板

    基于 NXP i.MX RT1060 + IW416 的 Matter Thermostat 智慧溫控器應(yīng)用方案之 Apple 生態(tài)系統(tǒng)

    NXP i.MX RT1060 是一款搭載 Arm Cortex-M7 的跨界微控制器,具有強(qiáng)大的處理能力和低功耗特性,而 IW416 則是一款高度集成的 Wi-Fi 4 和 Bluetooth 5.2 系統(tǒng)單芯片(SoC),提供了低成本的連接解決方案。
    的頭像 發(fā)表于 03-28 15:54 ?736次閱讀
    基于 NXP <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1060 + IW416 的 Matter Thermostat 智慧溫控器應(yīng)用方案之 Apple 生態(tài)系統(tǒng)

    i.MX 9系列-啟動(dòng)時(shí)間測(cè)量方法應(yīng)用指南

    電子發(fā)燒友網(wǎng)站提供《i.MX 9系列-啟動(dòng)時(shí)間測(cè)量方法應(yīng)用指南.pdf》資料免費(fèi)下載
    發(fā)表于 02-20 10:37 ?0次下載
    <b class='flag-5'>i.MX</b> 9<b class='flag-5'>系列</b>-啟動(dòng)時(shí)間測(cè)量方法應(yīng)用指南

    使用i.MX RT500實(shí)現(xiàn)SPI/DMA AN14170應(yīng)用指南

    電子發(fā)燒友網(wǎng)站提供《使用i.MX RT500實(shí)現(xiàn)SPI/DMA AN14170應(yīng)用指南.pdf》資料免費(fèi)下載
    發(fā)表于 02-01 10:05 ?0次下載
    使用<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>500實(shí)現(xiàn)SPI/DMA AN14170應(yīng)用指南

    i.MX RT SDK的Wi-Fi TX功率表和信道掃描管理應(yīng)用指南

    電子發(fā)燒友網(wǎng)站提供《i.MX RT SDK的Wi-Fi TX功率表和信道掃描管理應(yīng)用指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-14 09:27 ?0次下載
    <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b> SDK的Wi-Fi TX功率表和信道掃描管理應(yīng)用指南