打印
[STM32U5]

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

[复制链接]
211|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的时候顺序不能错。

使用特权

评论回复
5
帛灿灿| | 2025-6-6 07:28 | 只看该作者
vector table地址记得重映射。

使用特权

评论回复
6
童雨竹| | 2025-6-6 07:29 | 只看该作者
Flash执行段地址对齐了吗?

使用特权

评论回复
7
万图| | 2025-6-6 07:30 | 只看该作者
编译器link file有没有改?

使用特权

评论回复
8
Wordsworth| | 2025-6-6 07:31 | 只看该作者
中断向量跳过去了但没初始化好。

使用特权

评论回复
9
Bblythe| | 2025-6-6 07:31 | 只看该作者
用汇编的LDR指令试一下能不能跳。

使用特权

评论回复
10
Pulitzer|  楼主 | 2025-6-6 07:32 | 只看该作者
栈地址指错一位都会挂。

使用特权

评论回复
11
Uriah| | 2025-6-6 07:33 | 只看该作者
U5系列要特别注意TrustZone设置。

使用特权

评论回复
12
powerantone| | 2025-6-6 11:01 | 只看该作者
Flash访问延迟未根据时钟频率正确配置,CPU从Flash读取指令时可能因数据未及时就绪而导致跳转失败。

使用特权

评论回复
13
elephant00| | 2025-6-6 11:09 | 只看该作者
RCC、PWR等外设可能未正确初始化,导致CPU无法正常访问Flash。

使用特权

评论回复
14
stormwind123| | 2025-6-6 14:00 | 只看该作者
可能是代码没正确烧录到Flash。

使用特权

评论回复
15
probedog| | 2025-6-6 14:00 | 只看该作者
检查链接脚本是否正确指定代码段的Flash地址。

使用特权

评论回复
16
jcky001| | 2025-6-6 16:00 | 只看该作者
STM32U5支持TrustZone安全扩展,若代码位于Secure但未正确配置安全属性,或尝试从Non-secure状态访问安全Flash,会导致跳转失败。

使用特权

评论回复
17
classroom| | 2025-6-6 16:30 | 只看该作者
中断向量表可能未重映射,用SCB->VTOR寄存器重映射向量表。

使用特权

评论回复
18
cr315| | 2025-6-6 16:36 | 只看该作者
检查安全配置是否允许跨安全域访问。

使用特权

评论回复
19
duo点| | 2025-6-6 18:00 | 只看该作者
代码未对齐到Flash页边界?

使用特权

评论回复
20
onlycook| | 2025-6-6 18:00 | 只看该作者
编译选项未启用优化,可能导致代码生成效率低下,影响Flash读取。

使用特权

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

本版积分规则

103

主题

5102

帖子

0

粉丝