函数问题

CheckForceUpdate()检测是否有更新,

pui32App = (uint32_t *)APP_START_ADDRESS;
    if((pui32App[0] == 0xffffffff) ||
       ((pui32App[0] & 0xfff00000) != 0x20000000) ||
       (pui32App[1] == 0xffffffff) ||
       ((pui32App[1] & 0xfff00001) != 0x00000001))
    {
        return(1);
    }

应用程序收到更新然后进入SVC异常服务中断,然后回到BootLoader的UpdateHandler执行,然后进入CheckForceUpdate,这里面判断不是很清楚,可以解释一下吗?

还有后续进入的UpdateBOOTP接收到bin文件后存储到哪里,接收完成后怎么跳出来的?