一步一步实现STM32-FOTA系列教程之BIN文件解包
文章系列链接
1、《一步一步实现STM32-FOTA系列教程之bin文件生成》
2、《一步一步实现STM32-FOTA系列教程之STM32-FLASH分区说明》
3、《一步一步实现STM32-FOTA系列教程之FLASH静态区读写》
4、《一步一步实现STM32-FOTA系列教程之Bootloader编写》
5、《一步一步实现STM32-FOTA系列教程之BIN文件解包》
前言
上篇文章对BIN文件解包原理进行了说明。本篇文章就根据上篇文章的原理,在Linux进行实现。
C语言实现
话不多说,直接上代码。
/*
* binread.h
*/
#ifndef __OTAFIRMWARE_READ_H__
#define __OTAFIRMWARE_READ_H__
#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#define FRAMEDATAMAXLEN 512 //帧数据有效位最大长度
//定义 OTA 固件升级参数结构体
typedef struct
{
unsigned int BinSizeBytes;//二进制文件总大小
unsigned int FrameNum;//帧数量
unsigned int FrameSequence; //帧序列
unsigned int TailFrameDataSize; //最后一帧数据有效位长度
}OTAFirmware_Params;
extern OTAFirmware_Params ota_params;