【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工程流程图

相关推荐
louis.D.3 分钟前
Git 本地单线速查
单片机
小李不想当小白25 分钟前
PCB结构与组成(PCB设计入门学习笔记)
经验分享·笔记·单片机·嵌入式硬件·学习·pcb工艺·pcb
新晨单片机设计1 小时前
S004R-基于STM32单片机智能门禁系统(密码、指纹、人脸、刷卡、蓝牙)【Proteus仿真+Keil程序+原理图】
stm32·单片机·嵌入式硬件·proteus
至为芯1 小时前
PY32F071至为芯支持32位ARM内核的高主频MCU单片机
单片机·集成电路·芯片
桀人1 小时前
MCU系统架构——总线——统一编址
stm32·单片机·嵌入式硬件
可乐鸡翅好好吃2 小时前
通讯协议--硬件模拟和软件模拟
stm32·嵌入式硬件
Zw-awa2 小时前
STM32F103C8T6 最小系统板:从型号差异到启动方式
stm32
朝发如雪11 小时前
快速掌握单片机基础(3)(PWM)(通信协议基础)(串口通信时序与参数)(电气特性与电平标准)(51单片机UART寄存器配置)(串口应用层协议)
单片机
天空'之城13 小时前
单片机基础核心知识点汇总(四十)
单片机·嵌入式硬件
嵌入式阿蔡13 小时前
智能家居互联2026:Matter、Thread与嵌入式开发的新范式
嵌入式