首页 > 解决方案 > Mbed Studio 中的 X_NUCLEO_IHM03A1?

问题描述

我想使用Mbed Studio为带有NUCLEO-L476RG板的X_NUCLEO_IHM03A1编写程序,使用官方库和 1 个电机的示例。据我了解,库仅支持 mbed os 2。同时,Mbed Studio 只能与 mbed os 5 一起使用。

编译项目后,我的设备重新启动并显示以下消息:

++ MbedOS Error Info ++
Error Status: 0x80010133 Code: 307 Module: 1                                                                                                                                  Error Message: Mutex: 0x20000578, Not allowed in ISR context
Location: 0x800E6DD
Error Value: 0x20000578
Current Thread: main Id: 0x20002018 Entry: 0x800B90D StackSize: 0x1000 StackMem: 0x200008E0 SP: 0x20001600
For more info, visit: https://mbed.com/s/error?error=0x80010133&tgt=NUCLEO_L476RG                                                                                                                          -- MbedOS Error Info --                                                                                                                                                = System will be rebooted due to a fatal error =
= Reboot count(=1) reached maximum, system will halt after rebooting

所以,我想也许这是解决方案:

1)以某种方式重写库,以便它可以与 MBED OS 5 一起使用(我不确定究竟需要修改什么)

2)在 Mbed Studio 中使用 mbed os 2(不确定是否可行)

X_NUCLEO_IHM03A1 库- https://os.mbed.com/teams/ST/code/X_NUCLEO_IHM03A1/

如何解决在 Mbed Studio 项目中为 X_NUCLEO_IHM03A1 编译的问题可以工作?

标签: mbed

解决方案


注释__disable_irq(); 解决了问题 谢谢 Nils4526

就我而言,该函数位于 PowerStep01.h 文件中,如下所示:

void Powerstep01_Board_DisableIrq(void)
    {
        // __disable_irq();
    }

推荐阅读