GBL文件的数据构成详解

一、GBL文件的数据构成详解

1、定义

GBL文件即要被应用层的传输协议识别,同时也需要让bootloader识别。

2、标签数据成员

由于GBL文件由多个字段组成,为了能够将各字段的数据进行标识清楚,采用了标签,标签当中可以指明后续数据内容的长度和格式。

2.1标签的格式如下:

标签号 / Tag ID

标签长度 / Tag Length

标签数据 / Tag Payload

4 bytes

4 bytes

可变长度 (由标签长度决定)

3、标签又分为明文标签和加密标签

3.1、明文标签列表如下

标签名称 / Tag Name

编号 / ID

描述 / Desc

GBL Header

0x03A617EB

GBL文件的第一个标签,包含GBL文件的版本,并标明该文件是否签名和加密

GBL Application info

0xF40A0AF4

包含应用程序升级固件的(描述)信息

GBL SE Upgrade

0x5EA617EB

包含一个完整的加密的Secure Element,仅在Series 2上有用

GBL bootloader

0xF50909F5

包含了一个完整的bootloader

GBL Program Data

0xFE0101FE or

0xFD0303FD

位于特定地址应用程序的程序数据信息

GBL Program LZ4

Compressed Date

0xFD0505FD

包含LZ4压缩信息,解压后得到位于特定地址应用程序的程序数据信息

GBL Program LZMA

Compressed Data

0xFD0707FD

包含LZMA压缩信息,解压后得到位于特定地址应用程序的程序数据信息

GBL Metadata

0Xf60808f6

这部分数据bootloader并不解析,应用程序可以通过特定回调函数读出,(可用来扩展功能,传递数据)

GBL Signature

0xf70a0af7

ECDSA-P256签名,签过文件得到结果时,存在这个标签当中

GBL End

0xfc0404fc

这个标签总是GBL文件的最后一个标签,包括一个32位的CRC校验码,用来检查文件的完整性。

使用明文GBL文件,可以使用下面的系列来构成文件。

 

3.2加密标签列表如下

标签名称 / Tag Name

编号 / ID

描述 / Desc

GBL Header

0x03A617EB

这个标签与明方标签一样,也必须是GBL文件的第一个标签,不同的是,标签要指明GBL文件是加密的

GBL Encryption Init Header

0xFA0606FA

包含有关镜像加官的信息,如Nonce和加密数据的数量。

GBL Encrypted Program

Data

0Xf90707f9

加密的数据负载,其中的数据是明文GBL标签,可能是Application info, Bootloader, Metadata 或者Program等其中之一。这一标签使用AES-CTR-128加密

使用加密的GBL文件,可以使用下面的系列来构成文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值