Difference between revisions of "STM32MPU Embedded Software architecture overview"

[quality revision] [quality revision]
m (Remove english corrections as this article was already reviewed by the technical writers)
(Tag: visualeditor-wikitext)
m

Template:ToBeReviewedByProductMarketing



1 STM32MPU Embedded Software overview[edit]

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 the OP-TEE side to run Trusted Applications (TA) that allow to manipulate secrets (not visible from the Linux and STM32Cube MPU Package)
      • on the Linux side to run Applications that typically interact with the user via the display, the touchscreen, etc.

ProductMarketingReviewsComments| JLD : 4Dec:Linux part running user space application (display, touchscreen, ..)}}

  • 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.

STM32CubeMP1 architecture OP-TEE overview OP-TEE overview TF-A overview U-Boot overview STM32MP15 Linux kernel overview Boot chains overview Linux application frameworks overview OpenSTLinux BSP architecture overview OpenSTLinux architecture overview Category:Platform configuration Security overview
STM32MPU Embedded Software architecture overview...
Template:WarningImageMapOverlay
OpenSTLinux OE legend.png


2 Open Source Software (OSS) philosophy[edit]

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]

<noinclude>

{{ToBeReviewedByProductMarketing}} 
{{ArticleMainWriter | GeraldB}}
{{ArticleApprovedVersion| GeraldB | NathalieS, LionelD | No previous approved version | AlainF - 26Oct'18 - 9172 | 9Jul'18}}
[[Category:Architecture overview]]
[[Category:Embedded software components|01]]</noinclude>


== STM32MPU Embedded Software overview ==
The diagram below shows [[STM32MPU Embedded Software distribution]] main components:
* The '''OpenSTLinux distribution''', running on the Arm<sup>&reg;</sup> Cortex<sup>&reg;</sup>-A, including:
** The '''OpenSTLinux BSP''' with:
*** The [[Boot_chains_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>&reg;</sup> Cortex<sup>&reg;</sup>-A in secure mode.
*** The '''Linux<sup>&reg;</sup> kernel''' running on the Arm<sup>&reg;</sup> Cortex<sup>&reg;</sup>-A in non-secure mode.
** The '''application frameworks''' are composed of middlewares relying on the BSP and providing API:
*** on the '''OP-TEE'''  side to run '''Trusted Applications (TA)''' that allow to manipulate secrets (not visible from the Linux and STM32Cube MPU Package)
*** on the '''Linux''' side to run '''Applications''' that typically interact with the user via the display, the touchscreen, etc.ProductMarketingReviewsComments| JLD : 4Dec:Linux part running user space application (display, touchscreen, ..)}}* The '''STM32Cube MPU Package''' is running on the Arm<sup>&reg;</sup> Cortex<sup>&reg;</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 />

{{ImageMap|Image: STM32MPU Embedded Software architecture overview.png{{!}} frame {{!}} center {{!}} STM32MPU Embedded Software architecture overview... <br/> {{WarningImageMapOverlay}}
rect 621 104 715 408 [[STM32CubeMP1 architecture]]
rect 157 161 253 220 [[OP-TEE overview]]
rect 157 328 253 385 [[OP-TEE overview]]
rect 260 326 356 385 [[TF-A overview]]
rect 376 326 473 385 [[U-Boot overview]]
rect 481 328 577 385 [[STM32MP15 Linux kernel overview]]
poly 372 302 476 302 476 389 258 389 258 323 372 323 [[Boot_chains_overview#STM32MP_boot_chains|Boot chains overview]]
rect 481 161 577 220 [[Linux application frameworks overview]]
rect 149 297 586 395 [[OpenSTLinux BSP architecture overview]]
rect 126 105 596 408 [[OpenSTLinux architecture overview]]
circle 60 462 33 [[:category:Platform configuration]]
circle 264 462 33 [[Security overview]]
}}
[[File:OpenSTLinux OE legend.png|center]]<br />


== 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<ref>https://en.wikipedia.org/wiki/Open-source_software</ref>.<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>[[STM32MP1 Distribution Package]]</ref>, until it is merged in the targeted repository.

== References ==<references/>
Line 17: Line 17:
 
*** on the '''OP-TEE'''  side to run '''Trusted Applications (TA)''' that allow to manipulate secrets (not visible from the Linux and STM32Cube MPU Package)
 
*** on the '''OP-TEE'''  side to run '''Trusted Applications (TA)''' that allow to manipulate secrets (not visible from the Linux and STM32Cube MPU Package)
 
*** on the '''Linux''' side to run '''Applications''' that typically interact with the user via the display, the touchscreen, etc.
 
*** on the '''Linux''' side to run '''Applications''' that typically interact with the user via the display, the touchscreen, etc.
ProductMarketingReviewsComments| JLD : 4Dec:Linux part running user space application (display, touchscreen, ..)}}
 
 
* The '''STM32Cube MPU Package''' is running on the Arm<sup>&reg;</sup> Cortex<sup>&reg;</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>&reg;</sup> Cortex<sup>&reg;</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 />

Attachments

Discussions