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

[quality revision] [unchecked revision]
m
(Boot the board)

Template:ArticleMainWriter


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
  • 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 and are still valid for higher versions :

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
  • 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.1.0
 mkdir $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Starter-Package
 cd $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.0/Starter-Package
  • Download the STM32MP1-Ecosystem-v4.1.0 Starter Package into the following directory:
    $HOME/STM32MPU_workspace/STM32MP1-Ecosystem-v4.1.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 en.FLASH-stm32mp1-openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23.tar.gz


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
 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
 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
  • Flash the microSD card with the image for the trusted boot chain
 STM32_Programmer_CLI -c port=usb1 -w flashlayout_st-image-weston/FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv
This operation takes several minutes (mainly depending of the rootfs size). A successful flashing 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
  • If the board power supply doesn't supply enougth current (3 Amps), the red LED indicates the issue following the rules below:
  • If the board power supply doesn't supply enougth current (3 Amps), 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
  • 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
<bookshelf src="Book:Getting started" />
<noinclude>

{{ArticleMainWriter | VincentA}}
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
__NOTOC__
[[Category:STM32MP157C-DK2 - let's start | 02]]</noinclude>


{| class="contenttable" style="margin: auto"
| colspan="9" style="text-align:center; border-color: white; background-color: white" | [[Image:STM32MP157X-DK2.png‎ | 80px | link=]]
|-
| colspan="4" style="text-align:left; border-color: white; background-color: white" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start | {{GSModuleCurrent|Let's start}}]]
| colspan="5" style="text-align:right; border-color: white; background-color: white" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Develop on Arm® Cortex®-A7 | {{GSModuleNext|Develop on Arm® Cortex®-A7}}]]
|-
| style="border-color: white; background-color: white" | [[Image:step_category_in.png|link=]]
| style="width:110px; text-align:center; border-color: white; background-color: white" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Unpack the STM32MP157C-DK2 board | {{GSStepNext|Unpack the board}}]]
| style="border-color: white; background-color: white" | [[Image:step.png|link=]]
| style="width:110px; margin-top:0px; text-align:center; border-color: white; background-color: white" | [[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-color: white; background-color: white" | [[Image:step.png|link=]]
| style="width:110px; text-align:center; border-color: white; background-color: white" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Execute basic commands | {{GSStepNext|Execute basic commands}}]]
| style="border-color: white; background-color: white" | [[Image:step.png|link=]]
| style="width:110px; text-align:center; border-color: white; background-color: white" | [[Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Use the demo launcher | {{GSStepNext|Use the demo launcher}}]]
| style="border-color: white; background-color: white" | [[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]]
* 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           : {{highlight|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

* Flash the <span id="Flash microSD card">microSD card</span> with the image for the trusted boot chain {{UpdateNeededForNewRelease|Check the name of the flashlayout file}}
 {{PC$}} STM32_Programmer_CLI -c port={{highlight|usb1}} -w flashlayout_st-image-weston/FlashLayout_sdcard_stm32mp157c-dk2-trusted.tsv

:This operation takes several minutes (mainly depending of the rootfs size). A successful flashing should be terminated by this following log information<pre>

Flashing service completed successfully</pre>


==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
* If the board power supply doesn't supply enougth current (3 Amps), the red LED indicates the issue following the rules below:
* If the board power supply doesn't supply enougth current (3 Amps), 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
|}

* After few seconds, the board starts and automatically go 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]]
<br>

{| class="contenttable" style="margin: auto"
| style="border-color: white; background-color: white; 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-color: white; background-color: white; width:360px; text-align:center" | [[Image:overview_button.png|link=Getting started/STM32MP1 boards/STM32MP157C-DK2]]
| style="border-color: white; background-color: white; width:120px; text-align:right" | [[Image:next_button.png|link=Getting started/STM32MP1 boards/STM32MP157C-DK2/Let's start/Execute basic commands]]
|}
Line 68: Line 68:
 
* Power up the board
 
* Power up the board
 
* Press the reset button to reset the board
 
* Press the reset button to reset the board
  +
* If the board power supply doesn't supply enougth current (3 Amps), the red LED indicates the issue following the rules below:
  +
* If the board power supply doesn't supply enougth current (3 Amps), 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
  +
|}
  +
 
* After few seconds, the board starts and automatically go through the following screens
 
* After few seconds, the board starts and automatically go through the following screens
 
[[File: STM32MP1_uboot_splashscreen.png|thumb|upright=2|center|link=|UBoot splash screen]]
 
[[File: STM32MP1_uboot_splashscreen.png|thumb|upright=2|center|link=|UBoot splash screen]]