Registered User m (Remove english corrections as this article was already reviewed by the technical writers) Tag: 2017 source edit |
Registered User |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== STM32MPU Embedded Software overview == | == STM32MPU Embedded Software overview == | ||
The diagram below shows [[STM32MPU Embedded Software distribution]] main components: | The diagram below shows [[STM32MPU Embedded Software distribution]] main components: | ||
* The '''OpenSTLinux distribution''', running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A, including: | * The '''OpenSTLinux distribution''', running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A, including: | ||
** The '''OpenSTLinux BSP''' with: | ** The '''OpenSTLinux BSP''' with: | ||
*** The [[ | *** The [[Boot_chain_overview|boot chain]] based on [[TF-A overview|TF-A]] 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 [[OP-TEE overview|OP-TEE ]] secure OS running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A in secure mode. | ||
*** The '''Linux<sup>®</sup> kernel''' running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A in non-secure mode. | *** The '''Linux<sup>®</sup> kernel''' running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A in non-secure mode. | ||
** The '''application frameworks''' are composed of middlewares relying on the BSP and providing API | ** The '''application frameworks''' are composed of middlewares relying on the BSP and providing API, on '''Linux''' side, to run '''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 STM32Cube MPU Package) | |||
** | |||
* The '''STM32Cube MPU Package''' is running on the Arm<sup>®</sup> Cortex<sup>®</sup>-M: it is based on HAL drivers and middlewares, like other STM32 microcontrollers, completed with [[Coprocessor_management_overview|coprocessor management]].<br /> | * The '''STM32Cube MPU Package''' is running on the Arm<sup>®</sup> Cortex<sup>®</sup>-M: it is based on HAL drivers and middlewares, like other STM32 microcontrollers, completed with [[Coprocessor_management_overview|coprocessor management]].<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 {{!}} STM32MPU Embedded Software architecture overview. | {{ImageMap|Image: STM32MPU Embedded Software architecture overview.png{{!}} frame {{!}} center {{!}} STM32MPU Embedded Software architecture overview. | ||
rect 621 104 715 408 [[STM32CubeMP1 architecture]] | rect 621 104 715 408 [[STM32CubeMP1 architecture]] | ||
rect 157 328 253 385 [[OP-TEE overview]] | rect 157 328 253 385 [[OP-TEE overview]] | ||
rect 260 326 356 385 [[TF-A overview]] | rect 260 326 356 385 [[TF-A overview]] | ||
rect 376 326 473 385 [[U-Boot overview]] | rect 376 326 473 385 [[U-Boot overview]] | ||
rect 481 328 577 385 [[STM32MP15 Linux kernel overview]] | rect 481 328 577 385 [[STM32MP15 Linux kernel overview]] | ||
poly 372 302 476 302 476 389 258 389 258 323 372 323 [[ | poly 372 302 476 302 476 389 258 389 258 323 372 323 [[Boot_chain_overview|Boot chain overview]] | ||
rect 481 161 577 220 [[Linux application frameworks overview]] | rect 481 161 577 220 [[Linux application frameworks overview]] | ||
rect 149 297 586 395 [[OpenSTLinux BSP architecture overview]] | rect 149 297 586 395 [[OpenSTLinux BSP architecture overview]] | ||
Line 44: | Line 33: | ||
== References == | == References == | ||
<references/> | <references/> | ||
<noinclude> | |||
{{ReviewsComments|File to be reviewed by the marketing communication team}} | |||
{{PublicationRequestId | 9172 | 2018-10-26 | AlainF}} | |||
[[Category:Architecture overview]] | |||
[[Category:Embedded software components|01]] | |||
</noinclude> |
Latest revision as of 13:07, 12 March 2021
1. STM32MPU Embedded Software overview[edit source]
The diagram below shows STM32MPU Embedded Software distribution main components:
- The OpenSTLinux distribution, running on the Arm® Cortex®-A, including:
- The OpenSTLinux BSP with:
- The boot chain based on TF-A and U-Boot.
- 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 application frameworks are composed of middlewares relying on the BSP and providing API, on Linux side, to run 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 STM32Cube MPU Package)
- The OpenSTLinux BSP with:
- The STM32Cube MPU Package is running on the Arm® Cortex®-M: it is based on HAL drivers and middlewares, like other STM32 microcontrollers, completed with coprocessor management.
The figure below is clickable so that the user can directly jump to one of the sub-levels listed above.
Template:ImageMap
2. Open Source Software (OSS) philosophy[edit source]
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[edit source]