[STM32U5] 试图在FLASH上跑代码,但总跳转失败

[复制链接]
496|19
 楼主| Pulitzer 发表于 2025-6-6 07:21 | 显示全部楼层 |阅读模式
想从主FLASH跳到副FLASH执行程序,结果总是跑飞,栈啥的都试过了。
Clyde011 发表于 2025-6-6 07:23 | 显示全部楼层
启动文件加一句SCB->VTOR = xxxx就解决了我这问题。
公羊子丹 发表于 2025-6-6 07:23 | 显示全部楼层
你跳转之前关闭中断了吗?
周半梅 发表于 2025-6-6 07:25 | 显示全部楼层
设置SP和PC的时候顺序不能错。
帛灿灿 发表于 2025-6-6 07:28 | 显示全部楼层
vector table地址记得重映射。
童雨竹 发表于 2025-6-6 07:29 | 显示全部楼层
Flash执行段地址对齐了吗?
万图 发表于 2025-6-6 07:30 | 显示全部楼层
编译器link file有没有改?
Wordsworth 发表于 2025-6-6 07:31 | 显示全部楼层
中断向量跳过去了但没初始化好。
Bblythe 发表于 2025-6-6 07:31 | 显示全部楼层
用汇编的LDR指令试一下能不能跳。
 楼主| Pulitzer 发表于 2025-6-6 07:32 | 显示全部楼层
栈地址指错一位都会挂。
Uriah 发表于 2025-6-6 07:33 | 显示全部楼层
U5系列要特别注意TrustZone设置。
powerantone 发表于 2025-6-6 11:01 | 显示全部楼层
Flash访问延迟未根据时钟频率正确配置,CPU从Flash读取指令时可能因数据未及时就绪而导致跳转失败。
elephant00 发表于 2025-6-6 11:09 | 显示全部楼层
RCC、PWR等外设可能未正确初始化,导致CPU无法正常访问Flash。
stormwind123 发表于 2025-6-6 14:00 | 显示全部楼层
可能是代码没正确烧录到Flash。
probedog 发表于 2025-6-6 14:00 | 显示全部楼层
检查链接脚本是否正确指定代码段的Flash地址。
jcky001 发表于 2025-6-6 16:00 | 显示全部楼层
STM32U5支持TrustZone安全扩展,若代码位于Secure但未正确配置安全属性,或尝试从Non-secure状态访问安全Flash,会导致跳转失败。
classroom 发表于 2025-6-6 16:30 | 显示全部楼层
中断向量表可能未重映射,用SCB->VTOR寄存器重映射向量表。
cr315 发表于 2025-6-6 16:36 | 显示全部楼层
检查安全配置是否允许跨安全域访问。
duo点 发表于 2025-6-6 18:00 | 显示全部楼层
代码未对齐到Flash页边界?
onlycook 发表于 2025-6-6 18:00 | 显示全部楼层
编译选项未启用优化,可能导致代码生成效率低下,影响Flash读取。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

163

主题

6099

帖子

0

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