diff --git a/ports/mimxrt/README.md b/ports/mimxrt/README.md index c8c5d989b9..de3de1e281 100644 --- a/ports/mimxrt/README.md +++ b/ports/mimxrt/README.md @@ -29,3 +29,47 @@ Known issues: TODO: - More peripherals (Counter, I2S, CAN, etc) - More Python options + +## Build Instructions + +Before building the firmware for a given board the MicroPython cross-compiler +must be built; it will be used to pre-compile some of the built-in scripts to +bytecode. The cross-compiler is built and run on the host machine, using: + + $ make -C mpy-cross + +This command should be executed from the root directory of this repository. +All other commands below should be executed from the ports/mimxrt/ directory. + +An ARM compiler is required for the build, along with the associated binary +utilities. The default compiler is `arm-none-eabi-gcc`, which is available for +Arch Linux via the package `arm-none-eabi-gcc`, for Ubuntu via instructions +[here](https://launchpad.net/~team-gcc-arm-embedded/+archive/ubuntu/ppa), or +see [here](https://launchpad.net/gcc-arm-embedded) for the main GCC ARM +Embedded page. The compiler can be changed using the `CROSS_COMPILE` variable +when invoking `make`. + +In addition newlib is required which is available for Arch Linux via the +package `arm-none-eabi-newlib`, for Ubuntu/Debian install package `libnewlib-arm-none-eabi` + +Next, the board to build must be selected. Any of the board names of the +subdirectories in the `boards/` directory is a valid board. The board name +must be passed as the argument to `BOARD=` when invoking `make`. + +All boards require certain submodules to be obtained before they can be built. +The correct set of submodules can be initialised using (with `SEEED_ARCH_MIX` +as an example of the selected board): + + $ make BOARD=SEEED_ARCH_MIX submodules + +Then to build the board's firmware run: + + $ make BOARD=SEEED_ARCH_MIX + +The above command should produce binary images in the `build-SEEED_ARCH_MIX/` +subdirectory (or the equivalent directory for the board specified). + +## Flashing + +Deploy the firmware following the instructions here +https://docs.micropython.org/en/latest/mimxrt/tutorial/intro.html#deploying-the-firmware