iysheng 发表于 2019-10-2 13:58:15

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》应该是写错了:



iysheng 发表于 2019-10-3 12:22:18

这个值是在 keil 环境烧写过程中,烧写到 flash 的???

蓝天-彭 发表于 2019-10-14 11:33:01

uart量产,是做固件的时候的计算的
swd烧录,是在烧录过程中计算的
页: [1]
查看完整版本: CHEKSUM_DATA 和 CHEKSUM_HDR 的值是什么时候计算出来的?