硬汉嵌入式论坛

 找回密码
 立即注册
查看: 318|回复: 7
收起左侧

[STM32H7] M7核的DSB 和ISB指令使用有什么注意的吗

[复制链接]

15

主题

62

回帖

107

积分

初级会员

积分
107
发表于 2025-10-15 09:15:35 | 显示全部楼层 |阅读模式
M7核的DSB 和ISB指令使用有什么注意的吗?有客户发现BOOT刷完APP,跳APP后,在APP里面函数调用返回到BOOT里面了,应该是APP函数调用返回到APP里面才对
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-15 10:08:28 | 显示全部楼层
如果成功跳转过去了,那不会跳转回来的,除非程序跑飞了,或者程序中断向量表或者部分函数地址配置有问题。又或者APP异常复位,重新从BOOT启动了。
回复

使用道具 举报

15

主题

62

回帖

107

积分

初级会员

积分
107
 楼主| 发表于 2025-10-15 10:23:33 | 显示全部楼层
eric2013 发表于 2025-10-15 10:08
如果成功跳转过去了,那不会跳转回来的,除非程序跑飞了,或者程序中断向量表或者部分函数地址配置有问题。 ...

这个问题是DSB和ISB没有成对使用造成的,关键是DSB和ISB用法上有没有什么特别的说明,比如不成对使用在什么场景,会有什么问题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-15 10:52:56 | 显示全部楼层
lovely-teddy 发表于 2025-10-15 10:23
这个问题是DSB和ISB没有成对使用造成的,关键是DSB和ISB用法上有没有什么特别的说明,比如不成对使用在什 ...

早期的HAL库版本Flash擦写函数没有正常调用DSB和ISB,你看下你那边是不是这个问题导致的。

跳转本身不需要处理这个。我这边没处理过。
回复

使用道具 举报

19

主题

339

回帖

396

积分

高级会员

积分
396
发表于 2025-10-15 14:45:05 | 显示全部楼层
这是内存屏障的指令。
ISB 是清空流水线,告诉 CPU 重新取指令。
DSB 是数据同步屏障,如果你执行了一个写操作,后续的操作依赖这个操作一定执行完毕,那么就需要显示的调用 DSB 。
所以你的问题不会是 DSB ISB 指令导致的。我见过不加 ISB DSB 导致的行为异常。

你这个问题,可以在进入APP 之后打印一下异常向量表,看看是不是切换到 APP 了。另外是不是意外的执行了复位操作(看门狗)导致的。
回复

使用道具 举报

0

主题

59

回帖

59

积分

初级会员

积分
59
发表于 2025-10-15 16:07:25 | 显示全部楼层
王海靖 发表于 2025-10-15 14:45
这是内存屏障的指令。
ISB 是清空流水线,告诉 CPU 重新取指令。
DSB 是数据同步屏障,如果你执行了一个 ...

ISB,DSB 的解释非常易懂。谢谢分享
回复

使用道具 举报

15

主题

62

回帖

107

积分

初级会员

积分
107
 楼主| 发表于 2025-10-16 12:12:58 | 显示全部楼层
王海靖 发表于 2025-10-15 14:45
这是内存屏障的指令。
ISB 是清空流水线,告诉 CPU 重新取指令。
DSB 是数据同步屏障,如果你执行了一个 ...

这样问题是boot刷完APP后,进入APP第一函数返回的时候,出现返回到BOOT里面。期望是APP返回自己进入的位置,加入DSB后这个问题没有了。我们怀疑是没有插入DSB,BOOT中最后一个函数调用堆栈仍然在LR寄存器中,所以APP第一个函数的return异常
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-10-17 08:40:41 | 显示全部楼层
lovely-teddy 发表于 2025-10-16 12:12
这样问题是boot刷完APP后,进入APP第一函数返回的时候,出现返回到BOOT里面。期望是APP返回自己进入的位 ...

正常的函数跳转不需要处理这个的。

这个问题可以BOOT什么不操作,直接跳转看看是否正常,如果正常可以确定是你的BOOT实现本身没有处理好。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-11-22 04:11 , Processed in 0.042540 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表