• 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区并重启。

  • 相关阅读:
    Linux命令-tail命令
    服务器重装ip未更改,ssh连不上(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED)
    Docker中Nginx部署go应用
    Django+gunicorn+nginx项目部署
    Django之 CVB&FVB
    Django之form校验&后台管理
    python argparse例子实践
    重新认识递归
    Django之数据库对象关系映射
    jenkins参数化构建&HTML报告
  • 原文地址:https://www.cnblogs.com/jieruishu/p/11514933.html
Copyright © 2020-2023  润新知