Registered User |
Registered User mNo edit summary Tag: 2017 source edit |
||
(31 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude>{{ApplicableFor | |||
|MPUs list=STM32MP13x, STM32MP15x, STM32MP25x | |||
|MPUs checklist=STM32MP13x, STM32MP15x, STM32MP25x | |||
}} | |||
</noinclude> | |||
<section begin=STM32MP1 /><section begin=STM32MP2 /> | |||
==Overview== | ==Overview== | ||
This stage explains how to install the SDK.<br> | This stage explains how to install the SDK.<br> | ||
Line 14: | Line 20: | ||
{{PC$}} sudo mv /tmp/mmc_block.conf /etc/modprobe.d/mmc_block.conf | {{PC$}} sudo mv /tmp/mmc_block.conf /etc/modprobe.d/mmc_block.conf | ||
==Download the SDK== | <section end=STM32MP1 /><section end=STM32MP2 /> | ||
==For {{MicroprocessorDevice | device=1}}== | |||
===Download the SDK and run the SDK installation script=== | |||
{{SoftwareLicenseAgreement | distribution=OpenSTLinux}} | |||
<section begin=STM32MP1 /> | |||
{{:STM32MP1 Developer Package - SDK}} | |||
===Start the SDK up=== | |||
{{info|The SDK environment setup script must be run once on each new working terminal on which you cross-compile}} | |||
{{PC$}} cd $HOME/STM32MPU_workspace/STM32MPU-Ecosystem-v5.1.0/Developer-Package | |||
{{PC$}} source SDK/{{EcosystemRelease/Package | revision=latest| package=SDK setup script | device =MP1 | request=name}} | |||
--------------------- | |||
The following checks ensure that the environment is correctly set up: | |||
* Check the target architecture | |||
{{PC$}} echo $ARCH | |||
arm | |||
* Check the toolchain binary prefix for the target tools | |||
{{PC$}} echo $CROSS_COMPILE | |||
arm-ostl-linux-gnueabi- | |||
* Check the C compiler version | |||
{{PC$}} $CC --version | |||
arm-ostl-linux-gnueabi-gcc (GCC) 12.3.0 | |||
Copyright (C) 2022 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 (e.g.) | |||
{{PC$}} echo $OECORE_SDK_VERSION | |||
{{EcosystemRelease/Component | revision=latest| component=OS version | name=tag}} | |||
{{PC$}} | |||
If any of these commands fails or does not return the expected result, try to reinstall the SDK. | |||
<section end=STM32MP1 /> | |||
==For {{MicroprocessorDevice | device=2}}== | |||
<section begin=STM32MP2 /> | |||
===Download the SDK and run the SDK installation script=== | |||
{{SoftwareLicenseAgreement | distribution=OpenSTLinux}} | |||
{{:STM32MP2 Developer Package - SDK}} | |||
==Start the SDK up== | ===Start the SDK up=== | ||
{{info|The SDK environment setup script must be run once on each new working terminal on which you cross-compile}} | {{info|The SDK environment setup script must be run, once, on each new working terminal on which you cross-compile}} | ||
{{PC$}} cd $HOME/STM32MPU_workspace/ | {{PC$}} cd $HOME/STM32MPU_workspace/STM32MPU-Ecosystem-v{{EcosystemRelease/Revision | revision=latest}}/Developer-Package | ||
{{PC$}} source SDK/{{EcosystemRelease/Package | revision= | {{PC$}} source SDK/{{EcosystemRelease/Package | revision=latest | package=SDK setup script | device=MP2 | request=name}} | ||
--------------------- | --------------------- | ||
Line 56: | Line 80: | ||
* Check the target architecture | * Check the target architecture | ||
{{PC$}} echo $ARCH | {{PC$}} echo $ARCH | ||
arm64 | |||
* 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 | ||
aarch64-ostl-linux- | |||
* Check the C compiler version | * Check the C compiler version | ||
{{PC$}} $CC --version | {{PC$}} $CC --version | ||
aarch64-ostl-linux-gcc (GCC) 12.3.0 | |||
Copyright (C) | Copyright (C) 2022 Free Software Foundation, Inc. | ||
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. | ||
Line 71: | Line 95: | ||
{{PC$}} echo $OECORE_SDK_VERSION | {{PC$}} echo $OECORE_SDK_VERSION | ||
{{EcosystemRelease/Component | revision=latest | component=OS version |name=tag}} | |||
If any of these commands fails or does not return the expected result, try to reinstall the SDK. | If any of these commands fails or does not return the expected result, try to reinstall the SDK. | ||
<section end=STM32MP2 /> | |||
<noinclude> | <noinclude> |
Latest revision as of 18:13, 6 November 2024
1. Overview[edit | edit source]
This stage explains how to install the SDK.
The SDK for OpenSTLinux distribution provides a standalone cross-development toolchain and libraries tailored to the contents of the specific image flashed onto the board.
2. Host computer configuration[edit | edit source]
2.1. Install extra packages[edit | 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 diffstat unzip texinfo gcc 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 xterm python3-subunit mesa-common-dev zstd liblz4-tool
sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
sudo apt-get install libmpc-dev libgmp-dev
- Packages needed for some "Developer Package" use cases:
sudo apt-get install build-essential libssl-dev
- Package for repo (used to download the "Distribution Package" source code):
repo.Please follow the installation instructions described in
For Ubuntu 20.04, first set python3 as default: sudo apt install python-is-python3
- 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
2.2. Additional configurations[edit | edit source]
Additional configurations have to be installed to support up to 16 partitions per MMC. By default, on Linux® systems, a maximum of 8 partitions are allowed on MMC. All Packages (Starter Package, ...) need more than 10 partitions 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. For STM32MP1 series[edit | edit source]
3.1. Download the SDK and run the SDK installation script[edit | edit source]
The STM32MP1 SDK is delivered through two tarball file named :
- unknown revision for x86_64 host architecture
- unknown revision for arm64 host architecture
Download and install the STM32MP1 SDK.
STM32MP1 Developer Package SDK - STM32MP1-Ecosystem-v5.1.0 release | |
---|---|
Download |
|
Installation | For x86_64 host architecture
unknown revisiontar xvf
unknown revision/unknown revisionchmod +x
unknown revision/unknown revision -d <working directory absolute path>/Developer-Package/SDK./
Yocto Project Based Distro) SDK installer version 4.2.4-openstlinux-6.1-yocto-mickledore-mp1-v24.06.26 =================================================================================================================================== You are about to install the SDK to "<working directory absolute path>/Developer-Package/SDK". Proceed [Y/n]? 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>/Developer-Package/SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabiST OpenSTLinux - Weston - (A |
Expand
For arm64 host architecture | |
Release note |
Details about the content of the SDK are available in the associated STM32 MPU ecosystem release note.
|
- The SDK is in the <SDK installation directory>:
<SDK installation directory> SDK for OpenSTLinux distribution: details in Standard SDK directory structure article ├── environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi Environment setup script for Developer Package ├── site-config-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi ├── sysroots │ ├── cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi Target sysroot (libraries, headers, and symbols) │ │ └── [...] │ └── x86_64-ostl_sdk-linux Native sysroot (libraries, headers, and symbols) │ └── [...] └── version-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
For arm64 host architecture
3.2. Start the SDK up[edit | edit source]
SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabicd $HOME/STM32MPU_workspace/STM32MPU-Ecosystem-v5.1.0/Developer-Package source
The following checks ensure that the environment is correctly set up:
- 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) 12.3.0
Copyright (C) 2022 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 (e.g.)
SDK_VERSION 4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26echo $OECORE_
If any of these commands fails or does not return the expected result, try to reinstall the SDK.
4. For STM32MP2 series[edit | edit source]
4.1. Download the SDK and run the SDK installation script[edit | edit source]
The STM32MP2 SDK is delivered through two tarball file named :
- unknown revision for x86_64 host architecture
- unknown revision for arm64 host architecture
Download and install the STM32MP2 SDK.
STM32MP2 Developer Package SDK - STM32MP2-Ecosystem-v5.1.0 release | |
---|---|
Download |
|
Installation | For x86_64 host architecture
unknown revisiontar xvf
unknown revision/unknown revisionchmod +x
unknown revision/unknown revision -d <working directory absolute path>/Developer-Package/SDK./
Yocto Project Based Distro) SDK installer version 4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26 =================================================================================================================================== You are about to install the SDK to "<working directory absolute path>/Developer-Package/SDK". Proceed [Y/n]? 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>/Developer-Package/SDK/environment-setup-cortexa35-ostl-linuxST OpenSTLinux - Weston - (A |
Expand
For arm64 host architecture | |
Release note |
Details about the content of the SDK are available in the associated STM32 MPU ecosystem release note.
|
- The SDK is in the <SDK installation directory>:
<SDK installation directory> SDK for OpenSTLinux distribution: details in Standard SDK directory structure article ├── environment-setup-cortexa35-ostl-linux Environment setup script for Developer Package ├── site-config-cortexa35-ostl-linux ├── sysroots │ ├── cortexa35-ostl-linux Target sysroot (libraries, headers, and symbols) │ │ └── [...] │ └── x86_64-ostl_sdk-linux Native sysroot (libraries, headers, and symbols) │ └── [...] └── version-cortexa35-ostl-linux
For arm64 host architecture
4.2. Start the SDK up[edit | edit source]
SDK/environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabicd $HOME/STM32MPU_workspace/STM32MPU-Ecosystem-v5.1.0/Developer-Package source
The following checks ensure that the environment is correctly set up:
- Check the target architecture
echo $ARCH
arm64
- Check the toolchain binary prefix for the target tools
echo $CROSS_COMPILE
aarch64-ostl-linux-
- Check the C compiler version
$CC --version
aarch64-ostl-linux-gcc (GCC) 12.3.0
Copyright (C) 2022 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 (e.g.)
SDK_VERSION 4.2.4-openstlinux-6.1-yocto-mickledore-mpu-v24.06.26echo $OECORE_
If any of these commands fails or does not return the expected result, try to reinstall the SDK.