[STM32F4] 在地址 “0xfffffffe” 处中断,是不是没法仿真调试

[复制链接]
764|12
 楼主| 我的牙白 发表于 2025-5-28 20:51 | 显示全部楼层 |阅读模式
用 STM32CubeIDE 开发 STM32F407。
因为项目需要我必须在 Bank 2 的扇区 0 上编写代码,而不能在 Flash Bank 1 的扇区 0 上编写。
为了实现这个目的,我修改了 system_stm32F4xx.c 文件中的 VECT_TAB_OFFSET 值,如下所示
#define VECT_TAB_OFFSET  0x00100000UL
之后,使用 STM32CubeIDE 切换到调试模式,按下 Resume 按钮,出现如下窗口。
2548668370604767fb.png

烟雨蒙蒙520 发表于 2025-5-31 23:20 | 显示全部楼层
即使 Bank 2 地址是 0x08100000,启动地址仍然必须是 0x08000000,因为 MCU 上电后从该地址读取向量表和 Reset_Handler。
光辉梦境 发表于 2025-6-9 15:30 | 显示全部楼层
.在STM32F4微控制器中,如果在地址“0xfffffffe”处发生中断,通常意味着程序执行到了一个非法或未定义的地址。这种情况通常与硬件或软件错误有关,并且可能导致无法进行正常的仿真调试
别乱了阵脚 发表于 2025-6-9 16:00 | 显示全部楼层
地址“0xfffffffe”是一个非常高的地址,通常不在STM32F4的合法内存映射范围内
暖了夏天蓝了海 发表于 2025-6-9 16:44 | 显示全部楼层
STM32F4的内存映射通常从0x08000000(Flash起始地址)到0x2001FFFF(SRAM结束地址),具体取决于芯片型号和配置
江河千里 发表于 2025-6-9 17:00 | 显示全部楼层
访问超出这些范围的地址会导致硬件异常(如Hard Fault或Bus Fault)
淡漠安然 发表于 2025-6-9 18:03 | 显示全部楼层
栈空间不足,导致程序执行到非法地址
夜阑风雨 发表于 2025-6-9 19:00 | 显示全部楼层
中断向量表配置错误,导致中断处理程序指向非法地址
冰春彩落下 发表于 2025-6-9 20:12 | 显示全部楼层
芯片硬件故障或外部干扰导致程序执行异常
一秒落纱 发表于 2025-6-9 22:26 | 显示全部楼层
如果异常处理程序本身存在问题(如未正确配置或损坏),调试器可能无法捕获异常,导致程序卡在非法地址
远山寻你 发表于 2025-6-9 23:00 | 显示全部楼层
当程序执行到非法地址时,可能会触发硬件异常(如Hard Fault),导致程序进入异常处理流程
三生万物 发表于 2025-6-10 01:00 | 显示全部楼层
使用了未初始化或无效的指针,导致程序试图访问非法地址
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

54

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部