使用方式二OTA升级时, OnlyUpdateApp_JumpIAP文件起始地址为0x00000000,大小为4K;APP文件起始地址0x0000C000,大小为16K;APP文件起始地址为0x00001000,大小为44K。
请问JumpIAP是如何跳转到IAP程序的
下面的代码为OnlyUpdateApp_JumpIAP工程中main.c中仅有的代码,他的作用是什么
#define IMAGE_ADDR 0xC000 __attribute__ ((aligned(4))) int Image_Flag __attribute__((section(".ImageFlag")))= (0x6F<<0)|\ ((IMAGE_ADDR>>(15-7)&(0xe0))<<8)|\ (((IMAGE_ADDR<<(7-3)&(0xe0)) | (IMAGE_ADDR>>(11-4)&(0x10)) | (IMAGE_ADDR>>(19-3)&(0x0f)))<<16)|\ (((((IMAGE_ADDR>>(20-7))&(0x80)) | ((IMAGE_ADDR>>(10-6))&(0x3f))))<<24);
3.APP程序中也有类似的代码,两者之间是否有什么联系
/* 用于APP判断文件有效性 */ const uint32 Address=0xFFFFFFFF; __attribute__ ((aligned(4))) UINT32 Image_Flag __attribute__((section(".ImageFlag")))=(uint32)&Address;
热门产品 :
CH592: RISC-V内核BLE5.4无线MCU