Git Product home page Git Product logo

hpm6750_boot's Introduction

HPM6750 Boot

说明

  • 本仓库为基于 RT-Thread v4.0.5 版本实现的 HPM6750 Bootloader,可直接在 HPM6750EVKMINI 上使用。

  • 绝对安全切入 APP

  • 识别 download 分区中的固件并搬运到 app 分区中运行。

  • 支持通过 RS485 强制进入 Bootloader 进行升级,可下载固件到 download 分区和 app 分区。

  • 支持通过按键强制进入 Bootloader。

  • 支持读取 SD 卡中的固件进行升级。

  • 支持连接 WIFI 热点通过 Web 升级,自动识别固件类型下载到 download 分区或 app 分区。

  • 使用 RT-Thread 固件打包工具将 bin 文件打包成 rbl 文件。该 Bootloader 不支持压缩和加密形式的固件。

  • RT-Thread 固件打包工具在 tools/packing 目录下。

  • RS485 升级工具在 tools/rs485_update 目录下。

  • 使用 RT-Thread Studio 导入工程

HPM6750EVKMINI

资源占用

  • XPI0

  • SDRAM 16M

  • RW007

    • SPI1:
      • CS: PE03
      • SCLK: PD31
      • MOSI: PE04
      • MISO: PD30
      • INT: PE01
      • RST: PE02
  • SDXC1

  • 按键: PF01 (低电平有效)

  • RS485:

    • UART6:
      • TX: PE28
      • RX: PE27
    • RE: PF04
  • 电池备份域

    • HPM_BGPR->BATT_GPR7
  • 分区使用:

    分区 偏移地址 占用空间
    Bootloader 0 1 * 1024 * 1024
    app 1 * 1024 * 1024 1 * 1024 * 1024
    download 2 * 1024 * 1024 1 * 1024 * 1024

APP 链接文件修改

删除链接文件中 BootROMSection, 只保留 APP Section

pic2

修改完后的如下:

pic3

固件升级

Bootloader 启动过程

pic1

注意 :SD 卡优先级最高,即 Bootloader 处理流程中 SD 卡检查通过就直接进行 SD 卡升级固件。

pic4

APP 中下载到 download 分区

app_update

SD 卡固件升级

SD 卡根目录下放入 rtthread.rbl 文件。

sd_update

Web 升级

  • 按住按键然后再 上电重启,强制进入 Bootloader

  • 也可通过 RS485 方式强制进入 Bootloader

上传打包固件(rbl) 到 download 分区

web_download

上传原始固件(bin) 到 app 分区

web_app

RS485 升级

  • 配置好串口并打开串口

  • 点击 开始同步 按钮后再 上电重启,强制进入 Bootloader

  • 点击 结束同步 按钮

  • 选择下载到 download 分区还是 app 分区

  • 选择文件开始升级

  • 地址一栏填 0 即为广播

下载打包固件(rbl) 到 download 分区

rs485_download

下载原始固件(bin) 到 app 分区

rs485_app

RS485 固件升级协议

ModbusProtocol

使用 0x50 作为固件升级的特殊功能码。

分包传输固件数据,每包数据最大 4096 字节。

  • Data 字段协议定义:

    命令 字节数 数据
    2 Bytes 2 Bytes N Bytes
  • 命令:

    命令 说明
    0x0001 同步
    0x0002 停留 Bootloader 确认
    0x0003 启动升级
    0x0004 写 IAP 数据
    0x0005 执行升级运行
  • 0x0001 同步

    上位机控制器上电前开始持续发送同步命令,控制器上电 2s 后停止,控制器停留 Bootloader 中等待上位机进一步操作。

    发送:

    命令 字节数 数据
    00 01 00 00 /

    响应:

  • 0x0002 停留 Bootloader 确认

    发送:

    命令 字节数 数据
    00 02 00 00 /

    响应:

    命令 字节数 数据
    00 02 00 00 /
  • 0x0003 启动升级

    该操作处理时间较长,上位机等待响应的时间需要放大。

    发送:

    命令 字节数 数据
    00 03 00 05 flash类型(1B)
    固件总大小(4B)

    flash类型:

    说明
    1 app 分区
    2 download 分区

    响应:

    命令 字节数 数据
    00 03 00 01 0:失败
    1:成功
  • 0x0004 写 IAP 数据

    发送:

    命令 字节数 数据
    00 04 4+N 包序号(2B)
    数据长度(2B)
    数据(NB)

    响应:

    命令 字节数 数据
    00 04 00 03 包序号(2B)
    状态(1B):失败(0)/成功(1)
  • 0x0005 执行升级运行

    发送:

    命令 字节数 数据
    00 05 00 00 /

    响应:

    命令 字节数 数据
    00 05 00 00 /

联系人信息

hpm6750_boot's People

Contributors

loogg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.