目前的代码,可以看到ota镜像的首地址是写死的:
#if WRITE_OTA_ADDR
uint32_t ota_addr = 0x80000;
#endif
也就是ota包的首地址从512k开始。
那么,如果首地址不是写死的,那么这个地址是怎么设置的?
走读代码,发现的线索,uart_ymodem.c的567行:
flash_write_word(&ptr->flash, OFFSET_DATA, ptr->image_address);
}
其中ptf是ymodem数据对象,image_address应该就是下载工具界面中设置的值,具体细节需要在ymodem实际交互中才能确认。