summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/mimxrt/README.md44
1 files changed, 44 insertions, 0 deletions
diff --git a/ports/mimxrt/README.md b/ports/mimxrt/README.md
index c8c5d989b..de3de1e28 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