doc: Add documentation for STM32 MCUs
Add documentation for STM32 MCUs (F4, F7 and H7 series). Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
This commit is contained in:
parent
eda7b6a632
commit
e198d4fe7c
9 changed files with 194 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
|||
STM32F429-DISCOVERY BOARD
|
||||
M: Kamil Lulko <kamil.lulko@gmail.com>
|
||||
S: Maintained
|
||||
F: doc/board/st/
|
||||
F: board/st/stm32f429-discovery/
|
||||
F: include/configs/stm32f429-discovery.h
|
||||
F: configs/stm32f429-discovery_defconfig
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
STM32F429-EVALUATION BOARD
|
||||
M: Patrice Chotard <patrice.chotard@foss.st.com>
|
||||
S: Maintained
|
||||
F: doc/board/st/
|
||||
F: board/st/stm32f429-evaluation/
|
||||
F: include/configs/stm32f429-evaluation.h
|
||||
F: configs/stm32f429-evaluation_defconfig
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
STM32F469-DISCOVERY BOARD
|
||||
M: Patrice Chotard <patrice.chotard@foss.st.com>
|
||||
S: Maintained
|
||||
F: doc/board/st/
|
||||
F: board/st/stm32f469-discovery/
|
||||
F: include/configs/stm32f469-discovery.h
|
||||
F: configs/stm32f469-discovery_defconfig
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
STM32F746 DISCOVERY BOARD
|
||||
M: Vikas Manocha <vikas.manocha@st.com>
|
||||
S: Maintained
|
||||
F: doc/board/st/
|
||||
F: board/st/stm32f746-disco
|
||||
F: include/configs/stm32f746-disco.h
|
||||
F: configs/stm32f746-disco_defconfig
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
STM32H743 DISCOVERY BOARD
|
||||
M: Patrice Chotard <patrice.chotard@foss.st.com>
|
||||
S: Maintained
|
||||
F: doc/board/st/
|
||||
F: board/st/stm32h743-disco
|
||||
F: include/configs/stm32h743-disco.h
|
||||
F: configs/stm32h743-disco_defconfig
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
STM32H743 EVALUATION BOARD
|
||||
M: Patrice Chotard <patrice.chotard@foss.st.com>
|
||||
S: Maintained
|
||||
F: doc/board/st/
|
||||
F: board/st/stm32h743-eval
|
||||
F: include/configs/stm32h743-eval.h
|
||||
F: configs/stm32h743-eval_defconfig
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
STM32H750 ART PI BOARD
|
||||
M: Dillon Min <dillon.minfei@gmail.com>
|
||||
S: Maintained
|
||||
F: doc/board/st/
|
||||
F: board/st/stm32h750-art-pi
|
||||
F: include/configs/stm32h750-art-pi.h
|
||||
F: configs/stm32h750-art-pi_defconfig
|
||||
|
|
|
@ -8,3 +8,4 @@ STMicroelectronics
|
|||
|
||||
st-dt
|
||||
stm32mp1
|
||||
stm32_MCU
|
||||
|
|
186
doc/board/st/stm32_MCU.rst
Normal file
186
doc/board/st/stm32_MCU.rst
Normal file
|
@ -0,0 +1,186 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
||||
.. sectionauthor:: Patrice Chotard <patrice.chotardy@foss.st.com>
|
||||
|
||||
STM32 MCU boards
|
||||
=================
|
||||
|
||||
This is a quick instruction for setup STM32 MCU boards.
|
||||
|
||||
Supported devices
|
||||
-----------------
|
||||
|
||||
U-Boot supports the following STMP32 MCU SoCs:
|
||||
|
||||
- STM32F429
|
||||
- STM32F469
|
||||
- STM32F746
|
||||
- STM32F769
|
||||
- STM32H743
|
||||
- STM32H750
|
||||
|
||||
SoCs information:
|
||||
-----------------
|
||||
STM32F4 series are Cortex-M4 MCU.
|
||||
STM32F7 and STM32H7 series are Cortex-M7 MCU.
|
||||
|
||||
+ STM32F4 series: https://www.st.com/en/microcontrollers-microprocessors/stm32f4-series.html
|
||||
+ STM32F7 series: https://www.st.com/en/microcontrollers-microprocessors/stm32f7-series.html
|
||||
+ STM32H7 series: https://www.st.com/en/microcontrollers-microprocessors/stm32h7-series.html
|
||||
|
||||
Currently the following boards are supported:
|
||||
|
||||
+ stm32f429-discovery
|
||||
+ stm32f469-discovery
|
||||
+ stm32746g-evaluation
|
||||
+ stm32f746-discovery
|
||||
+ stm32f769-discovery
|
||||
+ stm32h743i-discovery
|
||||
+ stm32h743i-evaluation
|
||||
+ stm32h750i-art-pi
|
||||
|
||||
Boot Sequences
|
||||
--------------
|
||||
|
||||
For STM32F7 series, 2 boot configurations are supported with and without SPL
|
||||
|
||||
+------------------------+-------------------------+--------------+
|
||||
| **FSBL** | **SSBL** | **OS** |
|
||||
+------------------------+-------------------------+--------------+
|
||||
| First Stage Bootloader | Second Stage Bootloader | Linux Kernel |
|
||||
+------------------------+-------------------------+--------------+
|
||||
| embedded Flash | DDR |
|
||||
+------------------------+-------------------------+--------------+
|
||||
|
||||
The boot chain with SPL
|
||||
```````````````````````
|
||||
|
||||
defconfig_file :
|
||||
+ **stm32746g-eval_spl_defconfig**
|
||||
+ **stm32f746-disco_spl_defconfig**
|
||||
+ **stm32f769-disco_spl_defconfig**
|
||||
|
||||
+------------+------------+-------+
|
||||
| FSBL | SSBL | OS |
|
||||
+------------+------------+-------+
|
||||
|U-Boot SPL | U-Boot | Linux |
|
||||
+------------+------------+-------+
|
||||
|
||||
The boot chain without SPL
|
||||
``````````````````````````
|
||||
|
||||
defconfig_file :
|
||||
+ **stm32f429-discovery_defconfig**
|
||||
+ **stm32f429-evaluation_defconfig**
|
||||
+ **stm32f469-discovery_defconfig**
|
||||
+ **stm32746g-eval_defconfig**
|
||||
+ **stm32f746-disco_defconfig**
|
||||
+ **stm32f769-disco_defconfig**
|
||||
+ **stm32h743-disco_defconfig**
|
||||
+ **stm32h743-eval_defconfig**
|
||||
+ **stm32h750-art-pi_defconfig**
|
||||
|
||||
+-----------+-------+
|
||||
| FSBL | OS |
|
||||
+-----------+-------+
|
||||
|U-Boot | Linux |
|
||||
+-----------+-------+
|
||||
|
||||
Build Procedure
|
||||
---------------
|
||||
|
||||
1. Install the required tools for U-Boot
|
||||
|
||||
* install package needed in U-Boot makefile
|
||||
(libssl-dev, swig, libpython-dev...)
|
||||
|
||||
* install ARMv7 toolchain for 32bit Cortex-A (from Linaro,
|
||||
from SDK for STM32MP15x, or any crosstoolchains from your distribution)
|
||||
(you can use any gcc cross compiler compatible with U-Boot)
|
||||
|
||||
2. Set the cross compiler::
|
||||
|
||||
# export CROSS_COMPILE=/path/to/toolchain/arm-linux-gnueabi-
|
||||
|
||||
3. Select the output directory (optional)::
|
||||
|
||||
# export KBUILD_OUTPUT=/path/to/output
|
||||
|
||||
for example: use one output directory for each configuration::
|
||||
|
||||
# export KBUILD_OUTPUT=stm32f4
|
||||
# export KBUILD_OUTPUT=stm32f7
|
||||
# export KBUILD_OUTPUT=stm32h7
|
||||
|
||||
you can build outside of code directory::
|
||||
|
||||
# export KBUILD_OUTPUT=../build/stm32f4
|
||||
|
||||
4. Configure U-Boot::
|
||||
|
||||
# make <defconfig_file>
|
||||
|
||||
For example with <defconfig_file>:
|
||||
|
||||
- For **stm32f429 discovery** board : **stm32f429-discovery_defconfig**
|
||||
- For **stm32f769 discovery** board with SPL: **stm32f769-disco_spl_defconfig**
|
||||
- For **stm32f769 discovery** board without SPL: **stm32f769-disco_defconfig**
|
||||
|
||||
5. Configure the device-tree and build the U-Boot image::
|
||||
|
||||
# make DEVICE_TREE=<name> all
|
||||
|
||||
Examples:
|
||||
|
||||
a) boot with SPL on stm32f746 discovery board::
|
||||
|
||||
# export KBUILD_OUTPUT=stm32f746-disco
|
||||
# make stm32f746-disco_spl_defconfig
|
||||
# make all
|
||||
|
||||
b) boot without SPL on stm32f746 discovery board::
|
||||
|
||||
# export KBUILD_OUTPUT=stm32f746-disco
|
||||
# make stm32f746-disco_defconfig
|
||||
# make all
|
||||
|
||||
c) boot on stm32h743 discovery board::
|
||||
|
||||
# export KBUILD_OUTPUT=stm32h743-disco
|
||||
# make stm32h743-disco_defconfig
|
||||
# make all
|
||||
|
||||
d) boot on stm32h743 evaluation board::
|
||||
|
||||
# export KBUILD_OUTPUT=stm32h743-disco
|
||||
# make stm32h743-eval_defconfig
|
||||
# make all
|
||||
|
||||
6. U-Boot Output files
|
||||
|
||||
So in the output directory (selected by KBUILD_OUTPUT),
|
||||
you can found the needed U-Boot files, for example::
|
||||
|
||||
- stm32f746-disco_defconfig = **u-boot-dtb.bin** and **u-boot.dtb**
|
||||
|
||||
- FSBL = u-boot-dtb.bin
|
||||
|
||||
- stm32f746-disco_spl_defconfig = **u-boot-dtb.bin**, **u-boot.dtb** and **u-boot-with-spl.bin**
|
||||
|
||||
- FSBL + SSBL = u-boot-with-spl.bin
|
||||
- SSBL = u-boot-dtb.bin
|
||||
|
||||
7. Flash U-Boot files
|
||||
|
||||
Plug STM32 MCUs board using the USB ST-Link connector, hence it will expose
|
||||
the flash area as a mass-storage. In this mass-storage you will find the
|
||||
following files:
|
||||
|
||||
- DETAILS.TXT: give the bootrom version and build
|
||||
- MBED.HTM: shortcul to the hardware board description web page from st.com.
|
||||
|
||||
Copy/paste the u-boot.bin or u-boot-with-spl.bin (in case of bootchain with SPL)
|
||||
to this mass-storage. The "COM" LED will blink alternatively red and green during
|
||||
the flash process. When done the board will reboot automatically.
|
||||
|
||||
In case of boot with SPL, by default SPL will try to load either a Linux
|
||||
kernel (falcon mode) or, if the key "c" is maintained pressed, the main U-Boot.
|
Loading…
Reference in a new issue