ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ESP32 OTA(3)

2022-07-27 19:34:00  阅读:218  来源: 互联网

标签:字节 esp OTA ESP32 偏移量 header segment image


app 镜像格式

链接:App Image Format - ESP32 - — ESP-IDF 编程指南 v4.4.1 文档 (espressif.com)

一个app镜像由下列结构组成:

esp_image_header_t结构体描述了SPI flash的模式和内存段的计数。

esp_image_segment_header_t结构体描述了每个段,长度和位于ESP32内存中位置。跟随数据后面的是data_len的长度。镜像中每一段的数据偏移量按如下方式计算:

0段偏移量 = sizeof(esp_image_header_t) + sizeof(esp_image_segment_header_t)。

1段偏移量 = 0段偏移量 + 0段长度 + sizeof(esp_image_segment_header_t)。

2段偏移量 = 1段偏移量 + 1段长度 + sizeof(esp_image_segment_header_t)。

每个段的计数在存储在esp_image_header_t中的segment_count定义。这个计数不能超过esp_image_max_segments

esp_image: segment 0: paddr=00110020 vaddr=3f400020 size=1f6fch (128764) map

esp_image: segment 1: paddr=0012f724 vaddr=3ffb0000 size=008f4h (  2292)

esp_image: segment 2: paddr=00130020 vaddr=400d0020 size=a3bdch (670684) map

esp_image: segment 3: paddr=001d3c04 vaddr=3ffb08f4 size=02fb8h ( 12216)

esp_image: segment 4: paddr=001d6bc4 vaddr=40080000 size=1444ch ( 83020)

esp_image: segment 5: paddr=001eb018 vaddr=50000000 size=00010h (    16)

 

 

 

 镜像有一个校验和字节在最后的段。这个字节被写在16个字节被填充的边界上,所以application image可能需要被填充。

如果hash_appended域在esp_image_header_t被设置,SHA256校验和将会被填充。SHA256的值是在范围内计算的从第一个字节直到这个范围内的最后。这个范围的长度是32字节。

如果CONFIG_SECURE_SIGNED_APPS_SCHEME选项设置为ECDSA,那么应用程序映像将有额外的68个字节用于ECDSA签名,这包括:

版本字节(4字节),

签名数据(64字节)。

 

 

  

 

标签:字节,esp,OTA,ESP32,偏移量,header,segment,image
来源: https://www.cnblogs.com/shengxiaose/p/16525757.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有