Qn908x OTA File Header

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Qn908x OTA File Header

Jump to solution
1,512 Views
Corgi
Contributor II

Hello, 

 

我已在 OTA Image File中增加 Header,

但我發現使用Test Tool 編譯出來的.bleota檔案的結尾會有多出一段代碼

編譯前

S21003F6E010100A0301020401FFFFFFFFE5

 

編譯後

 

1010 0a03 0102 0401 00f0 2000 0000 e0ff
ffff ffff ffff ffff ffff ffff ffff ffff
ffff ffff ffff ffff ffff ffff ff1f 00f1
0200 0000 c11d 

 

從0401後的代碼 不曉得是從何而來的

 

感謝

是有什麼地方我沒有注意到嗎? 謝謝!

0 Kudos
1 Solution
1,473 Views
nxf56274
NXP Employee
NXP Employee

1 ff可能是填充字节,S210的10是后面数据占16字节,从image转换到srec时候,剩下的最后的数据可能不够16字节,就用0xff凑,再转成带有otap头尾的image时候就不需要了

2 尾部数据是TLV格式,T占2字节,L占4字节,bitmap大小就是2+4+32=38,crc大小就是2+4+2=8,合起来是46字节

3 crc是校验除了自己以外(最后8字节之前)的所有数据

View solution in original post

0 Kudos
3 Replies
1,495 Views
nxf56274
NXP Employee
NXP Employee

用test tool的时候,下面有个override sector bit map这个也会写入image的,还有校验值,这个遵循TLV(type-length-value),以crc为例子,f100是type说明下面是校验,后面是4个字节的length指定crc值长度,就是2,最后2个字节是校验值

nxf56274_0-1631671669281.png

 

0 Kudos
1,480 Views
Corgi
Contributor II

你好,

在上次留言中的圖1 

 

 

S21003F6E010100A0301020401FFFFFFFFE5

 

 

 

在01020401後的 "FF FF FF FF" 並沒有被編譯在圖二中得原因為何呢?而是直接 + Bitmap 的 "00 F0" 

另外文件中的 Sector Bitmap Sub-element 敘述為32Bytes,  Image File CRC Sub-element 2Bytes,

但在 "01020401" 後方 增加了46Bytes 的原因為何呢?

最後CRC的

 

 

00f1 0200 0000 c11d 

 

 

"0200 0000 c11d" 是如何計算的?

CRC (C11D)的計算範圍 為 Header(第0Byte) 到哪個地方結尾呢?

 

謝謝~

 

0 Kudos
1,474 Views
nxf56274
NXP Employee
NXP Employee

1 ff可能是填充字节,S210的10是后面数据占16字节,从image转换到srec时候,剩下的最后的数据可能不够16字节,就用0xff凑,再转成带有otap头尾的image时候就不需要了

2 尾部数据是TLV格式,T占2字节,L占4字节,bitmap大小就是2+4+32=38,crc大小就是2+4+2=8,合起来是46字节

3 crc是校验除了自己以外(最后8字节之前)的所有数据

0 Kudos