首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Mbed (Nucleo L476RG)上运行L476RG在ISR上下文中不允许互斥

在Mbed (Nucleo L476RG)上运行L476RG在ISR上下文中不允许互斥
EN

Stack Overflow用户
提问于 2019-12-06 15:46:56
回答 1查看 395关注 0票数 0

我正在试着运行一些代码,在一块抹布板上使用board。在只包含库和运行sodium_init()时,mbed sterm上会引发以下错误

代码语言:javascript
运行
复制
++ MbedOS Error Info ++
Error Status: 0x80010133 Code: 307 Module: 1
Error Message: Mutex: 0x200027EC, Not allowed in ISR context
Location: 0x80026B5
Error Value: 0x200027EC
Current Thread: main  Id: 0x20000EF0 Entry: 0x800257F StackSize: 0x1000 StackMem: 0x200017B8 SP: 0x100004C8 
For more info, visit: https://mbed.com/s/error?error=0x80010133&tgt=NUCLEO_L476RG
-- MbedOS Error Info --

似乎利伯钠试图使用某种互斥物,这是不允许的。作为一个专家,无论是利布钠或混合操作系统,是什么会导致这一问题?利伯钠文档声明

使用ARM嵌入式处理器的GNU工具交叉编译ARM

是有可能的。然而,他们也注意到

如果侧通道引起关注,则不建议在ARM Cortex M0、M3和M4 CPU上使用using。

这有关系吗?是否有一种方法来编译钠,这将工作的核心板?

EN

回答 1

Stack Overflow用户

发布于 2019-12-06 19:45:54

首先,检查是否正在运行编译器工具链的最新版本。看起来这是一个bug 修正了当前版本

如果这不起作用,或者如果它不是选项,您可以尝试将--without-pthreads添加到编译标志中。

这个CPU是一个M4,所以如果物理安全是线程模型的一部分,那么有关侧通道的警告仍然适用。

对于这个平台,锂氢可能是一个比libsodium更好的选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59216285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档