.config中的定义如下:
CONFIG_W800_IMAGE_HEADER=0x8010000
CONFIG_W800_RUN_ADDRESS=0x8010400
CONFIG_W800_UPDATE_ADDRESS=0x8010000
wm_flash_map.h中的定义如下:
/*Upgrade image area/
/*Run-time image header area/
CONFIG_W800_RUN_ADDRESS中的定义应该就是CODE_RUN_START_ADDR吧,为啥这两个值会不一样?CODE_UPD_START_ADDR的值倒是跟CONFIG_W800_UPDATE_ADDRESS一样。
CONFIG_W800_RUN_ADDRESS中定义的才是代码存放在flash的实际起始地址吧?
SDK中的CODE_RUN_START_ADDR似乎只有一处使用,怎么看也不像是代码运行的地址。
if(((img_param->upgrade_img_addr|FLASH_BASE_ADDR) < CODE_UPD_START_ADDR)
@lilitao CODE_RUN_START_ADDR指向的是IMAGE_HEADER位置,往后偏移1k,就是实际IMAGE的地址呀。用户代码里面不需要关心这些,代码存放起始地址是secboot跳转需要用到的。
因为我要用到user.bin用户自定义数据,而且比较大,所以要搞清楚用户代码在flash的准确存储位置,以避免数据覆盖。