circuitpython/ports/mimxrt10xx
Christian Walther c7404a3ff8 Add movable allocation system.
This allows calls to `allocate_memory()` while the VM is running, it will then allocate from the GC heap (unless there is a suitable hole among the supervisor allocations), and when the VM exits and the GC heap is freed, the allocation will be moved to the bottom of the former GC heap and transformed into a proper supervisor allocation. Existing movable allocations will also be moved to defragment the supervisor heap and ensure that the next VM run gets as much memory as possible for the GC heap.

By itself this breaks terminalio because it violates the assumption that supervisor_display_move_memory() still has access to an undisturbed heap to copy the tilegrid from. It will work in many cases, but if you're unlucky you will get garbled terminal contents after exiting from the vm run that created the display. This will be fixed in the following commit, which is separate to simplify review.
2020-11-28 17:50:23 +01:00
..
boards Update USB PID 2020-10-07 16:12:07 -07:00
common-hal Update parallel bus signatures 2020-11-13 18:57:52 -08:00
linking Unify iMX flash config and add Metro M7 1011 2020-10-07 15:23:47 -07:00
peripherals/mimxrt10xx Add more "extern" declarations for gcc10 compat 2020-08-21 14:39:37 -05:00
sdk@8363ff7bed Correct MIMXRT sdk version 2020-03-27 15:40:17 -07:00
supervisor Add movable allocation system. 2020-11-28 17:50:23 +01:00
.gitignore Add initial MIMXRT10XX port 2020-01-06 21:08:49 +01:00
Makefile cxd56 needed more precise include for __packed; needed SRC_C += on some ports 2020-10-15 15:24:24 -04:00
README.md Add initial MIMXRT10XX port 2020-01-06 21:08:49 +01:00
background.c supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
background.h supervisor: factor supervisor_background_tasks from sundry ports 2020-07-15 11:49:44 -05:00
fatfs_port.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
mpconfigport.h Moved ORDEREDDICT define to central location 2020-10-13 18:52:27 -05:00
mpconfigport.mk replace USB_MSC_MAX_PACKET_SIZE with USB_HIGHSPEED in descriptor gen tool 2020-07-29 15:38:55 +07:00
mphalport.c Switch iMX RT to RTC. Untested. 2020-03-23 18:20:58 -07:00
mphalport.h Add more "extern" declarations for gcc10 compat 2020-08-21 14:39:37 -05:00
qstrdefsport.h Add initial MIMXRT10XX port 2020-01-06 21:08:49 +01:00
reset.c Refine iMX RT memory layout and add three boards 2020-01-17 17:36:08 -08:00
reset.h mimxrt10xx: Add required header for NORETURN definition 2020-09-28 18:56:01 -05:00

README.md

CircuitPython Port To The NXP i.MX RT10xx Series

This is a port of CircuitPython to the i.MX RT10xx series of chips.