circuitpython/ports/mimxrt
robert-hh 5d473d3093 mimxrt/mphalport: Add a timeout to mp_hal_stdout_tx_strn().
If USB CDC is connected and the board sends data, but the host does not
receive the data, the device locks up.  This is fixed in this commit by
having a timeout of 500ms, after which time the transmission is skipped.
2022-11-09 11:16:25 +11:00
..
boards mimxrt: Fix CPU freeze when calling __WFE() in MICROPY_EVENT_POLL_HOOK. 2022-10-27 14:06:12 +11:00
hal mimxrt: Format the firmware image to match the new teensy loader. 2022-09-13 18:35:48 +10:00
lwip_inc mimxrt: Re-Enable eth checksum creation by HW. 2021-12-14 08:07:52 +01:00
mbedtls extmod/mbedtls: Enable elliptic curve DH and DSA cryptography. 2022-10-22 19:08:21 +11:00
modules mimxrt/modules: Append /flash/lib to the default sys.path. 2022-04-11 12:25:15 +10:00
board_init.c mimxrt/machine_timer: Use soft-timer implementation for machine.Timer. 2022-10-27 14:09:29 +11:00
dma_manager.c mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
dma_manager.h mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
eth.c mimxrt: Update port to work with new nxp_driver v2.10. 2022-06-03 10:48:49 +10:00
eth.h mimxrt: Add a driver for the DP83848 PHY device. 2021-12-14 08:07:52 +01:00
fatfs_port.c mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
led.c mimxrt: Implement machine.Pin class. 2021-05-26 00:12:42 +10:00
led.h mimxrt: Implement machine.Pin class. 2021-05-26 00:12:42 +10:00
machine_adc.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_bitstream.c mimxrt: Fix cycle counter for time.ticks_cpu() and machine.bitstream(). 2021-10-25 15:50:44 +11:00
machine_i2c.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_i2s.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_led.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_pin.c mimxrt/machine_pin: Add the Pin.toggle() method. 2022-10-27 14:05:33 +11:00
machine_pwm.c all: Use mp_obj_malloc everywhere it's applicable. 2022-05-03 22:28:14 +10:00
machine_rtc.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_sdcard.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_spi.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_uart.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
machine_wdt.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
main.c mimxrt/machine_timer: Use soft-timer implementation for machine.Timer. 2022-10-27 14:09:29 +11:00
Makefile mimxrt/machine_timer: Use extmod version of machine.Timer. 2022-10-27 14:43:03 +11:00
mimxrt_flash.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
mimxrt_sdram.c mimxrt/sdram: Add SDRAM support. 2021-10-22 08:23:24 +02:00
modmachine.c all: Remove third argument to MP_REGISTER_MODULE. 2022-06-02 16:31:37 +10:00
modmachine.h mimxrt/machine_rtc: Start RTC at boot and set datetime if not set. 2022-04-11 12:25:23 +10:00
modmimxrt.c all: Remove third argument to MP_REGISTER_MODULE. 2022-06-02 16:31:37 +10:00
modmimxrt.h mimxrt: Add flash storage support with VFS and littlefs filesystem. 2021-06-01 23:42:57 +10:00
moduos.c py/objstr: Split mp_obj_str_from_vstr into bytes/str versions. 2022-08-26 16:43:55 +10:00
modutime.c all: Remove third argument to MP_REGISTER_MODULE. 2022-06-02 16:31:37 +10:00
mpconfigport.h mimxrt/machine_timer: Use extmod version of machine.Timer. 2022-10-27 14:43:03 +11:00
mphalport.c mimxrt/mphalport: Add a timeout to mp_hal_stdout_tx_strn(). 2022-11-09 11:16:25 +11:00
mphalport.h mimxrt/mphalport: Add a timeout to mp_hal_stdout_tx_strn(). 2022-11-09 11:16:25 +11:00
mpnetworkport.c mimxrt/eth: Add LAN support and integrate the network module. 2021-10-25 15:14:26 +11:00
network_lan.c py/obj: Convert make_new into a mp_obj_type_t slot. 2022-09-19 19:06:15 +10:00
pendsv.c mimxrt/eth: Add LAN support and integrate the network module. 2021-10-25 15:14:26 +11:00
pendsv.h mimxrt/eth: Add LAN support and integrate the network module. 2021-10-25 15:14:26 +11:00
pin.c mimxrt/machine_pin: Change pin drive constants to DRIVE_x naming. 2022-03-08 22:30:33 +11:00
pin.h mimxrt/machine_pin: Change pin drive constants to DRIVE_x naming. 2022-03-08 22:30:33 +11:00
qstrdefsport.h mimxrt: Add new, minimal port to NXP i.MX RT series CPUs. 2020-03-11 15:34:13 +11:00
README.md mimxrt: Extend the help() message and README.md. 2021-10-25 23:52:08 +11:00
sdcard.c mimxrt: Update port to work with new nxp_driver v2.10. 2022-06-03 10:48:49 +10:00
sdcard.h mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
systick.c mimxrt/machine_timer: Use soft-timer implementation for machine.Timer. 2022-10-27 14:09:29 +11:00
systick.h mimxrt/eth: Add LAN support and integrate the network module. 2021-10-25 15:14:26 +11:00
ticks.c mimxrt: Enable ticks_cpu at boot time for NDEBUG builds only. 2021-12-14 08:07:52 +01:00
ticks.h mimxrt: Improve ticks and sleep functions using GPT. 2021-05-18 22:36:32 +10:00
tusb_config.h ports: Update to build with new tinyusb. 2021-02-12 12:50:36 +11:00
tusb_port.c mimxrt: Add USB ID elements. 2022-01-27 17:05:34 +11:00

Port of MicroPython to NXP iMX RT 10xx

Currently supports Teensy 4.0, Teensy 4.1, and the MIMXRT1010_EVK, MIMXRT1020_EVK, MIMXRT1050_EVK, MIMXRT1060_EVK and MIMXRT1064_EVK boards.

Features:

  • REPL over USB VCP
  • machine.ADC
  • machine.I2C
  • machine.LED
  • machine.Pin
  • machine.PWM
  • machine.RTC
  • machine.SDCard
  • machine.SPI
  • machine.Signal
  • machine.SoftI2C
  • machine.SoftSPI
  • machine.Timer
  • machine.UART
  • LFS2 file system at the internal Flash
  • SDCard support (not on MIMXRT1010_EVK)
  • Ethernet (not on Teensy 4.0 and MIMXRT1010_EVK)

Known issues:

TODO:

  • More peripherals (Counter, I2S, CAN, etc)
  • More Python options