Getting started/STM32MP1 boards/STM32MP157x-DK2/Let's start/Execute basic commands: Difference between revisions


Revision as of 17:32, 27 January 2020


1. Overview

This stage explains how to connect the Linux terminal of your board to your host computer through the ST-LINK/V2-1.
Then you will see how to execute basic commands with the Linux command line interface in order to be familiarized with the Linux console.

2. The serial terminal

The serial terminal allows to communicate with the board trough a UART serial interface.

  • Install minicom
 sudo apt-get install minicom
  • Get the ttyACM device instance that need to be used to access the ST-LINK/V2-1
 ls /dev/ttyACM*
/dev/ttyACM0
  • Connect the minicom to the /dev/ttyACM0 device
 minicom -D /dev/ttyACM0
Welcome to minicom 2.7

OPTIONS: I18n 
Compiled on Nov 15 2018, 20:18:47.
Port /dev/ttyACM0, 15:56:03

Press CTRL-A Z for help on special keys
  • Press the reset button to reset the board. You should see boot log displayed in the minicom window

For ecosystem release v1.1.0 :

NOTICE:  CPU: STM32MP157CAC Rev.B
NOTICE:  Model: STMicroelectronics STM32MP157C-DK2 Discovery Board
NOTICE:  Board: MB1272 Var2 Rev.C-01
INFO:    Reset reason (0x14):
INFO:      Pad Reset from NRST
INFO:    Using SDMMC
INFO:      Instance 1
INFO:    Boot used partition fsbl1
NOTICE:  BL2: v2.0-r1.5(debug):
NOTICE:  BL2: Built : 13:13:37, Oct  2 2018
INFO:    BL2: Doing platform setup
INFO:    PMIC version = 0x10
INFO:    RAM: DDR3-1066/888 bin G 1x4Gb 533MHz v1.45
INFO:    Memory size = 0x20000000 (512 MB)
INFO:    BL2 runs SP_MIN setup
INFO:    BL2: Loading image id 4
INFO:    Loading image id=4 at address 0x2fff0000
INFO:    Image id=4 loaded: 0x2fff0000 - 0x30000000
INFO:    BL2: Loading image id 5
INFO:    Loading image id=5 at address 0xc0100000
INFO:    STM32 Image size : 805258
WARNING: Skip signature check (header option)
INFO:    Image id=5 loaded: 0xc0100000 - 0xc01c498a
INFO:    read version 0 current version 0
NOTICE:  BL2: Booting BL32
INFO:    Entry point address = 0x2fff0000
INFO:    SPSR = 0x1d3
INFO:    PMIC version = 0x10
NOTICE:  SP_MIN: v2.0-r1.5(debug):
NOTICE:  SP_MIN: Built : 13:13:37, Oct  2 2018
INFO:    ARM GICv2 driver initialized
INFO:    stm32mp HSI (18): Secure only
INFO:    stm32mp HSE (20): Secure only
INFO:    stm32mp PLL2 (27): Secure only
INFO:    stm32mp PLL2_R (30): Secure only
INFO:    SP_MIN: Initializing runtime services
INFO:    SP_MIN: Preparing exit to normal world


U-Boot 2018.11-stm32mp-r3 (Nov 14 2018 - 16:10:06 +0000)

CPU: STM32MP157CAC Rev.B
Model: STMicroelectronics STM32MP157C-DK2 Discovery Board
Board: stm32mp1 in trusted mode (st,stm32mp157c-dk2)
Board: MB1272 Var2 Rev.C-01
DRAM:  512 MiB
Clocks:
- MPU : 650 MHz
- MCU : 208.878 MHz
- AXI : 266.500 MHz
- PER : 24 MHz
- DDR : 533 MHz
NAND:  0 MiB
MMC:   STM32 SDMMC2: 0, STM32 SDMMC2: 1
Loading Environment from EXT4... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@5800a000
Hit any key to stop autoboot:  0 
Boot over mmc0!
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:4...
Found U-Boot script /boot.scr.uimg
1553 bytes read in 1 ms (1.5 MiB/s)
## Executing script at c4100000
Scanning mmc 0:4...
Found /mmc0_stm32mp157c-dk2_extlinux/extlinux.conf
Retrieving file: /mmc0_stm32mp157c-dk2_extlinux/extlinux.conf
614 bytes read in 1 ms (599.6 KiB/s)
Retrieving file: /splash.bmp
46180 bytes read in 3 ms (14.7 MiB/s)
Select the boot mode
1:      stm32mp157c-dk2-sdcard
2:      stm32mp157c-dk2-a7-examples-sdcard
3:      stm32mp157c-dk2-m4-examples-sdcard
Enter choice: 1:        stm32mp157c-dk2-sdcard
Retrieving file: /uImage
6652480 bytes read in 295 ms (21.5 MiB/s)
append: root=/dev/mmcblk0p6 rootwait rw console=ttySTM0,115200
Retrieving file: /stm32mp157c-dk2.dtb
68852 bytes read in 4 ms (16.4 MiB/s)
## Booting kernel from Legacy Image at c2000000 ...
   Image Name:   Linux-4.19.49
   Created:      2019-06-09   7:17:25 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    6652416 Bytes = 6.3 MiB
   Load Address: c2000040
   Entry Point:  c2000040
   Verifying Checksum ... OK
## Flattened Device Tree blob at c4000000
   Booting using the fdt blob at 0xc4000000
   XIP Kernel Image ... OK
   Using Device Tree in place at c4000000, end c4013cf3

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.19.49 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP PREEMPT Sun Jun 9 07:17:25 
UTC 2019
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: STMicroelectronics STM32MP157C-DK2 Discovery Board
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
...
[    3.110076] Run /sbin/init as init process
[    3.115137] hub 2-1:1.0: USB hub found
[    3.117776] hub 2-1:1.0: 4 ports detected
[    3.358998] systemd[1]: System time before build time, advancing clock.
[    3.455504] NET: Registered protocol family 10
[    3.495900] Segment Routing with IPv6
[    3.521434] systemd[1]: systemd 239 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK  +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD -ID)
[    3.542498] systemd[1]: Detected architecture arm.

Welcome to ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 2.6-openstlinux-4.19-thud-mp1-19-10-09 (thud)!

[    3.601262] systemd[1]: Set hostname to <stm32mp1>.
[    3.613928] systemd[1]: Hardware watchdog 'STM32 Independent Watchdog', version 0
[    3.621153] systemd[1]: Set hardware watchdog to 30s.
[    4.269410] systemd[1]: Unnecessary job for dev-ttySTM0.device was removed.
[    4.277529] systemd[1]: Listening on initctl Compatibility Named Pipe.
...
[  OK  ] Started Getty on tty1.
[  OK  ] Reached target Login Prompts.
[  OK  ] Reached target Sound Card.
[  OK  ] Started Load/Save RF Kill Switch Status.
[  OK  ] Started Login Service.
[  OK  ] Reached target Multi-User System.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.
[  OK  ] Started Hostname Service. 

ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 2.6-openstlinux-4.19-thud-mp1-19-10-09 stm32mp1 ttySTM0
 
stm32mp1 login: root (automatic login)
 
root@stm32mp1:~#


For ecosystem release v1.0.0 :

3. Basic commands

3.1. Printing distribution specific information

For ecosystem release v1.1.0 :

 lsb_release -a
LSB Version:    core-5.0-noarch:core-5.0-arm
Distributor ID: openstlinux-weston
Description:    ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 2.6-openstlinux-4.19-thud-mp1-19-10-09
Release:        2.6-openstlinux-4.19-thud-mp1-19-10-09
Codename:       thud

For ecosystem release v1.0.0 :

3.2. Printing system information

For ecosystem release v1.1.0 :

 uname -a
Linux stm32mp1 4.19.49 #1 SMP PREEMPT Sun Jun 9 07:17:25 UTC 2019 armv7l armv7l armv7l GNU/Linux

For ecosystem release v1.0.0 :

3.3. Printing Linux kernel and GCC versions

For ecosystem release v1.1.0 :

 cat /proc/version
Linux version 4.19.49 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP PREEMPT Sun Jun 9 07:17:25 UTC 2019      

For ecosystem release v1.0.0 :

3.4. Printing the amount of disk space available on all mounted file systems

 df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       719M  341M  340M  51% /
devtmpfs        150M     0  150M   0% /dev
tmpfs           214M     0  214M   0% /dev/shm
tmpfs           214M   12M  203M   6% /run
tmpfs           214M     0  214M   0% /sys/fs/cgroup
tmpfs           214M  4.0K  214M   1% /tmp
/dev/mmcblk0p4   58M  8.2M   46M  16% /boot
/dev/mmcblk0p7   14G   67M   13G   1% /usr/local
/dev/mmcblk0p5   15M  8.2M  5.3M  61% /vendor
tmpfs           214M   84K  214M   1% /var/volatile
tmpfs            43M     0   43M   0% /run/user/0

3.5. ssh connection (only if Ethernet cable is connected)

  • Get the IP address of your board
 ip addr show eth0                                                                           
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet xx.xx.xx.xx/xx brd xx.xx.xx.xx scope global dynamic eth0
       valid_lft 159045sec preferred_lft 159045sec
    inet6 xxxx::xx:xx:xx:xx/64 scope link 
       valid_lft forever preferred_lft forever
  • On the host computer connect the terminal to the board using ssh
 ssh root@xx.xx.xx.xx
root@stm32mp1:~#