CHEKSUM_DATA 和 CHEKSUM_HDR 的值是什么时候计算出来的?
本帖最后由 ahha007 于 2019-12-6 20:11 编辑CubieBLE1 Board1 startup.s 文件的;APP INFO
; header
MAGIC DCB 'A', 'T', 'B', 0
ROM_START DCD |Image$ER_IROM$Base|
ROM_END DCD |Image$ER_IROM$Limit| + |Image$RW_IRAM1$Length|
ENTRY DCD Reset_Handler
NOR_ADDR DCD 0x0 ;0x1000
EXT DCD 0
; 这两个 CHEKSUM 是哪个阶段计算出来并且替换这两个地方的数据的呢?
CHEKSUM_DATADCD 0
CHEKSUM_HDR DCD 0这个对应的是结构体/* image header 的结构体抽象 */
struct image_header {
u32_t magic;/*!< 'A','T','B',0 */
u32_t rom_start;/*!< vaddr start. */
u32_t rom_end;/*!< vaddr end. */
u32_t entry;/*!< vaddr entry. */
u8_t reserve;
u32_t data_checksum;/*!< Checksum of data*/
u32_t hdr_checksum;/*!< Checksum over header*/
};文档《0_2_ATB110X_ZS110A_SDK架构介绍_V1.0.pdf》应该是写错了:
这个值是在 keil 环境烧写过程中,烧写到 flash 的??? uart量产,是做固件的时候的计算的
swd烧录,是在烧录过程中计算的
页:
[1]