Difference between revisions of "Getting started/STM32MP1 boards/STM32MP157x-DK2/Let's start/Populate the target and boot the image"

[unchecked revision] [quality revision]
(Populate the SDCard)
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 have to be executed from the host computer terminal.

  • Create your STM32MPU workspace directory on the host computer:
 mkdir $HOME/STM32MPU_workspace
 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 enables checking for Internet access through http/https protocols:

 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 correctly configured.
In this case, skip the rest of this section.

Otherwise, a proxy for http/https protocols is required.
The best solution is to set this proxy through the shell variables http_proxy and https_proxy:

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

Check again the Internet access using the command:

 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]

  • Create your STM32MPU tools directory on the host computer:
 mkdir $HOME/STM32MPU_workspace/STM32MPU-Tools
 mkdir $HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z
  • Create a temporary directory in your STM32MPU workspace:
 mkdir $HOME/STM32MPU_workspace/tmp

STM32CubeProgrammer V2.11 is recommended for ecosystem release v4.0.0 More info.png

  • Uncompress the archive file to get the STM32CubeProgrammer installers:
 cd $HOME/STM32MPU_workspace/tmp
 unzip SetupSTM32CubeProgrammer.zip
  • Execute the Linux® installer, which guides you through the installation process. Select "$HOME/STM32MPU-Tools/STM32CubeProgrammer-x.y.z" as installation directory when it is requested by the installer.
 ./SetupSTM32CubeProgrammer-x.y.z.linux

The screenshots below have been obtained with old STM32CubeProgrammer V2.7.0. They are provided as examples still valid for higher version :

Splash screen
Welcome page
Installation path
  • Add the STM32CubeProgrammer binary path to your PATH environment variable:
export PATH=$HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z/bin:$PATH
  • Go inside the binary folder:
 cd $HOME/STM32MPU_workspace/STM32MPU-Tools/STM32CubeProgrammer-x.y.z/bin/


  • Check that the STM32CubeProgrammer tool is properly installed and accessible:
 STM32_Programmer_CLI --h
     -------------------------------------------------------------------
                       STM32CubeProgrammer vx.y.z                  
     -------------------------------------------------------------------

4.2 USB serial link[edit]

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

5 Download the image[edit]

  • Create your STM32MP1 Starter Package directory on the host computer:
 mkdir $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0
 mkdir $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0/Starter-Package
 cd $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0/Starter-Package
  • Download the STM32MP1-Ecosystem-v4.0.0 Starter Package to the following directory:
    $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0/Starter-Package
  • Uncompress the tarball file to get the binaries for the different partitions of the image, and the Flash layout files
 tar xvf FLASH-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15.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
  • Connect USB Type A to Type C cable between PC and CN7/USB_OTG port of the STM32MP157C-DK2 board
  • Power up the board
  • Press the reset button to reset the board
  • Launch STM32CubeProgrammer to get the GUI
  • On the right, select USB (not STLINK, set by default) in the connection picklist and click on "Refresh" button. Serial Number is displayed if USB is detected. Click on "Connect"
  • Select "Open File" tab and select $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.x.0/stm32mp1-openstlinux-xx-yy-zz/images/stm32mp1/flashlayout_st-image-weston the FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv, in the Starter Package installation folder.
  • Fill the "Binaries Path" by browsing up to folder $[Starter_Pack_Path]/images/stm32mp1
  • Click on "Download" to start the flashing process.
  • Progress is displayed with progress bar till completion popup message.

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 goes through the following screens
UBoot splash screen
Linux splash screen
Weston desktop
GTK demo launcher
  • If the board power supply doesn't supply enough 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


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


<bookshelf src="Book:Getting started" />

{| class="st-table" style="text-align:center; margin: auto"
| colspan="9" style="border-style: hidden;" | [[Image:STM32MP157X-DK2.png‎ | 80px | link=]]
|-
| colspan="4" style="border-style: hidden; text-align:left;" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start | {{GSModuleCurrent|Let's start}}]]
| colspan="5" style="border-style: hidden; text-align:right;" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Develop on Arm® Cortex®-A7 | {{GSModuleNext|Develop on Arm® Cortex®-A7}}]]
|-
| style="border-style: hidden;" | [[Image:step_category_in.png|link=]]
| style="border-style: hidden; width:110px;" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Unpack the STM32MP157C-DK2 board | {{GSStepNext|Unpack the board}}]]
| style="border-style: hidden;" | [[Image:step.png|link=]]
| style="border-style: hidden; width:110px;" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Populate the target and boot the image | {{GSStepCurrent|Populate the target and boot the image}}]]
| style="border-style: hidden;" | [[Image:step.png|link=]]
| style="border-style: hidden; width:110px;" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Execute basic commands | {{GSStepNext|Execute basic commands}}]]
| style="border-style: hidden;" | [[Image:step.png|link=]]
| style="border-style: hidden; width:110px;" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Use the demo launcher | {{GSStepNext|Use the demo launcher}}]]
| style="border-style: hidden;" | [[Image:step_category_out.png|link=]]
|}<br>

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

{{:Populate the target and boot the image}}

==Populate the SDCard==
* Set the boot switches (located at the back of the board) to the off position
[[File: STM32MP157C-DK2_jumper_flash.jpg|frame|center|link=|boot switches position to flash the board]]
* Connect USB Type A to Type C cable between PC and CN7/USB_OTG port of the STM32MP157C-DK2 board* Power up the board
* Press the reset button to reset the board
* Launch '''STM32CubeProgrammer''' to get the GUI 

[[File: STM32CubePro GUI.png|800px|center|STM32CubeProgrammer GUI]]

* On the right, select USB (not STLINK, set by default) in the connection picklist and click on "Refresh" button. Serial Number is displayed if USB is detected. Click on "Connect"

[[File: STM32CubePro SelectUSB.png|800px|center|Select USB for connection with board]]

* Select "Open File" tab and select  $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.x.0/stm32mp1-openstlinux-xx-yy-zz/images/stm32mp1/flashlayout_st-image-weston the FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv, in the Starter Package installation folder.

* Fill the "Binaries Path" by browsing up to folder $[Starter_Pack_Path]/images/stm32mp1

[[File: STM32CubePro TSandBinary.png|800px|center|open .tsv and fill Binaries Path]]

* Click on "Download" to start the flashing process. 
* Progress is displayed with progress bar till completion popup message.

==Boot the board==
* Set the boot switches (located at the back of the board) to the ON position
[[File: STM32MP157C-DK2_jumper_boot.jpg|frame|center|link=|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 goes through the following screens
[[File: STM32MP1_uboot_splashscreen.png|thumb|upright=2|center|link=|UBoot splash screen]]
[[File: STM32MP1_psplash.png|thumb|upright=2|center|link=|Linux splash screen]]
[[File: STM32MP1_weston_desktop.png|thumb|upright=2|center|link=|Weston desktop]]
[[File: STM32MP1_gtk_demo_launcher.png|thumb|upright=2|center|link=|GTK demo launcher]]

:* If the board power supply doesn't supply enough 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
|}
<br>

{| class="st-table" style="margin: auto"
| style="border-style: hidden; width:120px; text-align:left" | [[Image:back_button.png|link=Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Unpack the STM32MP157C-DK2 board]]
| style="border-style: hidden; width:360px; text-align:center" | [[Image:overview_button.png|link=Getting started/STM32MP1 boards/STM32MP157C-DK2]]
| style="border-style: hidden; width:120px; text-align:right" | [[Image:next_button.png|link=Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Execute basic commands]]
|}
<noinclude>

{{DISPLAYTITLE:{{SUBPAGENAME}}}}
__NOTOC__
[[Category:STM32MP157C-DK2 - let's start | 02]]
{{PublicationRequestId | Auto}}</noinclude>
Line 25: Line 25:
 
* Set the boot switches (located at the back of the board) to the off position
 
* Set the boot switches (located at the back of the board) to the off position
 
[[File: STM32MP157C-DK2_jumper_flash.jpg|frame|center|link=|boot switches position to flash the board]]
 
[[File: STM32MP157C-DK2_jumper_flash.jpg|frame|center|link=|boot switches position to flash the board]]
* Connect USB Type A to Type C cable between PC and CN7/USB_OTG port of the DK2
+
* Connect USB Type A to Type C cable between PC and CN7/USB_OTG port of the STM32MP157C-DK2 board
 
* Power up the board
 
* Power up the board
 
* Press the reset button to reset the board
 
* Press the reset button to reset the board