我正在尝试在 Mbed 板上运行一些使用 libsodium 的代码。仅包含库并运行sodium_init()
时会引发以下错误mbed sterm
:
++ 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 --
似乎 libsodium 试图使用某种不允许的互斥锁。不是 libsodium 或 Mbed OS 的专家,是什么导致了这个问题?libsodium文档指出
使用 ARM 嵌入式处理器的 GNU 工具交叉编译到 ARM
是可能的。然而,他们也注意到,
如果担心旁通道,不建议在 ARM Cortex M0、M3 和 M4 CPU 上使用 libsodium。
这有关系吗?有没有办法编译适用于 Nucleo 板的 libsodium?