Let's start | Develop on Arm® Cortex®-A7 | |||||||
Unpack the board | Populate the target and boot the image | Execute basic commands | Use the demo launcher |
1. Overview[edit | edit source]
This stage explains how to connect the Linux terminal of your board to your host computer through the ST-LINK/V2-1.
Then you can 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[edit | edit source]
The serial terminal allows you to communicate with the board trough an UART serial interface.
- Install minicom
sudo apt-get install minicom
- Get the ttyACM device instance that needs 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 logs displayed in the minicom window
NOTICE: CPU: STM32MP157AAA Rev.B NOTICE: Model: STMicroelectronics STM32MP157C eval daughter on eval mother NOTICE: Board: MB1263 Var1 Rev.C-01 INFO: Reset reason (0x14): INFO: Pad Reset from NRST INFO: Using SDMMC INFO: Instance 1 INFO: Boot used partition fsbl1 INFO: Product_below_2v5=1: HSLVEN update is INFO: destructive, no update as VDD>2.7V NOTICE: BL2: v2.0(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 2x4Gb 533MHz v1.41 INFO: Memory size = 0x40000000 (1024 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 : 753913 WARNING: Skip signature check (header option) INFO: Image id=5 loaded: 0xc0100000 - 0xc01b80f9 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(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-r2 (Nov 14 2018 - 16:10:06 +0000) CPU: STM32MP157AAA Rev.B Model: STMicroelectronics STM32MP157C eval daughter on eval mother Board: stm32mp1 in trusted mode (st,stm32mp157c-ev1) Board: MB1263 Var1 Rev.C-01 Watchdog enabled DRAM: 1 GiB Clocks: - MPU : 650 MHz - MCU : 208.878 MHz - AXI : 266.500 MHz - PER : 24 MHz - DDR : 533 MHz NAND: 1024 MiB MMC: STM32 SDMMC2: 0, STM32 SDMMC2: 1 In: serial Out: serial Err: serial Net: eth0: ethernet@5800a000 Boot over mmc0! Hit any key to stop autoboot: 0 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-ev1_extlinux/extlinux.conf Retrieving file: /mmc0_stm32mp157c-ev1_extlinux/extlinux.conf 616 bytes read in 0 ms Retrieving file: /mmc0_stm32mp157c-ev1_extlinux/../splash.bmp 46180 bytes read in 3 ms (14.7 MiB/s) Select the boot mode 1: stm32mp157c-ev1-sdcard 2: stm32mp157c-ev1-a7-examples-sdcard 3: stm32mp157c-ev1-m4-examples-sdcard Enter choice: 1: stm32mp157c-ev1-sdcard Retrieving file: /uImage 6569464 bytes read in 289 ms (21.7 MiB/s) append: root=/dev/mmcblk0p6 rootwait rw console=ttySTM0,115200 Retrieving file: /stm32mp157c-ev1.dtb 74445 bytes read in 5 ms (14.2 MiB/s) ## Booting kernel from Legacy Image at c2000000 ... Image Name: Linux-4.19.9 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 6569400 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 c40152cc SF: Detected mx25l51235f with page size 256 Bytes, erase size 64 KiB, total 64 MiB Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.19.9 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP PREEMPT Thu Dec 13 08:16:23 UTC 2018 [ 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 eval daughter on eval mother [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] Reserved memory: created DMA memory pool at 0x10000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node mcuram2@0x10000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10040000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node vdev0vring0@10040000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10042000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node vdev0vring1@10042000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x10044000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node vdev0buffer@10044000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x30000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node mcuram@0x30000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x38000000, size 0 MiB [ 0.000000] OF: reserved mem: initialized node retram@0x38000000, compatible id shared-dma-pool [ 0.000000] cma: Reserved 128 MiB at 0xf0000000 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.0 ... [ OK ] Reached target Login Prompts. [ OK ] Started Sound Service. [ OK ] Reached target Multi-User System. Starting Update UTMP about System Runlevel Changes... [ OK ] Started Update UTMP about System Runlevel Changes. [ 23.210644] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 23.263375] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' ST OpenSTLinux - Weston - (A Yocto Project Based Distro) 2.6-openstlinux-4.19-thud-mp1-19-02-20 stm32mp1 ttySTM0 stm32mp1 login: root (automatic login) root@stm32mp1:~#
3. Basic commands[edit | edit source]
3.1. Printing distribution specific information[edit | edit source]
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-02-20
Release: 2.6-openstlinux-4.19-thud-mp1-19-02-20
Codename: thud
3.2. Printing system information[edit | edit source]
uname -a Linux stm32mp1 4.19.9 #1 SMP PREEMPT Thu Dec 13 08:16:23 UTC 2018 armv7l armv7l armv7l GNU/Linux
3.3. Printing Linux kernel and GCC versions[edit | edit source]
cat /proc/version Linux version 4.19.9 (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP PREEMPT Thu Dec 13 08:16:23 UTC 2018
3.4. Printing the amount of disk space available on all mounted file systems[edit | edit source]
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 719M 360M 321M 53% /
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
tmpfs 214M 92K 214M 1% /var/volatile
/dev/mmcblk0p7 6.4G 68M 6.1G 2% /usr/local
/dev/mmcblk0p5 15M 8.2M 5.3M 61% /vendor
tmpfs 43M 0 43M 0% /run/user/0
3.5. ssh connection (only if Ethernet cable is connected)[edit | edit source]
- 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 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet xx.xx.xx.xx/22 brd xx.xx.xx.xx scope global dynamic eth0 valid_lft 159045sec preferred_lft 159045sec inet6 xx::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:~#