zoukankan      html  css  js  c++  java
  • rtt之通用bootloader

    目前只支持F1/F4;使用步骤

    1 在官网注册产品,根据系列设定参数,接收邮箱,点击生成就可以在自己的邮箱中收到对应的bootloader.bin文件。用jlink就可以将其烧写进单片机。

    2 存储被分为4个区,bl,/download /APP/Factory.新的app_new.bin可以通过2个途径烧写进download区

      2.1 通过RTT的打包工具将app_new.bin变成app_new.rbl文件,然后通过串口Y-mode/放到服务器上用过网口下载

           2.2 在配置工具中使能网口和对应.rbl在RTT网上的URL,通过 http_ota URL地址进行升级。

    3 程序的升级:新程序被拷贝到download区后回自动重启在bootload中进行版本比较,download到APP的更新和程序重启,进入APP

    4恢复出厂设置:在bootloader中会检测是否触发恢复出厂设置的条件(组合按键+超时)若条件具备则执行Factory到APP的更新和程序重启,进入APP

     传统远程自动升级:存储区分为boot/APP/DOWNLOAD三个部分,当然中间需要更多的校验。

    1 正常情况下APP向远程服务器发送自己的身份ID(MAC)信息,服务器收到后在数据库列表中看是否注册过,否则进行注册流程,是则查询本类产品的最新软件版本号信息,并将newapp的IP地址和端口/文件名,大小,哈希值等信息返给设备端端。

    2设备收到返回的信息并进行解析,判断是否需要升级(版本号或日期比当前设备中的新),否则不处理,是则进行连接升级服务器,获取下载新软件到DOWNLOAD区。然后进行校验,通过后则重启进入bootload程序。

    3 上电后进入boot区检查APP更新成功标志(download区为空),成功则跳到APP执行新程序;否则擦除APP程序,并将download区程序搬运到APP区,然后再擦除download区并重启。

  • 相关阅读:
    Kivy Minimum required opengl version (2.0) not found
    Rust 在Jebrains 家族工具里报 No Cargo projects found!
    Rust Cargo 下载慢的解决办法
    Python面试题库学习1-5
    Kivy Pyinstaller打包报: No module named pkg_resources.py2_warn
    Kettle 部署和远程调用(spoon 8.3)
    spring boot 发布的jar 二 发布到 windows
    spring boot 发布的jar 一 发布到 linux centos7
    springBoot项目打jar包后,修改配置文件中的配置项
    mysql sqldump 备份
  • 原文地址:https://www.cnblogs.com/jieruishu/p/11514933.html
Copyright © 2011-2022 走看看