【OTA专题】17 打通Bootloader与App逻辑之间的通信

目录

[0 操作简述](#0 操作简述)

[1 Bootloader状态机搭建](#1 Bootloader状态机搭建)

加密后的App程序文件结构:

Ymodem协议传输的数据结构

[2 APP工程流程图](#2 APP工程流程图)

[3 bootloader工程流程图](#3 bootloader工程流程图)


0 操作简述

OTA 操作流程简述:

APP运行下载固件前需要上位机从串口1发送指令:0x11 0x22 0x33

通过串口发送AES加密后的APP固件,APP固件烧录地址为0x08008000

固件下载完成后,单片机会向上位机发送应答,请求允许固件更新:0x44 0x55 0x66

此时上位机通过串口下发指令:0x77 0x88 0x99

单片机会进入20s的按键检测状态,20s内按下按键,则软复位,进入bootloader,进行升级。否则,会等待重启时进入bootloader升级。

1 Bootloader状态机搭建

加密后的App 程序文件 结构:

上图中需要注意的是:

  1. 加密时:
  • 加密的时候,被加密内容如果不是需要的整数倍,那么需要自动补全,aes128有补全规则。
  1. 解密以后:
  • 是完整的数据+自动补全的数据

  • 但是 程序在运行过程中只会在 完整固件数据 中运行,不会跳转到补全数据里

Ymodem协议传输的数据结构

文件信息帧格式、数据帧格式、以及文件结束帧格式,详情见我博客中的 Ymodem协议详解

2 APP工程流程图

3 bootloader工程流程图

相关推荐
fie888920 小时前
基于51单片机的航模遥控器6通道接收机程序
单片机·嵌入式硬件·51单片机
llilian_1620 小时前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
Yyq1302086968221 小时前
MH2457,‌国产 32 位屏驱 MCU‌芯片,支持‌1080P 高清显示‌与‌以太网通信‌,广泛应用于两轮车仪表盘及工控屏等领域
单片机·嵌入式硬件
爱分享的阿Q21 小时前
STM32现代化AI开发环境搭建:从Keil到VSCode+AI的范式转移
人工智能·vscode·stm32
Freak嵌入式1 天前
LVGL基础知识和概念:视觉样式与资源系统
ide·驱动开发·嵌入式·lvgl·micropython·upypi
爱吃程序猿的喵1 天前
南邮计科电工电子实验B《RLC串联谐振电路》实验报告
单片机·嵌入式硬件
秋91 天前
AI快速生成可编辑的流程图的方法
流程图
bubiyoushang8881 天前
利用STM32实现Modbus通信(RTU从机方案)
stm32·单片机·嵌入式硬件
cmpxr_1 天前
【单片机】常用设计模式
单片机·嵌入式硬件·设计模式
杰杰桀桀桀1 天前
4*4无时延矩阵键盘(非阻塞)--附代码链接
stm32·单片机·嵌入式硬件·矩阵·计算机外设·无时延矩阵键盘