你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F072 IAP中断问题。

[复制链接]
wjianmei0311 提问时间:2018-5-16 00:49 /
求教各位大神,我写了一个程序,同样的中断配置代码,如果没有IAP,直接从0x08000000运行程序,可以进入中断,如果烧了IAP,从配置的地址0x08003000运行程序就进不了中断,APP中我也做了向量中断表重映射,EXTI4_15_IRQHandler这个中断就可以正常进入运行,而EXTI0_1_IRQHandler这个中断就进不去。现在不知道什么回事,迷茫中。
收藏 评论4 发布时间:2018-5-16 00:49

举报

4个回答
队长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
typedef  void (*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的跳转  不知道你的什么问题

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

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地址

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

废鱼 回答时间:2018-5-16 15:14:21
楼主,PB1是否重新初始化?最好打印一下寄存器的值,看看是否发生了中断。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版