micropython/ports/mimxrt
Damien George f31c6b4840 mimxrt: Fix USB CDC handling so it works reliably.
On i.MX the SysTick IRQ cannot wake the CPU from a WFI so the CPU was
blocked on WFI waiting for USB data in mp_hal_stdin_rx_chr() even though it
had already arrived (because it may arrive just after calling the check
tud_cdc_available()).  This commit fixes this problem by using SEV/WFE to
indicate that there has been a USB event.

The mp_hal_stdout_tx_strn() function is also fixed so that it doesn't
overflow the USB buffers.

Signed-off-by: Damien George <damien@micropython.org>
2021-02-12 13:48:51 +11:00
..
boards mimxrt/boards: Add MIMXRT1064_EVK board. 2020-09-09 00:06:33 +10:00
Makefile mimxrt/boards: Add MIMXRT1064_EVK board. 2020-09-09 00:06:33 +10:00
README.md mimxrt: Add MIMXRT1010 board. 2020-03-11 15:36:27 +11:00
board_init.c mimxrt: Fix USB CDC handling so it works reliably. 2021-02-12 13:48:51 +11:00
led.c mimxrt: Add initial impl of machine.LED class, and basic pin support. 2020-06-05 11:47:48 +10:00
led.h mimxrt: Add initial impl of machine.LED class, and basic pin support. 2020-06-05 11:47:48 +10:00
machine_led.c mimxrt: Add initial impl of machine.LED class, and basic pin support. 2020-06-05 11:47:48 +10:00
main.c mimxrt: Add initial impl of machine.LED class, and basic pin support. 2020-06-05 11:47:48 +10:00
modmachine.c mimxrt: Add initial impl of machine.LED class, and basic pin support. 2020-06-05 11:47:48 +10:00
modutime.c mimxrt: Add new, minimal port to NXP i.MX RT series CPUs. 2020-03-11 15:34:13 +11:00
mpconfigport.h mimxrt: Fix USB CDC handling so it works reliably. 2021-02-12 13:48:51 +11:00
mphalport.c mimxrt: Fix USB CDC handling so it works reliably. 2021-02-12 13:48:51 +11:00
mphalport.h mimxrt: Add initial impl of machine.LED class, and basic pin support. 2020-06-05 11:47:48 +10:00
pin.c mimxrt: Add initial impl of machine.LED class, and basic pin support. 2020-06-05 11:47:48 +10:00
pin.h mimxrt: Add initial impl of machine.LED class, and basic pin support. 2020-06-05 11:47:48 +10:00
qstrdefsport.h mimxrt: Add new, minimal port to NXP i.MX RT series CPUs. 2020-03-11 15:34:13 +11:00
tusb_config.h ports: Update to build with new tinyusb. 2021-02-12 12:50:36 +11:00
tusb_port.c ports: Update to build with new tinyusb. 2021-02-12 12:50:36 +11:00

README.md

Port of MicroPython to NXP iMX RT 10xx

Currently supports Teensy 4.0 and the i.MX RT1010 EVK board.

Features:

  • REPL over USB VCP

Known issues:

  • pyboard.py doesn't work with files larger than 64 bytes

TODO:

  • Enable TCM
  • Peripherals (pins, LED, Timers, etc)