aboutsummaryrefslogtreecommitdiff
path: root/ports/mimxrt
AgeCommit message (Collapse)Author
2021-04-14mimxrt: Enable CPYTHON_COMPAT, PY_ASYNC_AWAIT, PY_ATTRTUPLE options.Damien George
This change allows running the tests in tests/basics/ without any failures (but some tests are still skipped). Signed-off-by: Damien George <damien@micropython.org>
2021-03-11mimxrt/boards: Add MIMXRT1050_EVK board, based on MIMXRT1060_EVK.svetelna
2021-02-12mimxrt: Fix USB CDC handling so it works reliably.Damien George
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-12ports: Update to build with new tinyusb.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-02-04ports: Remove def of MP_PLAT_PRINT_STRN if it's the same as the default.Damien George
To simplify config, there's no need to specify MP_PLAT_PRINT_STRN if it's the same as the default definition in py/mpconfig.h. Signed-off-by: Damien George <damien@micropython.org>
2020-10-17ports: Use correct in/out endpoint size in TUD_CDC_DESCRIPTOR.Damien George
The last argument of TUD_CDC_DESCRIPTOR() is the endpoint size (or wMaxPacketSize), not the CDC RX buffer size (which can be larger than the endpoint size). Signed-off-by: Damien George <damien@micropython.org>
2020-09-09mimxrt/boards: Add MIMXRT1064_EVK board.Albort Xue
2020-06-10mimxrt/boards: Set __heap_size__ to 0 in MIMXRT1011.ld.Albort Xue
Do not use the traditional C heap in order to save memory, because the traditional C heap is unused in MicroPython.
2020-06-09mimxrt/boards: Integrate support for MIMXRT1020_EVK board.Philipp Ebensberger
2020-06-09mimxrt/boards: Enable LED class for MIMXRT1060_EVK board.Albort Xue
2020-06-08mimxrt/tusb_config.h: Preliminary fix for TinyUSB HS endpoint overflow.Philipp Ebensberger
Sending more than 64 bytes to the USB CDC endpoint in HS mode will lead to a hard crash. This commit fixes the issue, although there may be a better fix from upstream TinyUSB in the future.
2020-06-05mimxrt: Add initial impl of machine.LED class, and basic pin support.Philipp Ebensberger
This commit implements an LED class with rudimentary parts of a pin C API to support it. The LED class does not yet support setting an intensity. This LED class is put in the machine module for the time being, until a better place is found. One LED is supported on TEENSY40 and MIMXRT1010_EVK boards.
2020-05-27mimxrt/boards: Add MIMXRT1060_EVK board.Albort Xue
2020-04-29all: Factor gchelper code to one place and use it for unix & ARM ports.Jim Mussared
No functionality change is intended with this commit, it just consolidates the separate implementations of GC helper code to the lib/utils/ directory as a general set of helper functions useful for any port. This reduces duplication of code, and makes it easier for future ports or embedders to get the GC implementation correct. Ports should now link against gchelper_native.c and either gchelper_m0.s or gchelper_m3.s (currently only Cortex-M is supported but other architectures can follow), or use the fallback gchelper_generic.c which will work on x86/x64/ARM. The gc_helper_get_sp function from gchelper_m3.s is not really GC related and was only used by cc3200, so it has been moved to that port and renamed to cortex_m3_get_sp.
2020-04-23all: Format code to add space after C++-style comment start.stijn
Note: the uncrustify configuration is explicitly set to 'add' instead of 'force' in order not to alter the comments which use extra spaces after // as a means of indenting text for clarity.
2020-04-18all: Enable extra conversion warnings where applicable.stijn
Add -Wdouble-promotion and -Wfloat-conversion for most ports to ban out implicit floating point conversions, and add extra Travis builds using MICROPY_FLOAT_IMPL_FLOAT to uncover warnings which weren't found previously. For the unix port -Wsign-comparison is added as well but only there since only clang supports this but gcc doesn't.
2020-03-28all: Remove spaces inside and around parenthesis.Damien George
Using new options enabled in the uncrustify configuration.
2020-03-11mimxrt: Add MIMXRT1010 board.Jim Mussared
2020-03-11mimxrt: Add new, minimal port to NXP i.MX RT series CPUs.Jim Mussared
This is an extremely minimal port to the NXP i.MX RT, in the style of the SAMD port It's largely based on the TinyUSB mimxrt implementation, using the NXP SDK. It currently supports the Teensy 4.0 board with a REPL over the USB-VCP interface. This commit also adds the NXP SDK submodule (also from TinyUSB) to lib/nxp_driver. Note: if you already have the tinyusb submodule initialized recursively you will need to run the following as the tinyusb sub-submodules have been rearranged (upstream): git submodule deinit lib/tinyusb rm -rf .git/modules/lib/tinyusb git submodule update --init lib/tinyusb