Registered User |
Registered User |
(6 intermediate revisions by 4 users not shown) |
Line 1: |
Line 1: |
| The diagram below shows [[:Category:STM32MPU Embedded Software distribution for Android|STM32MPU Embedded Software distribution for Android]] main components:
| | <noinclude>{{ApplicableFor |
| * The '''STM32MPU distribution for Android™''' running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A core. It includes:
| | |MPUs list=STM32MP15x |
| ** The '''OpenSTLinux BSP''' consisting of:
| | |MPUs checklist=STM32MP13x, STM32MP15x |
| *** The [[Boot_chains_overview|boot chain]] based on [[TF-A overview|TF-A]] and [[U-Boot overview|U-Boot]].
| | }}</noinclude> |
| *** The [[OP-TEE overview|OP-TEE ]] secure OS running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A in Secure mode.
| | {{EcosystemFlow/Archives | custom=Android | flow=v2}} |
| *** The '''Linux<sup>®</sup> kernel''' running on the Arm<sup>®</sup> Cortex<sup>®</sup>-A in Non-secure mode.
| |
| ** '''Application frameworks''' composed of middleware components relying on the BSP and providing a set of APIs:
| |
| *** '''OP-TEE''' APIs to run '''Trusted Applications (TA)''' that allow manipulating secrets (information not visible from Linux<sup>®</sup> and from the STM32Cube MPU Package)
| |
| *** '''Android''' APIs to run '''Applications''' that typically interact with the user via a display or a touchscreen.
| |
| * The '''STM32Cube MPU Package''', running on the Arm<sup>®</sup> Cortex<sup>®</sup>-M. As for STM32 MCUs, it is based on HAL drivers and middleware components and completed with a [[Coprocessor_management_overview|coprocessor management]] module.<br />
| |
| {{Warning|
| |
| {{EcosystemFlow/Archives | custom=Android | flow=v1}} | |
| }} | |
| The figure below provides an overview of the STM32MPU Embedded Software architecture. Click a sublevel block to jump to the corresponding article.<br />
| |
| | |
| {{ImageMap|Image: STM32MPU_Embedded_Software_for_Android_architecture_overview.png{{!}} 750px {{!}} thumb {{!}} center {{!}} STM32MPU Embedded Software architecture overview<br/>
| |
| rect 963 165 1116 640 [[STM32CubeMP1 architecture]]
| |
| rect 243 250 393 340 [[OP-TEE overview]]
| |
| rect 243 508 393 603 [[OP-TEE overview]]
| |
| rect 405 508 555 603 [[TF-A overview]]
| |
| rect 585 508 735 603 [[U-Boot overview]]
| |
| rect 750 508 900 603 [[STM32MP15 Linux kernel overview]]
| |
| poly 402 505 582 505 582 470 742 470 742 605 402 605 [[Boot_chains_overview#STM32MP_boot_chains|Boot chains overview]]
| |
| rect 750 250 900 340 [[Android application frameworks overview]]
| |
| rect 233 465 910 615 [[OpenSTLinux BSP architecture overview]]
| |
| circle 411 719 50 [[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 usage of open source software and contributes to open source software communities. 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 until it is merged in the targeted repository (see [[STM32MP1 Distribution Package for Android]]).
| |
| | |
| == References ==
| |
| <references/>
| |
| | |
| <noinclude> | | <noinclude> |
| | | {{NoIndex}} |
| [[Category:Architecture overview]]
| |
| [[Category:Embedded software components|02]]
| |
| [[Category:Android]] | | [[Category:Android]] |
| {{PublicationRequestId | 12871 | 2019-07-30}}
| |
| </noinclude> | | </noinclude> |