wjianmei0311 发表于 2018-5-16 00:49:18

STM32F072 IAP中断问题。

求教各位大神,我写了一个程序,同样的中断配置代码,如果没有IAP,直接从0x08000000运行程序,可以进入中断,如果烧了IAP,从配置的地址0x08003000运行程序就进不了中断,APP中我也做了向量中断表重映射,EXTI4_15_IRQHandler这个中断就可以正常进入运行,而EXTI0_1_IRQHandler这个中断就进不去。现在不知道什么回事,迷茫中。

队长shiwo 发表于 2018-5-16 09:25:50

本帖最后由 队长shiwo 于 2018-5-16 09:27 编辑

#define BootloaderAddress   0x08000000         // STM32_INFLASH_SECTOR_0_ADDRESS
#define ApplicationAddress         0x08040000         // STM32_INFLASH_SECTOR_6_ADDRESS
typedefvoid (*pFunction)(void);
uint32_t JumpAddress;
pFunction Jump_To_Application;
pFunction Jump_To_Bootloader;

void EXE_ISP_Jump_ApplicationCode(void)
{
JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);

Jump_To_Application = (pFunction) JumpAddress;

__set_MSP(*(__IO uint32_t*) ApplicationAddress);

Jump_To_Application();
}

这是F207的跳转不知道你的什么问题

wjianmei0311 发表于 2018-5-16 11:01:40

跳转,配置,中断向量表映射都做了,程序可以启得来正常跑,其它功能也都正常,PB8,PB9,PB10,的中断可以还使用,就是PB1这个中断无法进去。

xmshao 发表于 2018-5-16 12:07:07

记得使能SYSCFG时钟及0地址的重映射。

/* Enable the SYSCFG peripheral clock*/
__HAL_RCC_SYSCFG_CLK_ENABLE(); //使能SYSCFG外设
__HAL_SYSCFG_REMAPMEMORY_SRAM();//将内部SRAM 映射到 0x00000000地址

发表于 2018-5-16 15:14:21

楼主,PB1是否重新初始化?最好打印一下寄存器的值,看看是否发生了中断。
页: [1]
查看完整版本: STM32F072 IAP中断问题。