Pulitzer 发表于 2025-6-6 07:21

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

想从主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读取。
页: [1]
查看完整版本: 试图在FLASH上跑代码,但总跳转失败