[STM32N6] 在 Non-Secure 侧调用 tx_thread_schedule () 时出现 HardFault

[复制链接]
161|35
lihuami 发表于 2026-10-15 17:47 | 显示全部楼层
如何调整调用方式更安全?              
Henryko 发表于 2026-10-16 14:02 | 显示全部楼层
检查一下你的执行返回值EXEC_RETURN,确保没有非法值。我之前也遇到过类似的硬错误,就是因为这个原因解决的。
alvpeg 发表于 2026-10-17 11:44 | 显示全部楼层
确认 PendSV、SysTick 中断标记为 Non-Secure
FranklinUNK 发表于 2026-10-17 17:26 | 显示全部楼层
检查一下SAU配置,确保TX调度器使用的地址空间权限正确。我的项目里遇到过类似问题,调整权限后正常了。
jonas222 发表于 2026-10-18 17:10 | 显示全部楼层
禁止直接调用 Secure 函数
primojones 发表于 2026-10-18 21:43 | 显示全部楼层
ThreadX特权级配置步骤是什么?
tifmill 发表于 2026-10-19 13:39 | 显示全部楼层
在tx_application_define函数内创建所有业务线程
phoenixwhite 发表于 2026-10-19 14:13 | 显示全部楼层
调用此函数的核心变量是什么?              
jtracy3 发表于 2026-10-19 15:09 | 显示全部楼层
从ST的官方TrustZone示例工程入手,对比配置差异,是定位问题最快的方法。
寂静之回响 发表于 2026-10-19 16:11 | 显示全部楼层
检查一下外部存储器配置,确认EXEC_RETURN的值是否正确。如果使用Load and Run模式,EXEC_RETURN应该设置为0xFFFFFFFF。
uptown 发表于 2026-10-20 10:38 | 显示全部楼层
线程栈空间不足              
timfordlare 发表于 2026-10-20 12:43 | 显示全部楼层
在 Non-Secure 侧***不要直接调用 tx_thread_schedule(),始终通过 TF-M 代理层调用。这是 TrustZone 架构的核心要求。
zerorobert 发表于 2026-10-20 21:56 | 显示全部楼层
在 C 和 ASM 两处分别定义了哪个宏?
1988020566 发表于 2026-10-21 11:03 | 显示全部楼层
硬fault故障地址如何解读?              
EchoInSilence 发表于 2026-10-22 15:21 | 显示全部楼层
看样子SAU配置有误,检查一下是否将Non-Secure侧的地址范围添加到了SAU配置中,别忘了检查地址范围是否对齐。
EmmaTT 发表于 2026-10-23 17:18 | 显示全部楼层
检查外部存储器访问权限,确保非安全侧可以正常访问外部闪存。同时,查看SAU配置,确认内存分区设置没有问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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