Difference between revisions of "Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Install the SDK"
← Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Install the SDK
[quality revision] | [quality revision] |
m
|
m
|
![]() |
||||||
Develop on Arm® Cortex®-A7 | Develop on Arm® Cortex®-M4 | |||||
![]() |
Install the SDK |
![]() |
Create a simple hello-world application |
![]() |
Modify, rebuild and reload the Linux® kernel |
![]() |
1 Overview[edit]
This stage explains how to install the SDK.
The SDK for OpenSTLinux distribution provides a stand-alone cross-development toolchain and libraries tailored to the contents of the specific image flashed in the board.
2 Host computer configuration[edit]
2.1 Install extra package[edit]
In order to do basic development tasks or basic cross-compilation, some extra Ubuntu packages should be installed:
sudo apt-get update sudo apt-get install sed wget curl cvs subversion git-core coreutils unzip texi2html texinfo docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ desktop-file-utils chrpath libxml2-utils xmlto docbook bsdmainutils iputils-ping cpio python-wand python-pycryptopp python-crypto sudo apt-get install libsdl1.2-dev xterm corkscrew nfs-common nfs-kernel-server device-tree-compiler mercurial u-boot-tools libarchive-zip-perl sudo apt-get install ncurses-dev bc linux-headers-generic gcc-multilib libncurses5-dev libncursesw5-dev lrzsz dos2unix lib32ncurses5 repo libssl-dev sudo apt-get install default-jre
2.2 Additionnal configurations[edit]
- Allow up to 16 partitions per mmc
By default, on Linux system, a maximum of 8 partitions are allowed on mmc. All Packages (Starter Package, ...) need more than 10 partitons for the storage device. In order to extend the number of partitions per device to 16, the following options must be added to modprobe:
echo 'options mmc_block perdev_minors=16' > /tmp/mmc_block.conf sudo mv /tmp/mmc_block.conf /etc/modprobe.d/mmc_block.conf
3 Download the SDK[edit]
The software package is provided AS IS, and by downloading it, you agree to be bound to the terms of the software license agreement (SLA). The detailed content licenses can be found here.
![]() |
To download a package, it is recommended to be logged in to your "myst" account [1]. If, trying to download, you encounter a “403 error”, you could try to empty your browser cache to workaround the problem. We are working on the resolution of this problem. We apologize for this inconvenience |
3.1 For ecosystem release v1.2.0
[edit]
- Download the STM32MP15-Ecosystem-v1.2.0 Developer Package SDK into the following directory: $HOME/STM32MPU_workspace/tmp
- Uncompress the tarball file to get the SDK installation script
cd $HOME/STM32MPU_workspace/tmp tar xvf en.SDK-x86_64-stm32mp1-openstlinux-20-02-19.tar.xz
3.2 For ecosystem release v1.1.0
[edit]
- Download the STM32MP15-Ecosystem-v1.1.0 Developer Package SDK to the following directory:
$HOME/STM32MPU_workspace/tmp - Uncompress the tarball file to get the SDK installation script
cd $HOME/STM32MPU_workspace/tmp tar xvf en.SDK-x86_64-stm32mp1-openstlinux-4.19-thud-mp1-19-10-09.tar.xz
3.3 For ecosystem release v1.0.0
[edit]
- Download the STM32MP15-Ecosystem-v1.0.0 Developer Package SDK to the following directory:
$HOME/STM32MPU_workspace/tmp - Uncompress the tarball file to get the SDK installation script
cd $HOME/STM32MPU_workspace/tmp tar xvf en.SDK-x86_64-stm32mp1-openstlinux-4.19-thud-mp1-19-02-20.tar.xz
4 Run the SDK installation script[edit]
4.1 For ecosystem release v1.2.0
[edit]
- Create your STM32MP15 Developer Package SDK directory on your host computer
mkdir -p $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.2.0/Developer-Package/SDK
- Change the permissions of the SDK installation script so that it is executable
chmod +x $HOME/STM32MPU_workspace/tmp/stm32mp1-openstlinux-20-02-19/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-2.6-openstlinux-20-02-19.sh
- Execute the SDK installation script
$HOME/STM32MPU_workspace/tmp/stm32mp1-openstlinux-20-02-19/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-2.6-openstlinux-20-02-19.sh -d $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.2.0/Developer-Package/SDK
- A successful installation outputs the following log:
ST OpenSTLinux - Weston - (A Yocto Project Based Distro) SDK installer version 2.6-openstlinux-20-02-19 ===================================================================================================================== You are about to install the SDK to "/local/home/frq08927/STM32MPU_workspace/STM32MP15-Ecosystem-v1.2.0/Developer-Package/SDK". Proceed[Y/n]? Y Extracting SDK..................................................................................................................................................................done Setting it up...done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /<working directory absolute path>/STM32MPU_workspace/STM32MP15-Ecosystem-v1.2.0/Developer-Package/SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
4.2 For ecosystem release v1.1.0
[edit]
- Create your STM32MP15 Developer Package SDK directory on your host computer
mkdir $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.1.0/Developer-Package mkdir -p $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.1.0/Developer-Package/SDK
- Change the permissions of the SDK installation script so that it is executable
chmod +x $HOME/STM32MPU_workspace/tmp/stm32mp1-openstlinux-4.19-thud-mp1-19-10-09/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-2.6-openstlinux-4.19-thud-mp1-19-10-09.sh
- Execute the SDK installation script
$HOME/STM32MPU_workspace/tmp/stm32mp1-openstlinux-4.19-thud-mp1-19-10-09/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-2.6-openstlinux-4.19-thud-mp1-19-10-09.sh -d $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.1.0/Developer-Package/SDK
- A successful installation outputs the following log:
ST OpenSTLinux - Weston - (A Yocto Project Based Distro) SDK installer version 2.6-openstlinux-4.19-thud-mp1-19-10-09 ===================================================================================================================== You are about to install the SDK to "/local/home/frq08927/STM32MPU_workspace/STM32MP15-Ecosystem-v1.1.0/Developer-Package/SDK". Proceed[Y/n]? Y Extracting SDK..................................................................................................................................................................done Setting it up...done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /<working directory absolute path>/STM32MPU_workspace/STM32MP15-Ecosystem-v1.1.0/Developer-Package/SDK/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi
4.3 For ecosystem release v1.0.0
[edit]
- Create your STM32MP15 Developer Package SDK directory on your host computer
mkdir $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Developer-Package mkdir $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK
- Change the permissions of the SDK installation script so that it is executable
chmod +x $HOME/STM32MPU_workspace/tmp/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-2.6-openstlinux-4.19-thud-mp1-19-02-20.sh
- Execute the SDK installation script
$HOME/STM32MPU_workspace/tmp/stm32mp1-openstlinux-4.19-thud-mp1-19-02-20/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-2.6-openstlinux-4.19-thud-mp1-19-02-20.sh -d $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK
- A successful installation outputs the following log:
ST OpenSTLinux - Weston - (A Yocto Project Based Distro) SDK installer version 2.6-openstlinux-4.19-thud-mp1-19-02-20 ===================================================================================================================== You are about to install the SDK to "/local/home/frq08927/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK". Proceed[Y/n]? Y Extracting SDK..................................................................................................................................................................done Setting it up...done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /<working directory absolute path>/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi
5 Starting up the SDK[edit]
![]() |
The SDK environment setup script must be run once in each new working terminal in which you cross-compile |
cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.2.0/Developer-Package source SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.1.0/Developer-Package source SDK/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi
cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v1.0.0/Developer-Package source SDK/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi
The following checkings allow to ensure that the environment is correctly setup:
- Check the target architecture
echo $ARCH arm
- Check the toolchain binary prefix for the target tools
echo $CROSS_COMPILE arm-ostl-linux-gnueabi- /* For ecosystem release v1.2.0*/ arm-openstlinux_weston-linux-gnueabi- /* For ecosystem release ≤ v1.1.0
*/
- Check the C compiler version
$CC --version arm-ostl-linux-gnueabi-gcc (GCC) 8.2.0 /* For ecosystem release v1.2.0*/ arm-openstlinux_weston-linux-gnueabi-gcc (GCC) 8.2.0 /* For ecosystem release ≤ v1.1.0
*/ Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- Check that the SDK version is the expected one
echo $OECORE_SDK_VERSION 2.6-openstlinux-20-02-19 /* For ecosystem release v1.2.0*/ 2.6-openstlinux-4.19-thud-mp1-19-10-09 /* For ecosystem release v1.1.0
*/ 2.6-openstlinux-4.19-thud-mp1-19-02-20 /* For ecosystem release v1.0.0
*/
If any of these commands fails or does not return the expected result, please try to reinstall the SDK.
![]() |
![]() |
![]() |
<bookshelf src="Book:Getting started" /> {| class="contenttablest-table" style="text-align:center; margin: auto" | colspan="7" style="text-align:center; border-color: white; background-color: whiteborder-style: hidden;" | [[Image:STM32MP157C-EV1.png | 65px | link=]] |- | colspan="4" style="text-align:left; border-color: white; background-color: whiteborder-style: hidden; text-align:left;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7 | {{GSModuleCurrent|Develop on Arm® Cortex®-A7}}]] | colspan="3" style="text-align:right; border-color: white; background-color: whiteborder-style: hidden; text-align:right;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-M4 | {{GSModuleNext|Develop on Arm® Cortex®-M4}}]] |- | style="border-color: white; background-color: whitestyle: hidden;" | [[Image:step_category_in.png|link=]] | style="width:150px; text-align:center; border-color: white; background-color: whiteborder-style: hidden; width:150px;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Install the SDK | {{GSStepCurrent|Install the SDK}}]] | style="border-color: white; background-color: whitestyle: hidden;" | [[Image:step.png|link=]] | style="width:150px; margin-top:0px; text-align:center; border-color: white; background-color: whiteborder-style: hidden; width:150px;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Create a simple hello-world application | {{GSStepNext|Create a simple hello-world application}}]] | style="border-color: white; background-color: whitestyle: hidden;" | [[Image:step.png|link=]] | style="width:150px; text-align:center; border-color: white; background-color: whiteborder-style: hidden; width:150px;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Modify, rebuild and reload the Linux® kernel | {{GSStepNext|Modify, rebuild and reload the Linux® kernel}}]] | style="border-color: white; background-color: whitestyle: hidden;" | [[Image:step_category_out.png|link=]] |}<br> {{:Install the SDK}} <br> {| class="contenttablest-table" style="margin: auto" | style="border-color: white; background-color: white; style: hidden; width:120px; text-align:left" | [[Image:back_button.png|link=Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7]] | style="border-color: white; background-color: white; style: hidden; width:360px; text-align:center" | [[Image:overview_button.png|link=Getting started/STM32MP1 boards/STM32MP157x-EV1]] | style="border-color: white; background-color: white; style: hidden; width:120px; text-align:right" | [[Image:next_button.png|link=Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Create a simple hello-world application]] |} <noinclude> {{DISPLAYTITLE:{{SUBPAGENAME}}}} __NOTOC__ [[Category:STM32MP157x-EV1 - develop on A7 | 01]] {{PublicationRequestId | Auto}}</noinclude>
Line 1: | Line 1: | ||
<bookshelf src="Book:Getting started" /> |
<bookshelf src="Book:Getting started" /> |
||
− | {| class=" |
+ | {| class="st-table" style="text-align:center; margin: auto" |
− | | colspan="7" style=" |
+ | | colspan="7" style="border-style: hidden;" | [[Image:STM32MP157C-EV1.png | 65px | link=]] |
|- |
|- |
||
− | | colspan="4" style="text-align:left; |
+ | | colspan="4" style="border-style: hidden; text-align:left;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7 | {{GSModuleCurrent|Develop on Arm® Cortex®-A7}}]] |
− | | colspan="3" style="text-align:right; |
+ | | colspan="3" style="border-style: hidden; text-align:right;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-M4 | {{GSModuleNext|Develop on Arm® Cortex®-M4}}]] |
|- |
|- |
||
− | | style="border- |
+ | | style="border-style: hidden;" | [[Image:step_category_in.png|link=]] |
− | | style=" |
+ | | style="border-style: hidden; width:150px;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Install the SDK | {{GSStepCurrent|Install the SDK}}]] |
− | | style="border- |
+ | | style="border-style: hidden;" | [[Image:step.png|link=]] |
− | | style=" |
+ | | style="border-style: hidden; width:150px;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Create a simple hello-world application | {{GSStepNext|Create a simple hello-world application}}]] |
− | | style="border- |
+ | | style="border-style: hidden;" | [[Image:step.png|link=]] |
− | | style=" |
+ | | style="border-style: hidden; width:150px;" | [[Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Modify, rebuild and reload the Linux® kernel | {{GSStepNext|Modify, rebuild and reload the Linux® kernel}}]] |
− | | style="border- |
+ | | style="border-style: hidden;" | [[Image:step_category_out.png|link=]] |
|} |
|} |
||
<br> |
<br> |
||
Line 19: | Line 19: | ||
<br> |
<br> |
||
− | {| class=" |
+ | {| class="st-table" style="margin: auto" |
− | | style="border- |
+ | | style="border-style: hidden; width:120px; text-align:left" | [[Image:back_button.png|link=Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7]] |
− | | style="border- |
+ | | style="border-style: hidden; width:360px; text-align:center" | [[Image:overview_button.png|link=Getting started/STM32MP1 boards/STM32MP157x-EV1]] |
− | | style="border- |
+ | | style="border-style: hidden; width:120px; text-align:right" | [[Image:next_button.png|link=Getting started/STM32MP1 boards/STM32MP157x-EV1/Develop on Arm® Cortex®-A7/Create a simple hello-world application]] |
|} |
|} |
||