Registered User No edit summary |
Registered User mNo edit summary |
||
(25 intermediate revisions by 4 users not shown) | |||
Line 7: | Line 7: | ||
==Host computer configuration== | ==Host computer configuration== | ||
===Install extra package=== | ===Install extra package=== | ||
{{#lst:PC prerequisites|InstallExtraPackages}} | |||
===Additionnal configurations=== | ===Additionnal configurations=== | ||
Line 25: | Line 20: | ||
{{SoftwareLicenseAgreement | distribution=OpenSTLinux}} | {{SoftwareLicenseAgreement | distribution=OpenSTLinux}} | ||
'''For {{EcosystemRelease | revision=2.1.0}}''': | |||
* Download the [ | |||
* Download the [{{EcosystemRelease/Package | revision=2.1.0 | package=SDK package | request=url}}/{{EcosystemRelease/Package | revision=2.1.0 | package=SDK package | request=name}} Developer Package SDK] into the following directory: '''$HOME/STM32MPU_workspace/tmp''' | |||
* Uncompress the tarball file to get the SDK installation script | * Uncompress the tarball file to get the SDK installation script | ||
{{PC$}} cd $HOME/STM32MPU_workspace/tmp | {{PC$}} cd $HOME/STM32MPU_workspace/tmp | ||
{{PC$}} tar xvf | {{PC$}} tar xvf {{EcosystemRelease/Package | revision=2.1.0 | package=SDK package | request=name}} | ||
<div class="mw-collapsible mw-collapsed"> | <div class="mw-collapsible mw-collapsed"> | ||
'''For {{EcosystemRelease | revision=2.0.0}}''': | |||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
* Download the [ | * Download the [{{EcosystemRelease/Package | revision=2.0.0 | package=SDK package | request=url}}/{{EcosystemRelease/Package | revision=2.0.0 | package=SDK package | request=name}} Developer Package SDK] into the following directory: '''$HOME/STM32MPU_workspace/tmp''' | ||
* Uncompress the tarball file to get the SDK installation script | * Uncompress the tarball file to get the SDK installation script | ||
{{PC$}} cd $HOME/STM32MPU_workspace/tmp | {{PC$}} cd $HOME/STM32MPU_workspace/tmp | ||
{{PC$}} tar xvf | {{PC$}} tar xvf {{EcosystemRelease/Package | revision=2.0.0 | package=SDK package | request=name}} | ||
</div> | </div> | ||
==Run the SDK installation script== | ==Run the SDK installation script== | ||
======For {{EcosystemRelease | revision=1 | |||
======For {{EcosystemRelease | revision=2.1.0 }}====== | |||
* Create your STM32MP15 Developer Package SDK directory on your host computer | * Create your STM32MP15 Developer Package SDK directory on your host computer | ||
{{PC$}} mkdir | {{PC$}} mkdir -p $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v2.1.0/Developer-Package/SDK | ||
* Change the permissions of the SDK installation script so that it is executable | * Change the permissions of the SDK installation script so that it is executable | ||
{{PC$}} chmod +x | {{PC$}} chmod +x {{EcosystemRelease/Package | revision=2.1.0 | package=SDK installation script | request=path}}/{{EcosystemRelease/Package | revision=2.1.0 | package=SDK installation script | request=name}} | ||
* Execute the SDK installation script | * Execute the SDK installation script | ||
{{PC$}} | {{PC$}} ./{{EcosystemRelease/Package | revision=2.1.0 | package=SDK installation script | request=path}}/{{EcosystemRelease/Package | revision=2.1.0 | package=SDK installation script | request=name}} -d <working directory absolute path>/Developer-Package/SDK | ||
* A successful installation outputs the following log: | * A successful installation outputs the following log: | ||
<pre> | <pre> | ||
ST OpenSTLinux - Weston - (A Yocto Project Based Distro) SDK installer version | ST OpenSTLinux - Weston - (A Yocto Project Based Distro) SDK installer version 3.1-openstlinux-5.4-dunfell-mp1-20-11-12 | ||
===================================================================================================================== | ======================================================================================================================= | ||
You are about to install the SDK to " | You are about to install the SDK to "/home/osboxes/MCD/V2.1/Developper-Package/SDK". Proceed [Y/n]? Y | ||
Extracting SDK..................................................................................................................................................................done | Extracting SDK................................................................................................................................................................................................................done | ||
Setting it up...done | Setting it up...done | ||
SDK has been successfully set up and is ready to be used. | 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. | 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- | $ . /<working directory absolute path>/STM32MPU_workspace/STM32MP15-Ecosystem-v2.1.0/Developer-Package/SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi | ||
</pre> | </pre> | ||
<div class="mw-collapsible mw-collapsed"> | <div class="mw-collapsible mw-collapsed"> | ||
======For {{EcosystemRelease | revision= | ======For {{EcosystemRelease | revision=2.0.0 }}====== | ||
<div class="mw-collapsible-content"> | <div class="mw-collapsible-content"> | ||
* Create your STM32MP15 Developer Package SDK directory on your host computer | * Create your STM32MP15 Developer Package SDK directory on your host computer | ||
{{PC$}} mkdir $HOME/STM32MPU_workspace/STM32MP15-Ecosystem- | {{PC$}} mkdir -p $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v2.0.0/Developer-Package/SDK | ||
* Change the permissions of the SDK installation script so that it is executable | * Change the permissions of the SDK installation script so that it is executable | ||
{{PC$}} chmod +x | {{PC$}} chmod +x {{EcosystemRelease/Package | revision=2.0.0 | package=SDK installation script | request=path}}/{{EcosystemRelease/Package | revision=2.0.0 | package=SDK installation script | request=name}} | ||
* Execute the SDK installation script | * Execute the SDK installation script | ||
{{PC$}} | {{PC$}} ./{{EcosystemRelease/Package | revision=2.0.0 | package=SDK installation script | request=path}}/{{EcosystemRelease/Package | revision=2.0.0 | package=SDK installation script | request=name}} -d <working directory absolute path>/Developer-Package/SDK | ||
* A successful installation outputs the following log: | * A successful installation outputs the following log: | ||
<pre> | <pre> | ||
ST OpenSTLinux - Weston - (A Yocto Project Based Distro) SDK installer version | ST OpenSTLinux - Weston - (A Yocto Project Based Distro) SDK installer version 3.1-openstlinux-5.4-dunfell-mp1-20-06-24 | ||
===================================================================================================================== | ======================================================================================================================= | ||
You are about to install the SDK to " | You are about to install the SDK to "/home/osboxes/MCD/V2.0/Developper-Package/SDK". Proceed [Y/n]? Y | ||
Extracting SDK..................................................................................................................................................................done | Extracting SDK................................................................................................................................................................................................................done | ||
Setting it up...done | Setting it up...done | ||
SDK has been successfully set up and is ready to be used. | 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. | 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- | $ . /<working directory absolute path>/STM32MPU_workspace/STM32MP15-Ecosystem-v2.0.0/Developer-Package/SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi | ||
</pre> | </pre> | ||
</div> | </div> | ||
==Starting up the SDK== | ==Starting up the SDK== | ||
{{info|The SDK environment setup script must be run once in each new working terminal in which you cross-compile}} | {{info|The SDK environment setup script must be run once in each new working terminal in which you cross-compile}} | ||
{{PC$}} cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v2.{{HighlightParam|'''''X'''''}}.0/Developer-Package /* For {{EcosystemRelease | revision=2.1.0}}: {{HighlightParam|'''''X'''''}} is equal to 1 ; For {{EcosystemRelease | revision=2.0.0}}: {{HighlightParam|'''''X'''''}} is equal to 0 ; | |||
{{PC$}} source SDK/{{EcosystemRelease/Package | revision=2.1.0 | package=SDK setup script | request=name}} | |||
The following checkings allow to ensure that the environment is correctly setup: | The following checkings allow to ensure that the environment is correctly setup: | ||
Line 145: | Line 95: | ||
* Check the toolchain binary prefix for the target tools | * Check the toolchain binary prefix for the target tools | ||
{{PC$}} echo $CROSS_COMPILE | {{PC$}} echo $CROSS_COMPILE | ||
arm-ostl-linux-gnueabi- | arm-ostl-linux-gnueabi- | ||
* Check the C compiler version | * Check the C compiler version | ||
{{PC$}} $CC --version | {{PC$}} $CC --version | ||
arm-ostl-linux-gnueabi-gcc (GCC) | arm-ostl-linux-gnueabi-gcc (GCC) 9.3.0 | ||
Copyright (C) 2019 Free Software Foundation, Inc. | |||
Copyright (C) | |||
This is free software; see the source for copying conditions. There is NO | This is free software; see the source for copying conditions. There is NO | ||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
* Check that the SDK version is the expected one | * Check that the SDK version is the expected one | ||
{{PC$}} echo $OECORE_SDK_VERSION | {{PC$}} echo $OECORE_SDK_VERSION | ||
3.1-{{EcosystemRelease/Package | revision=2.1.0 | package=OpenSTLinux distribution | request=name}} /* '''For {{EcosystemRelease | revision=2.1.0}}''' */ | |||
3.1-{{EcosystemRelease/Package | revision=2.0.0 | package=OpenSTLinux distribution | request=name}} /* '''For {{EcosystemRelease | revision=2.0.0}}''' */ | |||
If any of these commands fails or does not return the expected result, please try to reinstall the SDK. | If any of these commands fails or does not return the expected result, please try to reinstall the SDK. | ||
<noinclude> | <noinclude> | ||
{{NoIndex}} | |||
__NOTOC__ | |||
[[Category:Sub-articles]] | [[Category:Sub-articles]] | ||
{{PublicationRequestId | Auto}} | {{PublicationRequestId | Auto}} | ||
</noinclude> | </noinclude> |
Latest revision as of 10:53, 13 November 2020
1. Overview[edit source]
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 source]
2.1. Install extra package[edit source]
Additional Ubuntu packages must be installed to perform basic development tasks, basic cross-compilation (via Developer Package) or more complex cross-compilation such as OpenEmbedded does (via Distribution Package):
- Packages required by OpenEmbedded/Yocto (details here):
sudo apt-get update
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 pylint xterm
sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
- Packages needed for some "Developer Package" use cases:
sudo apt-get install libncurses5 libncurses5-dev libncursesw5-dev libssl-dev linux-headers-generic u-boot-tools device-tree-compiler bison flex g++ libyaml-dev
- Package for repo (used to download the "Distribution Package" source code):
repo. For Ubuntu 16.04, use the legacy repo old-repo-python2 chapterPlease follow the installation instructions described in
- Useful tools:
sudo apt-get install coreutils bsdmainutils sed curl bc lrzsz corkscrew cvs subversion mercurial nfs-common nfs-kernel-server libarchive-zip-perl dos2unix texi2html diffstat libxml2-utils
You can also install a Java Runtime Engine that is required for STM32CubeMX and STM32CubeProgrammer
sudo apt-get install default-jre
2.2. Additionnal configurations[edit source]
- 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 source]
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.
For ecosystem release v2.1.0 :
- Download the Developer Package SDK into the following directory: $HOME/STM32MPU_workspace/tmp
- Uncompress the tarball file to get the SDK installation script
SDK-x86_64-stm32mp1-openstlinux-5-4-dunfell-mp1-20-11-12.tar.xzcd $HOME/STM32MPU_workspace/tmp tar xvf en.
For ecosystem release v2.0.0 :
4. Run the SDK installation script[edit source]
For ecosystem release v2.1.0
[edit source]
- Create your STM32MP15 Developer Package SDK directory on your host computer
SDKmkdir -p $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v2.1.0/Developer-Package/
- Change the permissions of the SDK installation script so that it is executable
chmod +x stm32mp1-openstlinux-5.4-dunfell-mp1-20-11-12/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-openstlinux-5.4-dunfell-mp1-20-11-12.sh
- Execute the SDK installation script
SDK./stm32mp1-openstlinux-5.4-dunfell-mp1-20-11-12/sdk/st-image-weston-openstlinux-weston-stm32mp1-x86_64-toolchain-3.1-openstlinux-5.4-dunfell-mp1-20-11-12.sh -d <working directory absolute path>/Developer-Package/
- A successful installation outputs the following log:
SDK installer version 3.1-openstlinux-5.4-dunfell-mp1-20-11-12 ======================================================================================================================= You are about to install the SDK to "/home/osboxes/MCD/V2.1/Developper-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-v2.1.0/Developer-Package/SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabiST OpenSTLinux - Weston - (A Yocto Project Based Distro)
For ecosystem release v2.0.0
[edit source]
5. Starting up the SDK[edit source]
X.0/Developer-Package /* For ecosystem release v2.1.0cd $HOME/STM32MPU_workspace/STM32MP15-Ecosystem-v2.: X is equal to 1 ; For ecosystem release v2.0.0
: X is equal to 0 ; source SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-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-
- Check the C compiler version
$CC --version
arm-ostl-linux-gnueabi-gcc (GCC) 9.3.0
Copyright (C) 2019 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
SDK_VERSION 3.1-openstlinux-5.4-dunfell-mp1-20-11-12 /* For ecosystem release v2.1.0echo $OECORE_*/ 3.1-openstlinux-5.4-dunfell-mp1-20-06-24 /* For ecosystem release v2.0.0
*/
If any of these commands fails or does not return the expected result, please try to reinstall the SDK.