0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HMI-Board OTA升级快速上手指南

RT-Thread官方账号 2025-01-18 11:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

硬件平台

HMI-Board 为 RT-Thread 联合瑞萨推出的高性价比图形评估套件,取代传统的HMI + 主控板硬件,一套硬件即可实现 HMI + IoT + 控制 的全套能力。依托于瑞萨高性能芯片 RA6M3及 RT-Thread 软件生态,HMI Board 不仅硬件性能强劲,同时软件生态丰富,助力开发者快速开发出GUI 智能硬件产品。

ca409c52-d54e-11ef-9434-92fbcf53809c.png

OTA Boot 例程教学

简介

首先需要烧录 OTA 升级的 Boot 工程。通过运行当前示例工程,可以学习如何利用 OTA 功能给开发板升级固件。当前例程使用 qboot 软件包,完成升级业务。

烧录此工程之后,可配合APP示例工程,体验OTA升级功能,或按照下方制作APP的教程,自己制作可升级的APP。

下面通过 RT-Thread studio 创建 OTA Boot 工程(请在SDK Manager中提前安装 HMI-Board SDK):

ca6c988e-d54e-11ef-9434-92fbcf53809c.png

使用说明

下载程序成功之后,系统会自动运行并打印系统信息。

连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到RT-Thread 的输出信息。输入 help 命令可查看系统中支持的命令。

\ | /- RT - Thread Operating System/ | \ 5.0.1 build Oct 20 2023 18:29:172006 - 2022 Copyright by RT-Thread teammsh >Qboot startup ...Qboot version : V1.0.5 2020.10.05[D/FAL] (fal_flash_init:47) Flash device | onchip_flash_hp0 | addr:0x00000000 | len: 0x00010000 | blk_size: 0x00002000 |initialized finish.[D/FAL] (fal_flash_init:47) Flash device | onchip_flash_hp1 | addr:0x00010000 | len: 0x001f0000 | blk_size: 0x00008000 |initialized finish.[I/FAL] ==================== FAL partition table ====================[I/FAL] | name | flash_dev | offset | length |[I/FAL] -------------------------------------------------------------[I/FAL] | boot | onchip_flash_hp0 | 0x00000000 | 0x00010000 |[I/FAL] | app | onchip_flash_hp1 | 0x00000000 | 0x000f8000 |[I/FAL] | download | onchip_flash_hp1 | 0x000f8000 | 0x001f0000 |[I/FAL] =============================================================[I/FAL] RT-Thread Flash Abstraction Layer initialize success.Press [Enter] key into shell in 1 s :[E/Qboot] Qboot firmware check fail. firmware infomation check fail.Jump to application running ...

Boot 工程运行后,会等待 1s 的时间,等待用户按键,如果用户有按下任意按键,则会停在Boot里,否则会自动跳转到APP工程。

机制原理

Boot工程利用FAL组件,将片上Flash进行了分区管理。分区表在程序启动时,会打印出来,见上面的日志。通过分区表可以看出片上Flash 被分成了 3 个分区(boot、app、download),具体的地址如下所示:

boot固件:存储boot固件,即当前 BOOT 工程的存储空间,大小为64KB,地址空间为:0x00000000 -> 0x0000FFFF

app固件:存储用户固件,地址空间为 0x00010000 -> 0x00108000

download分区:用于存储待升级固件,在app里下载好待升级的固件,写入此片区域后,boot会自动完成升级工作。地址空间为 0x00108000 -> 0x00200000

升级流程

ca84eb32-d54e-11ef-9434-92fbcf53809c.png

APP工程制作方法

制作APP主要包括几个步骤:

修改链接脚本,调整固件地址处在app分区的开始

添加fal组件,获取当前分区状态

添加自己的方法,下载固件,并更新到download分区

具体制作时可以参考 sdk 里提供的 app 工程。

OTA 方法

OTA 的过程就是打包 app 工程的 bin 文件,生成待升级文件,然后分发到待升级设备上的工作。

打包固件

app工程编译完成之后会在Debug目录下生成rtthread.hex文件,我们需要从hex文件里提取出来这两个bin 文件,这里我们使用 app 工程 tool 目录下提供的hex2bin(https://github.com/Guozhanxin/hex2bin)小工具。它可以从rtthread.hex文件里分离出两个bin文件,其中0x10000结尾的是对应app分区的固件,也是我们要升级的固件。

$ hex2bin.exe rtthread.hex=> rtthread_0x10000.bin=> rtthread_0x100a150.bin

在boot工程的 packages/qboot-vxxx/tools 目录下有打包固件使用的工具QBootPackager。解压软件,双击打卡使用。

ca9feb62-d54e-11ef-9434-92fbcf53809c.png

将打包生成的固件下载到flash上的download分区,然后重启,boot就会自动完成固件升级。

这一步可以配合app工程的ymodem下载工具完成

OTA APP 例程教学

简介

下面是 OTA 升级的 APP 工程说明。通过运行当前示例工程,可以学习如何利用 OTA 功能给开发板升级固件。注:当前例程需配合 boot 例程才能正常运行。

下面通过 RT-Thread studio 创建 OTA APP 工程(请在SDK Manager中提前安装 HMI-Board SDK):

cabe4706-d54e-11ef-9434-92fbcf53809c.png

使用说明

下载程序成功之后,系统会自动运行并打印系统信息。

连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到RT-Thread 的输出信息。输入 help 命令可查看系统中支持的命令。

[E/Qboot] Qboot verify fail. firmware infomation check fail.[E/Qboot] Qboot firmware update fail. destination partition verify fail.Erasing download partition ...Qboot delete firmware success.Jump to application running ...\ | /- RT - Thread Operating System/ | \ 5.0.1 build Oct 27 2023 15:13:382006 - 2022 Copyright by RT-Thread teamHello RT-Thread at app![D/FAL] (fal_flash_init:47) Flash device | onchip_flash_hp0 | addr:0x00000000 | len: 0x00010000 | blk_size: 0x00002000 |initialized finish.[D/FAL] (fal_flash_init:47) Flash device | onchip_flash_hp1 | addr:0x00010000 | len: 0x001f0000 | blk_size: 0x00008000 |initialized finish.[D/FAL] (fal_partition_init:211) Find the partition table on 'onchip_flash_hp0'offset @0x0000b374.[I/FAL] ==================== FAL partition table ====================[I/FAL] | name | flash_dev | offset | length |[I/FAL] -------------------------------------------------------------[I/FAL] | boot | onchip_flash_hp0 | 0x00000000 | 0x00010000 |[I/FAL] | app | onchip_flash_hp1 | 0x00000000 | 0x000f8000 |[I/FAL] | download | onchip_flash_hp1 | 0x000f8000 | 0x001f0000 |[I/FAL] =============================================================[I/FAL] RT-Thread Flash Abstraction Layer initialize success.msh >

此工程自带了 ymodem_ota 命令,可配合支持 ymodem 协议的终端工具,发送升级包到系统。

注:支持 ymodem 协议的工具有 xshell,windterm 等,mobaxterm 和 putty 不支持!

cacf127a-d54e-11ef-9434-92fbcf53809c.pngcada2b6a-d54e-11ef-9434-92fbcf53809c.png

boot进入之后会自动检测download分区的待升级固件,并自动更新到app分区,完成升级。

1. 出现 Qboot verify fail. firmware infomation check fail. 这个日志不用管,ota 功能正常即可。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OTA
    OTA
    +关注

    关注

    7

    文章

    623

    浏览量

    37964
  • HMI
    HMI
    +关注

    关注

    9

    文章

    687

    浏览量

    51552
  • RT-Thread
    +关注

    关注

    32

    文章

    1542

    浏览量

    44294
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于HMI-Board的智能宿舍空调管理系统设计案例

    为解决寝室空调总是忘关的问题,基于HMI-Board设计了一款智能空调管理器,可通过onenet指令下发实现远程关闭空调。
    的头像 发表于 07-31 14:57 2185次阅读
    基于<b class='flag-5'>HMI-Board</b>的智能宿舍空调管理系统设计案例

    HMI-Board以太网通过mqtt连接云学习笔记 | 技术集结

    O目录开发板HMI-Board简单介绍说明实践Demo操作笔记使用GUI-Guider-1.5.1-GA画UI实践GUI-Guider画LVGLUI做mqtt连接Onenet云实践总结1开发板
    的头像 发表于 08-09 10:08 3438次阅读
    <b class='flag-5'>HMI-Board</b>以太网通过mqtt连接云学习笔记 | 技术集结

    使用DAPLink在对HMI-Board进行固件烧录,栈溢出如何解决?

    使用DAPLink在对HMI-Board进行固件烧录时,最初使用bin固件从0x000000处进行烧录,但是烧录到一半发现烧错程序就将DAPLink拔出。但是随后再使用之前可以成功烧录的elf/hex等文件就报了栈溢出的错误。
    发表于 09-27 08:29

    ModelSim快速上手指南

    ModelSim快速上手指南
    发表于 08-16 17:14

    AliOS Things 3.0 开发:OTA之压缩升级快速上手

    本帖最后由 阿里云AIoT 于 2019-10-17 14:01 编辑 简介: OTA(over the air)已成为物联网设备的刚需功能, 由于应用场景的需要,OTA又可分为整包升级、压缩
    发表于 10-17 13:58

    AliOS Things 3.0 开发:OTA之差分升级快速上手

    升级快速上手查看详情概要前面已经介绍了AliOS Things 3.0 OTA的整包升级和压缩升级,本文将介绍AliOS Things 3.
    发表于 10-18 09:57

    ModelSim快速上手指南

    ModelSim快速上手指南 快速上手四部曲:建立Project、引進HDL Files、Compile、模擬(Simulate/Loading and Run)
    发表于 05-08 17:29 0次下载

    AliOS Things 3.0开发教程合集免费下载

    本文档的主要内容详细介绍的是AliOS Things 3.0开发教程合集免费下载包括了:OTA之差分升级快速上手OTA之压缩升级快速
    发表于 10-16 08:00 0次下载

    限量预售|2D加速、JPEG硬解、超高性价比M4芯片,您的图形评估利器——HMI-Board来啦!

    能力。依托于瑞萨高性能芯片 RA6M3 及 RT-Thread 软件生态,HMI Board 不仅硬件性能强劲,同时软件生态丰富,助力开发者快速开发出 GUI 智能硬件产品。 HMI-Boar
    的头像 发表于 05-16 05:45 2224次阅读
    限量预售|2D加速、JPEG硬解、超高性价比M4芯片,您的图形评估利器——<b class='flag-5'>HMI-Board</b>来啦!

    联合发布 | 2D加速、JPEG硬解、超高性价比M4芯片,您的图形评估利器——HMI-Board来啦!

    MCU RA6M3 及RT-Thread软件生态,HMI Board不仅硬件性能强劲,同时软件生态丰富,助力开发者快速开发出GUI智能硬件产品。 HMI-Board搭载2M Flash
    的头像 发表于 05-19 15:15 2359次阅读
    联合发布 | 2D加速、JPEG硬解、超高性价比M4芯片,您的图形评估利器——<b class='flag-5'>HMI-Board</b>来啦!

    怎么解决HMI-Board在调试4bitSDHI挂载文件系统失败的问题呢?

    这两天在学习使用HMI-Board的SDHI功能,在挂载文件系统时遇到了开发实践指南中提到挂载文件系统失败的问题,根据开发实践指南中的方法能够解决1bit位SDHI挂载文件系统失败的问题,但在使用4bit位SDHI的时候,同样的
    的头像 发表于 08-07 14:53 1108次阅读
    怎么解决<b class='flag-5'>HMI-Board</b>在调试4bitSDHI挂载文件系统失败的问题呢?

    瑞萨RA6M3 HMI-Board Video Demo 上手指南

    高性能芯片 RA6M3 及 RT-Thread 和 LVGL 软件生态,HMI Board 不仅硬件性能强劲,同时软件生态丰富,助力开发者快速开发出 GUI 智能硬件产品。 本示例开源链接: https
    的头像 发表于 09-15 18:25 3122次阅读
    瑞萨RA6M3 <b class='flag-5'>HMI-Board</b> Video Demo <b class='flag-5'>上手指南</b>

    【直播预告】HMI-Board Windows32

    三晚,我们有幸邀请到了本次大赛的一等奖得主,他将与我们分享他的作品——HMI-Board智能终端桌面。 直播信息 直播主题 HMI-Board Windows32 直播时间 11月15日 2030 直播
    的头像 发表于 11-14 18:20 1029次阅读
    【直播预告】<b class='flag-5'>HMI-Board</b> Windows32

    RA6M3 RT-Thread* LVGL HMI Board开发实践指南-GPIO实践

    RT-Thread即将发布一系列RA6M3外设驱动的实践指南,我们将使用瑞萨RA6M3 HMI-Board 开发板,带领大家上手RT-Thread设备驱动, 本篇文章将介绍GPIO外设。GPIO
    的头像 发表于 11-30 19:05 2397次阅读
    RA6M3 RT-Thread* LVGL <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>开发实践<b class='flag-5'>指南</b>-GPIO实践

    Venue快速上手指南

    电子发烧友网站提供《Venue快速上手指南.pdf》资料免费下载
    发表于 03-26 14:34 0次下载