忙了两个月,最后关头要做个在线升级程序,从来没搞过,特来求教。
我这边是一个子板,主机会把HEX文件或者BIN文件通过I2C发过来,我需要把这个HEX或者BIN文件写入FLASH,但是我查了很久,没有找到相关资料,比如HEX或者BIN的文件格式解析的资料,请问谁有相关资料,请帮忙发一份,多谢了~~~
我需要写一个函数,解析HEX或者BIN,然后写入FLASH,现在两个问题:
1.HEX和BIN文件的语法格式是什么样的
比如:
$A90000000,(这个是地址,但是下边的哪些是数据 ,哪些是地址,哪些是CRC呢?)
C2 08 80 00 00 80 00 00 00 00 00 00 29 00 00 02 2A 70 18 02 69 C0 00 02
6A 00 00 02 76 02 10 02 29 02 00 02 AA 81 7F 02 69 C0 00 02 EA FF 7F 02
77 02 10 02 29 0A 00 02 2B 18 00 02 00 00 00 00 69 C0 00 02 6A 00 00 02
77 02 10 02 29 0C 00 02 2A 00 28 02 69 C0 00 02 EB 08 2B 02 00 00 00 00
77 02 10 02 29 0E 00 02 2A EE 02 02 69 C0 00 02 6A 00 00 02 77 02 10 02
29 10 00 02 AA 44 0A 02 69 C0 00 02 EA 07 00 02 76 02 10 02 28 00 82 01
68 00 C8 01 66 36 8C 00 66 36 0C 00 64 36 0C 02 00 40 00 00 12 06 00 30
00 80 00 00 26 36 8C 02 C2 29 00 00 92 01 00 20 12 FF FF 3F C0 08 80 00
A0 67 8C 30 36 36 90 02 A0 87 8F 32 40 89 94 81 62 03 04 00 00 80 00 00
00 00 00 00 00 00 00 00
$A90000400,
40 50 07 B0 60 C7 02 00 00 04 00 00 F6 14 BD 01 00 20 00 00 F4 22 3C 02
00 20 00 00 F8 00 80 01 F4 42 BC 01 00 20 00 00 D4 82 BD 01 00 20 00 00
D4 A2 BD 01 00 20 00 00 FA 00 00 02 D6 C2 3D 02 00 20 00 00 5B 10 10 02
90 08 43 00 C4 02 10 02 2A 2C 82 01 42 89 BE 02 42 09 3E 02 6B 00 80 01
2.如何写入FLASH(直接把地址指针化,然后写入可行吗?)