Personal tools

OpenSTLinux for VisionSOM-STM32MP1

From SomLabs Wiki

Revision as of 16:33, 20 November 2020 by KrzysztofChojnowski (talk | contribs)
Jump to: navigation, search

OpenSTLinux for VisionSOM-STM32MP1


Pre-built images

There are couple of pre-built images available for VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board.

  • RGB display with SoMLabs demo application

flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_04_2020.zip

  • RGB display without SoMLabs demo application

flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic_no_demo_04_2020.zip

  • DSI display with SoMLabs demo application

flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_04_2020.zip

  • DSI display without SoMLabs demo application

flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-dsi-basic_no_demo_04_2020.zip

Changelog

  • openst-meta-somlabs 04_2020
    • Added support for the openstlinux-4.19-thud-mp1-20-02-19
    • Enabled the second SD-card (on the VisionCB-STD-STM32MP1 board) as an external storage
    • Fixed the display transition between u-boot and Linux kernel

Old versions


Building own image

VisionSOM-STM32MP1 module is supported by Yocto meta-layer available on SoMLabs github:

https://github.com/SoMLabs/openst-meta-somlabs

The described layer shall be used with the OpenSTLinux Distribution Package provided by the STMicroelectronics:

https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_Package

It provides the support for VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board and is intended for build with the st-image-weston system image.

Host PC requirements

This tutorial was tested on the Xubuntu 18.04 LTS system. The distribution and SDK building requires significant amount of memory, disk space and time. The following hardware configuration was used for compilation:

  • Intel Core i7-4510U
  • 8GB RAM
  • 256GB SSD Disk (30GB required for system build and another 30GB for SDK)

The OpenSTLinux compilation time takes about 8 hours. The SDK building requires another 8 hours when building with the already compiled system.

The PC requirements suggested by the STMicroelectronics may be found here:

https://wiki.st.com/stm32mpu/wiki/PC_prerequisites

The host system needs also the following packages to be installed:

sudo apt-get update
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping
sudo apt-get install libsdl1.2-dev xterm
sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
sudo apt-get install python-git
sudo apt-get install repo


Obtaining the Yocto recipes

The following steps are the summary of the image building description that can be found on the ST wiki pages with the additional SoMLabs meta-layer.

First let's clone all of the repositories containing the required packages and system distribution:

cd <working directory path>/Distribution-Package
mkdir openstlinux-4.19-thud-mp1-20-02-19
cd openstlinux-4.19-thud-mp1-20-02-19
repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-20-02-19
repo sync
cd layers/meta-st
git clone https://github.com/SoMLabs/openst-meta-somlabs.git meta-somlabs -b thud
cd ../../

The last git clone instruction downloads the meta layer with VisionSOM-STM32MP1 module support.

Bulding the image with RGB display support

The following commands generate the OpenSTLinux weston image that can be run on VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board with SL-TFT7-TP-800-480-P RGB display connected:

DISTRO=openstlinux-weston MACHINE=stm32mp157a-visionsom-mx source layers/meta-st/scripts/envsetup.sh
bitbake st-image-weston
cd tmp-glibc/deploy/images/stm32mp157a-visionsom-mx/scripts/
./create_sdcard_from_flashlayout.sh ../flashlayout_st-image-weston/FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic.tsv

The image file flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic.raw is located in the tmp-glibc/deploy/images/stm32mp157a-visionsom-mx directory and can be copied directly to the SD card:

sudo dd if=tmp-glibc/deploy/images/stm32mp157a-visionsom-mx/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-mx-basic.raw of=/dev/sdX bs=1M

The /dev/sdX shall be changed according to the SD card device name.

Bulding the image with MIPI-DSI display support

The following commands generate the OpenSTLinux weston image that can be run on VisionSOM-STM32MP1 module and VisionCB-STD-STM32MP1 board with Powertip PH720128T003-ZBC02 MIPI-DSI display connected:

DISTRO=openstlinux-weston MACHINE=stm32mp157a-visionsom-dsi-mx source layers/meta-st/scripts/envsetup.sh
bitbake st-image-weston
cd tmp-glibc/deploy/images/stm32mp157a-visionsom-dsi-mx/scripts/
./create_sdcard_from_flashlayout.sh ../flashlayout_st-image-weston/FlashLayout_sdcard_stm32mp157a-visionsom-dsi-mx-basic.tsv

The image file flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-dsi-mx-basic.raw is located in the tmp-glibc/deploy/images/stm32mp157a-visionsom-dsi-mx directory and can be copied directly to the SD card:

sudo dd if=tmp-glibc/deploy/images/stm32mp157a-visionsom-dsi-mx/flashlayout_st-image-weston_FlashLayout_sdcard_stm32mp157a-visionsom-dsi-mx-basic.raw of=/dev/sdX bs=1M

The /dev/sdX shall be changed according to the SD card device name.

Building the SDK

In order to build the cross-compiler and required libraries for software development on the host machine we need to build the SDK. After building the system image as described in the previous chapters we can simply call another bitbake command:

bitbake st-image-weston -c populate_sdk

It will create the SDK installer st-image-weston-openstlinux-weston-stm32mp157a-visionsom-mx-x86_64-toolchain-2.6-snapshot.sh or st-image-weston-openstlinux-weston-stm32mp157a-visionsom-dsi-mx-x86_64-toolchain-2.6-snapshot.sh that is located in the tmp-glibc/deploy/sdk directory. The installation script should be run on the host machine to install the development toolchain.

NXP Partner ST Partner Renesas Partner