【问题标题】:Ada on the microbit: scrolling text example not working, no libusb library foundAda on the microbit:滚动文本示例不起作用,找不到 libusb 库
【发布时间】:2021-01-23 12:33:47
【问题描述】:

我按照关于显示滚动文本 (https://blog.adacore.com/ada-for-microbit-part-1-getting-started) 的 adacore 教程进行操作,但无法在我的 microbit 上运行。

也许我的 microbit 是尚未支持的更新版本?我怀疑这是因为我第一次尝试闪存到板上时不支持我的板 id (9904)。我使用了此处描述的修复:Unable to get the Ada scrolling text demo working on the microbit on GNAT 2019 community edition 并在 board_ids.py 中添加了以下行:

"9904": BoardInfo( "micro:bit", "nrf51", "l1_microbit.bin", ),

执行此操作后,我能够将滚动文本示例闪烁到板上,但出现以下警告:

0000601:WARNING:common:STLink and CMSIS-DAPv2 probes are not supported because no libusb library was found.

现在的问题是只有一个 LED 亮起。似乎单个 LED 根据其闪烁模式根据输入文本正确亮起。我不确定 libusb 警告是否是导致问题的原因。

我使用的是 GNAT 2020 版本的 x86_64 和 arm-elf。我已经坚持了一段时间,希望有任何建议。谢谢!

编辑:

我在 Windows 10 上。

我认为问题与 pyocd/libusb 无关,因为在确保我在与 GNAT 中的 python exe 相同的目录中有一个 libusb dll 之后,我在闪烁到板时不再收到任何警告。滚动文本示例仍然不起作用(只有一个 LED 亮起)。

我也在另一台计算机上尝试过,结果相同。

来自https://github.com/AdaCore/Ada_Drivers_Library/issues/379 看来 ada 驱动程序库不支持新版本的开发板?但这个问题与加速度计版本有关,我不确定这是否是我的原因。

【问题讨论】:

  • 在 Debian 上,sudo apt-get install libusb,但我不知道你有哪个操作系统/发行版。
  • 抱歉,我在 Windows 上。

标签: ada libusb bbc-microbit


【解决方案1】:

您的 LED 问题将是 V2 板重新设计了 GPIO 引脚和 LED 之间的关系(现在非常更有用!)

microbit.org 页面here

LED 矩阵的物理布局为 5x5。在 V2 板上,这被实现为 5x5 矩阵,但在 V1 中,它被实现为 9x3 的扫描矩阵(即 9 列乘 3 行)。不使用第 2 行第 8 列和第 2 行第 9 列。

您需要在标记为“像素到 IO 引脚”的部分中修改 Ada_Drivers_Library/boards/MicroBit/src/microbit-display.adb

【讨论】:

    【解决方案2】:

    libusb 在您的计算机上丢失或找不到。用于与Microbit板通信上传/调试。

    【讨论】:

    • 好的,谢谢。你对如何解决这个问题有什么建议吗?我认为 libusb 是 pyocd 的依赖项,它应该包含在我拥有的 arm-elf (link) 中,并且我可以在 arm-elf 目录中看到对 libusb 的各种引用。我尝试按照此处的建议将 libusb.dll 添加到我的 python 安装中来解决此问题:link 但它不起作用。我试过pip3 install libusb,但要求已经满足了。
    • 我认为libusb.dll 需要在您的 PATH 或当前目录中,但我不是 Windows 专家 :-(
    • 不幸的是,这不起作用。我可以从命令行运行 pyocd,pyocd flash -t nrf51 path/to/main.bin 没有错误,但我仍然只有一个 LED 以与原始帖子中描述的方式相同的方式闪烁。
    • 您必须遵循 PyOcd 安装说明,但将它们应用于位于 GNAT 中的 Python 安装。我猜(未尝试过)libusb dll 位于 C:\GNAT\2020\bin 中。看起来您必须使用 64 位 dll。注意:在我这边,libusb dlls已经被Windows系统目录中的另一个工具安装了,所以我没有和你一样的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 2014-06-29
    相关资源
    最近更新 更多