deleted>Frq08988 mNo edit summary |
Registered User mNo edit summary |
||
(21 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude> | ||
{{ | {{ApplicableFor | ||
|MPUs list=STM32MP13x, STM32MP15x, STM32MP25x | |||
{{ | |MPUs checklist=STM32MP13x, STM32MP15x, STM32MP25x | ||
}} | |||
</noinclude> | |||
<noinclude> | |||
[[Category:SDK]] | |||
{{PublicationRequestId | 7646 | 2018-06-04 | PhilipS}} | |||
[[ | {{ReviewsComments|-- [[User:Jean-philippe Romain|Jean-philippe Romain]] ([[User talk:Jean-philippe Romain|talk]]) 17:09, 28 November 2023 (CET)<br />To check for new components part of Developer package to compile with SDK}} | ||
</ | |||
==Article purpose== | ==Article purpose== | ||
The pieces of software delivered as source code within the OpenSTLinux Developer Package (for example the Linux kernel) can be modified. External out-of-tree Linux kernel modules, and pieces of applicative software (for example Linux applications) can also be developed thanks to this Developer Package, and loaded onto the board. | The pieces of software delivered as source code within the OpenSTLinux Developer Package (for example the Linux kernel) can be modified. External out-of-tree Linux kernel modules, and pieces of applicative software (for example Linux applications) can also be developed thanks to this Developer Package, and loaded onto the board. | ||
The build of all these pieces of software by means of the [[SDK for OpenSTLinux distribution]], and the deployment on-target of the resulting images is explained below. | The build of all these pieces of software by means of the [[SDK for OpenSTLinux distribution]], and the deployment on-target of the resulting images is explained below. | ||
{{Warning|To use the cross-compilation efficiently with the OpenSTLinux SDK, it is recommended that you read the Developer Package article relative to the | {{Warning|To use the cross-compilation efficiently with the OpenSTLinux SDK, it is recommended that you read the Developer Package article relative to the series of your STM32 microprocessor: [[:Category:Developer Package]]}} | ||
</noinclude> | </noinclude> | ||
===Modifying the Linux kernel=== | ===Modifying the Linux kernel=== | ||
Prerequisites: | Prerequisites: | ||
* the [[ | * the [[STM32MPU Developer Package#Installing the SDK|SDK is installed]] | ||
* the [[ | * the [[STM32MPU Developer Package#Starting up the SDK|SDK is started up]] | ||
* the [[ | * the [[STM32MPU Developer Package#Installing the OpenSTLinux BSP packages|BSP package is installed]] | ||
{{highlight|'''The ''<Linux kernel installation directory>/README.HOW_TO.txt'' helper file gives the commands to:'''}} <br> | {{highlight|'''The ''<Linux kernel installation directory>/README.HOW_TO.txt'' helper file gives the commands to:'''}} <br> | ||
Line 31: | Line 34: | ||
* [[How to cross-compile with the Developer Package#Modifying a built-in Linux kernel device driver|Modification of a built-in device driver]] | * [[How to cross-compile with the Developer Package#Modifying a built-in Linux kernel device driver|Modification of a built-in device driver]] | ||
* [[How to cross-compile with the Developer Package#Modifying an external in-tree Linux kernel module|Modification of an external in-tree module]] | * [[How to cross-compile with the Developer Package#Modifying an external in-tree Linux kernel module|Modification of an external in-tree module]] | ||
* [[How to cross-compile with the Developer Package#Adding an external out-of-tree Linux kernel module|Adding an external out-of-tree Linux kernel module]] | |||
* [[How to cross-compile with the Developer Package#Adding an external out-of-tree Linux kernel module| | |||
===Adding Linux user space applications=== | ===Adding Linux user space applications=== | ||
Prerequisites: | Prerequisites: | ||
* the [[ | * the [[STM32MPU Developer Package#Installing the SDK|SDK is installed]] | ||
* the [[ | * the [[STM32MPU Developer Package#Starting up the SDK|SDK is started up]] | ||
Once a suitable cross-toolchain (OpenSTLinux SDK) is installed, it is easy to develop a project outside of the OpenEmbedded build system. <br> | Once a suitable cross-toolchain (OpenSTLinux SDK) is installed, it is easy to develop a project outside of the OpenEmbedded build system. <br> | ||
There are different ways to use the SDK toolchain directly, among which Makefile and Autotools. <br> | There are different ways to use the SDK toolchain directly, among which Makefile and Autotools. <br> | ||
Whatever the method, it relies on: | Whatever the method, it relies on: | ||
* the sysroot that is associated with the cross-toolchain, and that contains the header files and libraries needed for generating binaries (see [[SDK for OpenSTLinux distribution# | * the sysroot that is associated with the cross-toolchain, and that contains the header files and libraries needed for generating binaries (see [[SDK for OpenSTLinux distribution#Native and target sysroots|target sysroot]]) | ||
* the environment variables created by the SDK environment setup script (see [[SDK for OpenSTLinux distribution# | * the environment variables created by the SDK environment setup script (see [[SDK for OpenSTLinux distribution#SDK startup|SDK startup]]) | ||
You can refer to the following simple example: | You can refer to the following simple example: | ||
Line 96: | Line 52: | ||
===Modifying the U-Boot=== | ===Modifying the U-Boot=== | ||
Prerequisites: | Prerequisites: | ||
* the [[ | * the [[STM32MPU Developer Package#Installing the SDK|SDK is installed]] | ||
* the [[ | * the [[STM32MPU Developer Package#Starting up the SDK|SDK is started up]] | ||
* the [[ | * the [[STM32MPU Developer Package#Installing the OpenSTLinux BSP packages|BSP package is installed]] | ||
{{highlight|'''The ''<U-Boot installation directory>/README.HOW_TO.txt'' helper file gives the commands to:'''}} <br> | {{highlight|'''The ''<U-Boot installation directory>/README.HOW_TO.txt'' helper file gives the commands to:'''}} <br> | ||
Line 109: | Line 65: | ||
===Modifying the TF-A=== | ===Modifying the TF-A=== | ||
Prerequisites: | Prerequisites: | ||
* the [[ | * the [[STM32MPU Developer Package#Installing the SDK|SDK is installed]] | ||
* the [[ | * the [[STM32MPU Developer Package#Starting up the SDK|SDK is started up]] | ||
* the [[ | * the [[STM32MPU Developer Package#Installing the OpenSTLinux BSP packages|BSP package is installed]] | ||
{{highlight|'''The ''<TF-A installation directory>/README.HOW_TO.txt'' helper file gives the commands to:'''}} <br> | {{highlight|'''The ''<TF-A installation directory>/README.HOW_TO.txt'' helper file gives the commands to:'''}} <br> | ||
Line 119: | Line 75: | ||
You can refer to the following simple example: | You can refer to the following simple example: | ||
* [[How to cross-compile with the Developer Package#Modifying the TF-A|Modification of the TF-A]] | * [[How to cross-compile with the Developer Package#Modifying the TF-A|Modification of the TF-A]] | ||
===Modifying the OP-TEE=== | |||
Prerequisites: | |||
* the [[STM32MPU Developer Package#Installing the SDK|SDK is installed]] | |||
* the [[STM32MPU Developer Package#Starting up the SDK|SDK is started up]] | |||
* the [[STM32MPU Developer Package#Installing the OpenSTLinux BSP packages|BSP package is installed]] | |||
{{highlight|'''The ''<OP-TEE installation directory>/README.HOW_TO.txt'' helper file gives the commands to:'''}} <br> | |||
<span style="font-size:21px">☐</span> cross-compile the OP-TEE <br> | |||
<span style="font-size:21px">☐</span> deploy the OP-TEE (that is, update the software on board) <br> | |||
You can refer to the following simple example: | |||
* [[How to cross-compile with the Developer Package#Modifying the OP-TEE OS|Modification of the OP-TEE OS]] |
Latest revision as of 11:02, 3 January 2024
1. Article purpose[edit | edit source]
The pieces of software delivered as source code within the OpenSTLinux Developer Package (for example the Linux kernel) can be modified. External out-of-tree Linux kernel modules, and pieces of applicative software (for example Linux applications) can also be developed thanks to this Developer Package, and loaded onto the board.
The build of all these pieces of software by means of the SDK for OpenSTLinux distribution, and the deployment on-target of the resulting images is explained below. Template:Warning
1.1. Modifying the Linux kernel[edit | edit source]
Prerequisites:
Template:Highlight
☐ configure the Linux kernel
☐ cross-compile the Linux kernel
☐ deploy the Linux kernel (that is, update the software on board)
You can refer to the following simple examples:
- Modification of the kernel configuration
- Modification of the device tree
- Modification of a built-in device driver
- Modification of an external in-tree module
- Adding an external out-of-tree Linux kernel module
1.2. Adding Linux user space applications[edit | edit source]
Prerequisites:
- the SDK is installed
- the SDK is started up
Once a suitable cross-toolchain (OpenSTLinux SDK) is installed, it is easy to develop a project outside of the OpenEmbedded build system.
There are different ways to use the SDK toolchain directly, among which Makefile and Autotools.
Whatever the method, it relies on:
- the sysroot that is associated with the cross-toolchain, and that contains the header files and libraries needed for generating binaries (see target sysroot)
- the environment variables created by the SDK environment setup script (see SDK startup)
You can refer to the following simple example:
1.3. Modifying the U-Boot[edit | edit source]
Prerequisites:
Template:Highlight
☐ cross-compile the U-Boot
☐ deploy the U-Boot (that is, update the software on board)
You can refer to the following simple example:
1.4. Modifying the TF-A[edit | edit source]
Prerequisites:
Template:Highlight
☐ cross-compile the TF-A
☐ deploy the TF-A (that is, update the software on board)
You can refer to the following simple example:
1.5. Modifying the OP-TEE[edit | edit source]
Prerequisites:
Template:Highlight
☐ cross-compile the OP-TEE
☐ deploy the OP-TEE (that is, update the software on board)
You can refer to the following simple example: