请教大家一个问题,我们公司用philips的arm7芯片,要用到IAP来升级程序,但是前辈没有用芯片的REMAP功能,而是主程序1在收到升级命令后, case EXUI_SYS_UPGRADE: //接收到了请求升级命令 ent_critical(); //关掉所有中断。 ( *( void ( * ) () )( 0x2000) )();
即执行位于FLASH 0x2000处的代码,该处代码为另一项工程(即所写的升级iap程序工程2)的bin码。这样一个程序不就有两个main函数了吗?不太理解,虽然升级工程2把系统堆栈重新初始化了,但总是一个函数里有两个main吗?恳请各位指点。 |