[STM32U5]

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

[复制链接]
209|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读取。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

103

主题

5102

帖子

0

粉丝