Registered User mNo edit summary |
Registered User mNo edit summary Tag: 2017 source edit |
||
(38 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
== | <noinclude>{{ApplicableFor | ||
The diagram below shows [[ | |MPUs list=STM32MP13x, STM32MP15x, STM32MP21x, STM32MP23x, STM32MP25x | ||
* The '''OpenSTLinux distribution''', running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A, | |MPUs checklist=STM32MP13x, STM32MP15x, STM32MP21x, STM32MP23x, STM32MP25x | ||
}}</noinclude> | |||
== Yocto-based OpenSTLinux embedded software overview == | |||
The diagram below shows [[:Category:STM32MPU_Embedded_Software_distribution|Yocto-based OpenSTLinux embedded software distribution]] main components: | |||
* The '''OpenSTLinux distribution''', running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A, includes: | |||
** The '''OpenSTLinux BSP''' with: | ** The '''OpenSTLinux BSP''' with: | ||
*** The [[Boot_chain_overview|boot chain]] based on [[TF-A overview|TF-A]] and [[U-Boot overview|U-Boot]]. | *** The [[Boot_chain_overview|boot chain]] based on [[TF-A overview|TF-A BL2]] and [[U-Boot overview|U-Boot]]. | ||
*** The [[OP-TEE overview|OP-TEE ]] secure OS running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A in secure mode. | *** The secure monitor based on [[TF-A overview|TF-A BL31]] or [[STM32 MPU OP-TEE overview|OP-TEE ]] depending on Cortex<sup>®</sup>-A architecture, running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A in secure mode. | ||
*** The | *** The [[STM32 MPU OP-TEE overview|OP-TEE ]] secure OS running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A in secure mode. | ||
** The ''' | *** The [[STM32 MPU Linux kernel overview | Linux<sup>®</sup> kernel]] running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A in non-secure mode. | ||
** On '''OP-TEE''' side, the '''Trusted Applications (TA)''' relies on the OP-TEE core for secrets operations (not visible from the Linux and | ** The '''Linux middleware''' relies on the BSP to provide API to the '''Applications''' that typically interact with the user via the display, the touchscreen, etc. | ||
* The '''STM32Cube MPU Package''' | ** On '''OP-TEE''' side, the '''Trusted Applications (TA)''' relies on the OP-TEE core for secrets operations (not visible from the Linux and other software components). | ||
* The '''FwST-M Packages''' that are composed of the firmwares running on Arm<sup>®</sup> Cortex<sup>®</sup>-M ('''not available on {{MicroprocessorDevice | device=13}}''') depends on Arm<sup>®</sup> Cortex<sup>®</sup>-M architecture; it includes: | |||
** The '''STM32Cube MPU Package''' running on the Arm<sup>®</sup> Cortex<sup>®</sup>-M non secure mode: it is based on HAL drivers and middleware, like STM32 microcontrollers, completed with [[Coprocessor_management_overview|coprocessor management]] for interaction with the Cortex-A. | |||
** The [[TF-M overview|Trusted Firmware Cortex-M]] secure OS running on the Arm<sup>®</sup> Cortex<sup>®</sup>-M in secure mode: it provides local secure services to '''STM32Cube MPU Package'''. | |||
The OpenSTLinux distribution is generated with [[OpenEmbedded]] build framework : the BSP components are modified open source software components, stored on github, whereas the middleware is directly inherited from communities. See our [[#Open Source Software (OSS) philosophy | Open Source Software (OSS) philosophy]] just below for further information.<br><br> | |||
The figure below is clickable so that the user can directly jump to one of the sub-levels listed above.<br /> | The figure below is clickable so that the user can directly jump to one of the sub-levels listed above.<br /> | ||
{{ImageMap|Image: STM32MPU Embedded Software architecture overview.png{{!}} frame {{!}} center {{!}} | {{ImageMap|Image: STM32MPU Embedded Software architecture overview.png {{!}} frame {{!}} center {{!}} Yocto-based OpenSTLinux embedded software overview | ||
rect | rect 418 157 503 209 [[Linux application frameworks overview]] | ||
rect | rect 123 275 208 327 [[STM32 MPU OP-TEE overview]] | ||
rect | rect 215 275 300 327 [[TF-A overview]] | ||
rect | rect 325 275 410 327 [[U-Boot overview]] | ||
rect | rect 418 275 503 327 [[STM32 MPU Linux kernel overview]] | ||
poly | poly 212 272 322 272 322 253 413 253 413 330 212 330 [[Boot chain overview]] | ||
rect | rect 104 232 509 345 [[OpenSTLinux BSP architecture overview]] | ||
rect | rect 96 91 519 357 [[OpenSTLinux architecture overview]] | ||
rect | rect 541 152 682 345 [[:Category:STM32Cube_MPU_Packages]] | ||
circle | rect 725 275 809 327 [[TF-M overview]] | ||
rect 185 381 240 440 [[Security overview]] | |||
rect 739 381 795 440 [[Security overview]] | |||
rect 119 381 843 440 [[:Category:Arm_processors|Arm_processors]] | |||
circle 53 403 30 [[:category:Platform configuration|Platform configuration]] | |||
rect 119 440 534 462 [[STM32MP13 microprocessor]] | |||
rect 119 468 698 492 [[STM32MP15 microprocessor]] | |||
rect 119 495 844 519 [[STM32MP25 microprocessor]] | |||
}} | }} | ||
[[File:OpenSTLinux OE legend.png|center]] | [[File:OpenSTLinux OE legend.png|center]] | ||
Line 29: | Line 47: | ||
The '''Open source software''' source code is released under a license in which the copyright holder grants users the rights to study, change and distribute the software to anyone and for any purpose<ref>https://en.wikipedia.org/wiki/Open-source_software</ref>. | The '''Open source software''' source code is released under a license in which the copyright holder grants users the rights to study, change and distribute the software to anyone and for any purpose<ref>https://en.wikipedia.org/wiki/Open-source_software</ref>. | ||
<br /> | <br /> | ||
STMicroelectronics maximizes the using of open source software and contributes to those communities. Notice that, due to the software review life cycle, it can take some time before getting all developments accepted in the communities, so STMicroelectronics can also temporarily provide some source code on github<ref>[[ | STMicroelectronics maximizes the using of open source software and contributes to those communities. Notice that, due to the software review life cycle, it can take some time before getting all developments accepted in the communities, so STMicroelectronics can also temporarily provide some source code on github<ref>[[STM32MPU Distribution Package]]</ref>, until it is merged in the targeted repository. | ||
== References == | == References == | ||
Line 35: | Line 53: | ||
<noinclude> | <noinclude> | ||
{{PublicationRequestId | 9172 | 2018-10-26 | AlainF}} | {{PublicationRequestId | 9172 | 2018-10-26 | AlainF}} | ||
[[Category:Architecture overview|00]] | [[Category:Architecture overview|00]] | ||
</noinclude> | </noinclude> |
Latest revision as of 11:16, 17 December 2024
1. Yocto-based OpenSTLinux embedded software overview
The diagram below shows Yocto-based OpenSTLinux embedded software distribution main components:
- The OpenSTLinux distribution, running on the Arm® Cortex®-A, includes:
- The OpenSTLinux BSP with:
- The boot chain based on TF-A BL2 and U-Boot.
- The secure monitor based on TF-A BL31 or OP-TEE depending on Cortex®-A architecture, running on the Arm® Cortex®-A in secure mode.
- The OP-TEE secure OS running on the Arm® Cortex®-A in secure mode.
- The Linux® kernel running on the Arm® Cortex®-A in non-secure mode.
- The Linux middleware relies on the BSP to provide API to the Applications that typically interact with the user via the display, the touchscreen, etc.
- On OP-TEE side, the Trusted Applications (TA) relies on the OP-TEE core for secrets operations (not visible from the Linux and other software components).
- The OpenSTLinux BSP with:
- The FwST-M Packages that are composed of the firmwares running on Arm® Cortex®-M (not available on STM32MP13x lines
) depends on Arm® Cortex®-M architecture; it includes:
- The STM32Cube MPU Package running on the Arm® Cortex®-M non secure mode: it is based on HAL drivers and middleware, like STM32 microcontrollers, completed with coprocessor management for interaction with the Cortex-A.
- The Trusted Firmware Cortex-M secure OS running on the Arm® Cortex®-M in secure mode: it provides local secure services to STM32Cube MPU Package.
The OpenSTLinux distribution is generated with OpenEmbedded build framework : the BSP components are modified open source software components, stored on github, whereas the middleware is directly inherited from communities. See our Open Source Software (OSS) philosophy just below for further information.
The figure below is clickable so that the user can directly jump to one of the sub-levels listed above.

2. Open Source Software (OSS) philosophy
The Open source software source code is released under a license in which the copyright holder grants users the rights to study, change and distribute the software to anyone and for any purpose[1].
STMicroelectronics maximizes the using of open source software and contributes to those communities. Notice that, due to the software review life cycle, it can take some time before getting all developments accepted in the communities, so STMicroelectronics can also temporarily provide some source code on github[2], until it is merged in the targeted repository.
3. References