请教香版和做过IAP的朋友两个关于IAP的问题
__________________ | | 用户程序 | (应用程序1) | | ------------------ 中断向量表 | (中断向量表2) | -------------------0X08002000 IAP-BootLoader | ------------------ 程序中断向量表 | (中断向量表1) | -------------------0X08000000
请问
1 。我在做CM3的IAP升级程序的时候,我把BOOT程序放在从0X08000000开始的地方,应用程序放在0X08002000开始的地方,也就是不从0X08000000开始,可是程序中断向量表却在0X08000000开始,也就是说应用程序一旦发生中断,比如TIMER中
断,程序就跳到0X08000000到0X080000E8中的一行即跳到中断向量表1了,可这已是BOOT程序了呀?也就是说:在用户程序(应用程序1)中,进不了中断了,我怎么改,要应用程序1在产生中断的时候跳到中断向量表2,而中断向量表2中有一
条跳转指令,跳转到对应的中断服务程序中。 2。关于烧写的问题,如何能在FLASH中把程序烧成如上图所示的样子,是否是这样分别建两个工程,把着两个工程lnkarm_flash.xcl的-DROMSTART分别设为-DROMSTART=0x08002000和-DROMSTART=0x08002000,我在第二个工程中把, NVIC_SetVectorTabl(NVIC_VectTab_FLASH, 0x00000000)改为NVIC_SetVectorTabl(NVIC_VectTab_FLASH, 0x00002000);; 就可以了吗? 3。还有在笔记AN2557中提到的上位机程序(串口中端)在哪有的下载啊?是否随便一个串口终端都可以呢?
4。笔记AN2557中的程序只能用IAR FOR ARM 5.2打开吧,4.22好象打不开 |