diff --git a/ports/stm32/README.md b/ports/stm32/README.md index f2fdb4dd3..6b5f096d7 100644 --- a/ports/stm32/README.md +++ b/ports/stm32/README.md @@ -2,11 +2,13 @@ MicroPython port to STM32 MCUs ============================== This directory contains the port of MicroPython to ST's line of STM32 -microcontrollers. Supported MCU series are: STM32F0, STM32F4, STM32F7 and -STM32L4. Parts of the code here utilise the STM32Cube HAL library. +microcontrollers. Supported MCU series are: STM32F0, STM32F4, STM32F7, +STM32H7, STM32L0, STM32L4 and STM32WB. Parts of the code here utilise the +STM32Cube HAL library. The officially supported boards are the line of pyboards: PYBv1.0 and PYBv1.1 -(both with STM32F405), and PYBLITEv1.0 (with STM32F411). See +(both with STM32F405), PYBLITEv1.0 (with STM32F411) and PYBD-SFx (with +STM32F7xx MCUs). See [micropython.org/pyboard](http://www.micropython.org/pyboard/) for further details. @@ -40,18 +42,31 @@ 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`. -First the submodules must be obtained using: +Next, the board to build must be selected. The default board is PYBV10 but any +of the 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`. - $ make submodules +All boards require certain submodules to be obtained before they can be built. +The correct set of submodules can be initialised using (with `PYBV11` as an +example of the selected board): -Then to build for a given board, run: + $ make BOARD=PYBV11 submodules + +Then to build the board's firmware run: $ make BOARD=PYBV11 -The default board is PYBV10 but any of the names of the subdirectories in the -`boards/` directory can be passed as the argument to `BOARD=`. The above command -should produce binary images in the `build-PYBV11/` subdirectory (or the -equivalent directory for the board specified). +The above command should produce binary images in the `build-PYBV11/` +subdirectory (or the equivalent directory for the board specified). + +Note that some boards require the mboot bootloader to be built and deployed +before flashing the main firmware. For such boards an information message +about this will be printed at the end of the main firmware build. Mboot +can be built via: + + $ make -C mboot BOARD=STM32F769DISC + +For more information about mboot see mboot/README.md. ### Flashing the Firmware using DFU mode @@ -140,6 +155,11 @@ Accessing the board ------------------- Once built and deployed, access the MicroPython REPL (the Python prompt) via USB -serial or UART, depending on the board. For the pyboard you can try: +serial or UART, depending on the board. There are many ways to do this, one of +which is via `mpremote` (install it using `pip install mpremote`): + + $ mpremote + +Other options are `picocom` and `screen`, for example: $ picocom /dev/ttyACM0