STM32
直播中

李玲

8年用户 1320经验值
私信 关注
[问答]

stm32l562运行NUTTX出现secure fault的原因?

nuttx操作系统里面带有STM32l562 board,编译出该board的bin文件,然后按照board目录下,readme.txt中的操作通过TFM加载该bin运行,会出下面的的secure fault问题,
[Sec Thread] Secure image initializing!ABCDF[Sec Handler] Oops... Secure fault!!! You're not going anywhere![INF] Starting bootloader[INF] Checking BL2 NV area[INF] Checking BL2 NV area header[INF] Checking BL2 NV Counter consistency[INF] Consistent BL2 NV Counter 3  = 0x1000000[INF] Consistent BL2 NV Counter 4  = 0x1000000[INF] Swap type: none[INF] Swap type: none[INF] verify counter  0 1000000 1000000[INF] counter  0 : ok[INF] verify sig key id 0[INF] signature OK[INF] verify counter  1 1000000 1000000[INF] counter  1 : ok[INF] verify sig key id 1[INF] signature OK[INF] Bootloader chainload address offset: 0x17000[INF] Jumping to the first image slotset to BL2 SHARED DATA2XX_HUK[i]CUSTOMIZATION[INF] Code c002900 c011bfe[INF] hash TFM_SBSFU_Boot  12f2c685 .. 57deacd1[INF] otfdec key b8, c0, 35, 4f, 78, 9e, e4, 62,[INF] otfdec key 37, 7a, f0, 8, 51, 96, 70, 2b,
我已经完全按照readme.txt的步骤操作了,但还是有这个问题,请问下有人遇到过该问题吗,或者通过什么方式可以找到创建board代码的作者,感谢。



回帖(1)

张英

2024-3-18 17:10:33
Secure fault是指发生了一个安全异常,通常是由于执行了一条不合法或者无权执行的指令导致的。在这种情况下,操作系统会发现出现了安全异常,因此会输出"Oops... Secure fault!!!"等相关信息并停止运行。

出现secure fault的原因可能有很多,可能与硬件配置、安全机制、操作系统代码等有关,下面列举一些可能的原因:

1. 硬件配置错误:检查硬件连接是否正确,是否在正确的引脚上配置了正确的时钟源和外设等参数。
2. 安全机制设置错误:STM32L562支持TrustZone-M技术,可能与与该功能相关的设置有关。检查是否正确配置了安全设备、安全区域、安全标记等。
3. 编译错误:检查编译时使用的编译器、编译选项等是否正确。
4. 代码错误:检查操作系统代码中是否存在导致secure fault的错误,例如未经授权的指令或非法访问等。
5. 外设驱动错误:检查外设驱动程序中是否存在错误导致的异常。
6. 内存访问错误:检查是否存在越界访问、空指针访问或未初始化访问等导致的错误。

解决此问题的方法需要根据具体情况进行调试和排查。可以通过打印相关信息、使用调试工具(如JTAG调试器)等方式来定位问题所在。同时,还可以查看操作系统、硬件文档以及相关社区等资源,寻找类似问题的解决方案。如果问题仍然存在,建议联系芯片厂商或相应技术支持团队获取进一步的帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分