在 i.MXRT 上开始使用 MicroPython

使用 MicroPython 是充分利用 i.MXRT 板的好方法。反之亦然,i.MXRT 芯片是使用 MicroPython 的绝佳平台。本教程将指导您设置 MicroPython、获得提示、使用硬件外围设备以及控制一些外部组件。

让我们开始吧!

要求

您需要的第一件事是带有 i.MXRT 芯片的电路板。MicroPython 软件支持 i.MXRT 芯片本身,任何板都可以工作。板卡的主要特点是 GPIO 引脚如何连接到外部世界,以及它是否包含内置 USB 串行转换器以使您的 PC 可以使用 UART。

本教程中将使用芯片名称(例如 GPIO2)给出引脚名称,并且应该很容易找到它对应于您特定板上的哪个引脚。

为电路板供电

如果您的电路板上有一个 USB 连接器,那么它很可能在连接到您的 PC 时通过它供电。否则,您将需要直接为其供电。有关详细信息,请参阅您的电路板的文档。

获取固件

MicroPython 下载页面上提供了固件版本 。您可以下载最新的 MicroPython 固件 .hex 或 .bin 文件以加载到您的 i.MXRT 设备上。在该下载页面中,您有两个主要选择:

  • 稳定的固件版本

  • 每日固件构建

如果您刚开始使用 MicroPython,最好的选择是使用稳定的固件版本。如果您是一名高级、经验丰富的 MicroPython i.MXRT 用户,并且希望密切关注开发并帮助测试新功能,则可以使用每日构建。

部署固件

获得 MicroPython 固件后,您需要将其加载到 i.MXRT 设备上。这些步骤的确切过程在很大程度上取决于特定的板,您需要参考其文档以获取详细信息。

青少年 4.0 和 4.1

对于 Teensy 4.0 和 4.1,您必须使用内置加载器和 PJRC 提供的 PC 加载器。按下板上的按钮将激活内置加载程序。然后您可以使用以下命令上传固件:

teensy_loader_cli --mcu=imxrt1062 -v -w firmware.hex

IMXRT10xx-EVK 板

IMXRT10xx-EVK 板具有连接到支持 MCU 的第二个 USB 端口。将该 USB 端口连接到您的 PC 将使用该板的名称注册一个磁盘驱动器。只需将firmware.bin 文件复制到此驱动器,即可开始刷机程序。如果该驱动器消失并重新出现,您将知道闪存已完成。如果您决定在该 Sidekick MCU 上安装非常有用的 Segger open-SDA 固件,那么您必须使用调试器软件上传 i.MXRT 固件。

种子 ARCH MIX 板

固件上传到 Seed ARCH MIX 板不太方便。供应商建议使用 J-Link 作为方法和工具。为此,请按照 Seed 在其 Wiki 中的说明进行操作, 网址为https://wiki.seeedstudio.com/Arch_Mix/#flashing-arduino-bootloader-to-arch-mix。您将需要一个 J-Link 调试探针和软件。您可能会发现 Segger JLink edu 或 Segger JLink edu mini 很方便。作为匹配的加载器,您可以使用 JFlashLite。加载的目标地址是 0x60000000。

MIMXRT 系列还支持串行上传方法。串行上传软件由 NXP 提供。使用它的步骤是:

  • 将 J3、引脚 19 连接到 3.3V (GPIO_AD_B0_05)。

  • 将 DIP 开关设置从 off-off-on-off 更改为 off-off-off-on

  • 推重置

  • 使用以下命令运行上传:./FLASH.sh

  • 上传完成后,将 DIP 开关设置回 off-off-on-off。

  • 移除 J3、Pin19 的跳线并按下复位

为避免以超级用户身份运行 Flash 加载程序,您可以将提供的 udev-rules 脚本复制到 /etc/udev/rules.d/。FLASH.sh 调用两个二进制文件,blhost 和 sdphost,它们由 NXP 在 BSD-3-Clause License 下提供。这些二进制文件和脚本的一个版本可以在https://github.com/robert-hh/Shared-Stuff/blob/master/mimxrt_serial_downloader.zip下载。

串行下载也可用于 NXP MIMXRT 板。但是内置加载器使用起来要方便得多。

串行提示

在设备上安装固件后,您可以通过 USB 访问 REPL(Python 提示符)。

从那里您可以按照 i.MXRT 教程进行操作。

解决安装问题

如果您在刷写期间或之后立即运行固件时遇到问题,以下是一些故障排除建议:

  • 注意并尝试排除硬件问题。有两个常见问题:电源质量差,以及 Flash ROM 磨损/有缺陷。说到电源,不仅原始电流很重要,而且一般来说低纹波和噪声/EMI也很重要。最可靠、最方便的电源是 USB 端口。