【问题标题】:X_NUCLEO_IHM03A1 in Mbed Studio?Mbed Studio 中的 X_NUCLEO_IHM03A1?
【发布时间】:2020-04-08 15:41:04
【问题描述】:

我想使用Mbed StudioX_NUCLEO_IHM03A1NUCLEO-L476RG 板使用官方库和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


【解决方案1】:

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

在我的例子中,该函数位于 PowerStep01.h 文件中,如下所示:

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

【讨论】:

    【解决方案2】:

    除了扩展板 IHM01A1 和 Nucleo 板 F411RE,我得到了与您相同的错误代码。我不知道这是否适用于您的董事会,但我认为值得一试。名称不同,但代码看起来相似。

    使用裸机配置文件无需任何修改即可使用,但此更改也适用于 OS5。

    在文件 Components/L6474/L6474.h 中注释掉以下行:

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

    使用 SPI 读写时在主文件中调用该函数。

    我不知道它为什么会起作用,因为 Mbed API 会要求您在使用 SPI 写入功能之前禁用中断,但是以某种方式删除禁用中断的这一行使其起作用。

    【讨论】:

    • 非常感谢。注释 __disable_irq();解决了问题
    猜你喜欢
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    相关资源
    最近更新 更多