circuitpython/ports/mimxrt
robert-hh 8e54225140 mimxrt: Format the firmware image to match the new teensy loader.
The new teensy loader keeps the file system under certain conditions:
- The file size is properly set in the file header.
- The header version is 4.3

These changes are implemented here, requiring a backport of
fsl_flexspi_nor_boot.c.  There is still a problem with the command line
version of the teensy loader, which fails on the first attempt.  At the
second attempt it works.  The GUI version of the teensy loader is fine.
2022-09-13 18:35:48 +10:00
..
boards mimxrt: Format the firmware image to match the new teensy loader. 2022-09-13 18:35:48 +10: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 mimxrt/mbedtls: Use core-provided tracked alloc instead of custom funcs. 2022-05-05 10:31:50 +10:00
modules mimxrt/modules: Append /flash/lib to the default sys.path. 2022-04-11 12:25:15 +10:00
board_init.c mimxrt/Makefile: Modify handling of SDRAM option. 2022-06-24 17:58:27 +10: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 all: Use mp_obj_malloc everywhere it's applicable. 2022-05-03 22:28:14 +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 mimxrt: Update port to work with new nxp_driver v2.10. 2022-06-03 10:48:49 +10:00
machine_i2s.c mimxrt: Use MP_REGISTER_ROOT_POINTER(). 2022-07-18 13:50:34 +10:00
machine_led.c mimxrt/machine_led: Use mp_raise_msg_varg helper. 2021-07-15 00:12:41 +10:00
machine_pin.c mimxrt: Use MP_REGISTER_ROOT_POINTER(). 2022-07-18 13:50:34 +10:00
machine_pwm.c all: Use mp_obj_malloc everywhere it's applicable. 2022-05-03 22:28:14 +10:00
machine_rtc.c mimxrt/machine_rtc: Start RTC at boot and set datetime if not set. 2022-04-11 12:25:23 +10:00
machine_sdcard.c mimxrt/sdcard: Implement SDCard driver. 2021-09-07 20:45:33 +02:00
machine_spi.c mimxrt: Update port to work with new nxp_driver v2.10. 2022-06-03 10:48:49 +10:00
machine_timer.c mimxrt: Use MP_REGISTER_ROOT_POINTER(). 2022-07-18 13:50:34 +10:00
machine_uart.c mimxrt/machine_uart: Drop a few commented lines about TX ring buffer. 2022-09-13 18:35:48 +10:00
machine_wdt.c mimxrt/modmachine: Implement machine.WDT() and machine.reset_cause(). 2021-10-25 15:43:56 +11:00
main.c mixmrt/machine_i2s: Add I2S protocol support. 2022-03-30 14:12:40 +11:00
Makefile mimxrt: Format the firmware image to match the new teensy loader. 2022-09-13 18:35:48 +10:00
mimxrt_flash.c mimxrt: Use -Og instead of -O0 for DEBUG builds. 2021-12-14 08:07:52 +01: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 all: Remove MICROPY_PY_IO_FILEIO config option. 2022-08-18 11:54:17 +10:00
mphalport.c mimxrt/mphalport: Fix strict aliasing error with unique id. 2022-06-02 12:50:14 +10:00
mphalport.h mimxrt: Refactor the reading of the machine id. 2021-12-14 08:07:52 +01:00
mpnetworkport.c mimxrt/eth: Add LAN support and integrate the network module. 2021-10-25 15:14:26 +11:00
network_lan.c mimxrt: Add a driver for the DP83848 PHY device. 2021-12-14 08:07:52 +01: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/eth: Add LAN support and integrate the network module. 2021-10-25 15:14:26 +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