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
Makefile
README.md
board_init.c
led.c
led.h
machine_led.c
main.c
modmachine.c
modutime.c
mpconfigport.h
mphalport.c
mphalport.h
pin.c
pin.h
qstrdefsport.h
tusb_config.h
tusb_port.c

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)