一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2021-09-17 10:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

https://github.com/NXPmicro/sbl

https://github.com/NXPmicro/sfw

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

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

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

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

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

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

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

將下載的C-SDK包中需要用到的core、OTA文件夾以及external文件夾中的證書ali_ca_cert.c、portfiles文件夾中的freertos_port.c和demos文件夾中的fota_basic_demo.c添加到我們原本的工程文件中以便修改。

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

3.3 OTA升級程序

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

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

在OTA升級的過程中,云端需要校驗當(dāng)前固件版本號,如果是需要升級的固件版本,才會對設(shè)備發(fā)送升級請求以及升級包URL,OTA升級才能繼續(xù)下去。

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

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

3. flash的擦除

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

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

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

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

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

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

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

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

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

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

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

Step2. 運(yùn)行Secure Bootloader

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

在開發(fā)板上插入以太網(wǎng)網(wǎng)線,按下reset鍵開始運(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ìn)行升級包驗證,則在云端接收到當(dāng)前版本信息后,需要進(jìn)行操作驗證;如果沒有選擇驗證,則可直接進(jìn)行升級進(jìn)程。

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

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

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

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

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

責(zé)任編輯:haq

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

    關(guān)注

    2930

    文章

    46219

    瀏覽量

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

    關(guān)注

    7

    文章

    611

    瀏覽量

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

    關(guān)注

    3

    文章

    1010

    瀏覽量

    44148

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    基于恩智浦i.MX RT芯片內(nèi)部RAM運(yùn)行LVGL工程

    隨著越來越多用戶選擇i.MX RT系列芯片制作產(chǎn)品,產(chǎn)品的需求以及芯片的用法也越來越多。本文將介紹i.MX
    的頭像 發(fā)表于 07-01 09:33 ?1045次閱讀
    基于恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>芯片內(nèi)部RAM運(yùn)行LVGL工程

    i.MX RT 1176上正常運(yùn)行代碼時與使用IAR調(diào)試代碼時存在一些奇怪的差異,為什么?

    ROM 因此與 i.MX RT 10xx 部分中的 BOOT ROM 不兼容,其中 SP 是從重置向量中的值設(shè)置的,這意味著 SP 值must改為 startup code 中設(shè)置
    發(fā)表于 03-17 07:26

    GoPoint嵌入式開發(fā)平臺 釋放i.MX潛力 簡化Linux開發(fā)

    進(jìn)行創(chuàng)新。 快節(jié)奏的嵌入式系統(tǒng)時代,時間是開發(fā)人員最寶貴的資源。GoPoint (過去名為NXP Demo Experience) 重新定義了評估和探索過程,開發(fā)人員能夠快速評估i.MX SoC在下一代項目中的能力。 GoP
    發(fā)表于 02-28 10:07 ?625次閱讀
    GoPoint嵌入式開發(fā)<b class='flag-5'>平臺</b> 釋放<b class='flag-5'>i.MX</b>潛力 簡化Linux開發(fā)

    恩智浦推出FRDM i.MX 93開發(fā)板

    備受嵌入式開發(fā)者青睞的恩智浦FRDM開發(fā)平臺,迎來了一位新成員——FRDM i.MX 93開發(fā)板,這也是第一塊配備i.MX MPU的FRDM開發(fā)板,意味著強(qiáng)大的FRDM生態(tài)合作體系,已經(jīng)擴(kuò)展到
    的頭像 發(fā)表于 02-21 14:22 ?1467次閱讀

    i.MX RT處理器上使用PXP實現(xiàn)縮放和旋轉(zhuǎn)組合操作

    本文主要探討如何使用PXP實現(xiàn)縮放和旋轉(zhuǎn)組合操作,PXP是NXP推出的一個2D圖形加速器,主要完成對圖像的數(shù)據(jù)格式轉(zhuǎn)換、固定角度旋轉(zhuǎn)(90°,180°,270°),任意比例縮放、混色,移位以及翻轉(zhuǎn)等功能。運(yùn)行平臺i.MX RT
    的頭像 發(fā)表于 02-20 10:53 ?1150次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>處理器上使用PXP實現(xiàn)縮放和旋轉(zhuǎn)組合操作

    RT10XX RC24M開啟自動校準(zhǔn)功能

    RT10XX系列的時鐘源主要由外接24M XTAL, 內(nèi)部的RC24M,外接32K RTC,內(nèi)部32K時鐘,PLL及其PFD構(gòu)成。正式開始介紹自動校準(zhǔn)功能前,我們先對RT10XX的時
    的頭像 發(fā)表于 02-20 10:51 ?982次閱讀
    <b class='flag-5'>RT10XX</b> RC24M開啟自動校準(zhǔn)功能

    恩智浦i.MX 94應(yīng)用處理器如何變革工業(yè)和汽車連接

    恩智浦半導(dǎo)體發(fā)布i.MX 94系列應(yīng)用處理器,為工業(yè)和汽車連接設(shè)定了新的標(biāo)準(zhǔn)。作為i.MX 9系列應(yīng)用處理器的最新成員,i.MX 94旨在提
    的頭像 發(fā)表于 01-17 10:51 ?929次閱讀

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

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

    恩智浦發(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 ?1457次閱讀

    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 ?1738次閱讀
    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é)議棧是一個復(fù)雜但有趣的過程,它涉及多個步驟和關(guān)鍵組件的配置.
    的頭像 發(fā)表于 10-12 11:48 ?822次閱讀
    如何在<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 ?1307次閱讀

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

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

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

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

    恩智浦i.MX RT1170 uSDHC eMMC啟動時間

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