Populate the target and boot the image

< Getting started‎ | STM32MP1 boards‎ | STM32MP157C-DK2‎ | Let's start



STM32MP157X-DK2.png
Let's start Develop on Arm® Cortex®-A7
Step category in.png Unpack the board Step.png Populate the target and boot the image Step.png Execute basic commands Step.png Use the demo launcher Step category out.png


1 Overview[edit]

This stage explains how to get, install and boot the STM32MP15 Discovery kit with the Starter Package.


2 Open a terminal[edit]

Open a terminal on the host computer.

Ubuntu terminal

All the commands preceded by PC $> have to be executed from the host computer terminal.

  • Create your STM32MPU workspace directory on your host computer
PC $> mkdir $HOME/STM32MPU_workspace
PC $> cd $HOME/STM32MPU_workspace

3 Check the host computer Internet access[edit]

  • An Internet access through http and https protocols must be provided.

The command below allows to check for Internet access through http/https protocols:

PC $> wget -q www.google.com && echo "Internet access over HTTP/HTTPS is OK !" || echo "No internet access over HTTP/HTTPS ! You may need to set up a proxy."

If an 'OK' message is returned, the network is well configured.
In such case, skip the rest of this section.

Any other likely situation indicates the need for a proxy for http/https protocols.
The best solution to set a proxy for http/https protocols is via the shell variables http_proxy and https_proxy:

PC $> export http_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort>
PC $> export https_proxy=http://<MyProxyLogin>:<MyProxyPassword>@<MyProxyServerUrl>:<MyProxyPort>

Check again the Internet access with command:

PC $> wget -q www.google.com && echo "Internet access over HTTP/HTTPS is OK !" || echo "No internet access over HTTP/HTTPS ! You may need to set up a proxy."

4 Install the tools[edit]

4.1 STM32CubeProgrammer[edit]

Info.png STM32CubeProgrammer requires 1.8 version or later of the Java platfrom.

PC $> sudo apt-get install openjdk-8-jre
PC $> sudo update-alternatives --config java

Select the java-8-openjdk configuration.

  • Create your STM32MPU tools directory on your host computer
PC $> mkdir $HOME/STM32MPU_workspace/STM32MPU-Tools
PC $> mkdir $HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-2.0.0
  • Create a temporary directory in your STM32MPU workspace
PC $> mkdir $HOME/STM32MPU_workspace/tmp
  • Download STM32CubeProgrammer v2.0.0 in the following directory
    $HOME/STM32MPU_workspace/tmp
  • Uncompress the archive file to get the STM32CubeProgrammer installers
PC $> cd $HOME/STM32MPU_workspace/tmp
PC $> unzip SetupSTM32CubeProgrammer.zip
  • Execute the Linux installer, which guides you through the installation process. Select "$HOME/STM32MPU-Tools/STM32CubeProgrammer-2.0.0" as the installation directory, when it's requested by the installer
PC $> ./SetupSTM32CubeProgrammer-2.0.0.linux
Splash screen
Welcome page
Installation path
  • Add the STM32CubeProgrammer binary path to your PATH environment variable
export PATH=$HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-2.0.0/bin:$PATH
  • Check that the STM32CubeProgrammer tool is properly installed and accessible
PC $> STM32_Programmer_CLI --h
     -------------------------------------------------------------------
                       STM32CubeProgrammer v2.0.0                  
     -------------------------------------------------------------------

4.2 USB serial link[edit]

  • Install the libusb on your host computer
PC $> sudo apt-get install libusb-1.0-0
  • To allow STM32CubeProgrammer to access the USB port through low-level commands, proceed as follows
PC $> cd $HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-2.0.0/Drivers/rules
PC $> sudo cp *.* /etc/udev/rules.d/

5 Download the image[edit]

  • Create your STM32MP15 Starter Package directory on your host computer
PC $> mkdir $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0
PC $> mkdir $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Starter-Package
PC $> cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Starter-Package
  • Download the STM32MP15-Ecosystem-v1.0.0 Starter Package to the following directory:
    $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Starter-Package
  • Uncompress the tarball file to get the binaries for the different partitions of the image, and the Flash layout files
PC $> tar xvf en.FLASH-stm32mp1-openstlinux-4.19-thud-mp1-19-02-20.tar.xz

6 Populate the SDCard[edit]

  • Set the boot switches (located at the back of the board) to the off position
boot switches position to flash the board
  • Power up the board
  • Press the reset button to reset the board
  • Go to the Starter Package directory that contains the binaries and the Flash layout files
PC $> cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Starter-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/images/stm32mp1
  • Get the device port location for the USB link
PC $> STM32_Programmer_CLI -l usb
      -------------------------------------------------------------------
                        STM32CubeProgrammer v2.0.0                  
      -------------------------------------------------------------------

=====  DFU Interface   =====

Total number of available STM32 device in DFU mode: 1

  Device Index           : USB1
  USB Bus Number         : 003
  USB Address Number     : 002
  Product ID             : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
  Serial number          : 004800233338511634383330
  Firmware version       : 0x0110
  Device ID              : 0x0500
  • Program the microSD card with the image for the trusted boot chain
PC $> STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv
  • If the board power supply doesn't supply enougth current (3A), the red LED indicates the issue following the rules below:
blink console message boot process
2 times WARNING 500mA power supply detected

Current too low, use a 3A power supply!

Continue and red LED stays ON
3 times WARNING 1500mA power supply detected

Current too low, use a 3A power supply!

Continue and red LED stays ON
forever ERROR USB TYPE-C connection in unattached mode

Check that USB TYPE-C cable is correctly plugged

stop
forever USB TYPE-C charger not compliant with USB specification stop
The flash programming operation takes several minutes (mainly depending of the rootfs size). A successful flash programming should be terminated by this following log information
Flashing service completed successfully

7 Boot the board[edit]

  • Set the boot switches (located at the back of the board) to the on position
boot switches position to boot the board
  • Power up the board
  • Press the reset button to reset the board
  • After few seconds, the board starts and automatically go through the following screens
UBoot splash screen
Linux splash screen
Weston desktop
GTK demo launcher


Back button.png Overview button.png Next button.png

Device Firmware Upgrade

High Speed (MIPI® Alliance DSI standard)

Light-emitting diode

Attachments

Discussions