Difference between revisions of "OpenSTLinux architecture overview"

[unchecked revision] [quality revision]
m
m
 

The OpenSTLinux distribution encompasses the following components:

  • The OpenSTLinux BSP that offers services, to the application frameworks in the same context, from:
    • The boot chain based on TF-A and U-Boot
    • The OP-TEE secure OS running on the Cortex-A in secure mode
    • The Linux® kernel running on the Arm® Cortex®-A in non-secure mode
  • The Application frameworks that rely on the services provided by the OpenSTLinux BSP, to provide particular functionalities (code libraries, APIs, tool sets...) to facilitate the development of software applications:
    • The Linux application frameworks (aka Linux middlewares) running on the user space of the Linux OS: e.g. libusb C library for a generic access to USB devices, ALSA user-space bundle for audio functionalities, GStreamer multimedia framework...
    • The UOP-Boot TEE application frameworks (not shown in the diagram), as part of the boot chain running on the user space of the secure OS: e.g. configuration scripts
    On OP-TEE side, the
    • TEE Internal core API for the development of Trusted Applications (TA)
    relies on the OP-TEE core for secrets operations (not visible from the Linux and STM32Cube MPU Package)
    • The U-Boot application frameworks: e.g. configuration scripts

The figure below is clickable so that the user can directly jump to one of the sub-levels listed above.

Zoom out to STM32MPU Embedded Software


OP-TEE overview OP-TEE overview TF-A overview U-Boot overview STM32MP15 Linux kernel overview Boot chain overview OpenSTLinux BSP architecture overview Linux application frameworks overview
OpenSTLinux architecture overview



The '''OpenSTLinux distribution''' encompasses the following components:
* The '''OpenSTLinux BSP''' that offers services, to the application frameworks in the same context, from:
** The '''boot chain''' based on '''TF-A''' and '''U-Boot'''
** The '''OP-TEE secure OS''' running on the Cortex-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''' that rely on the services provided by the OpenSTLinux BSP, to provide particular functionalities (code libraries, APIs, tool sets...) to facilitate the development of software applications:
** The '''Linux application frameworks''' (aka Linux middlewares) running on the user space of the Linux OS: e.g. libusb C library for a generic access to USB devices, ALSA user-space bundle for audio functionalities, GStreamer multimedia framework...
** The '''U-BootOP-TEE application frameworks''' (not shown in the diagram), as part of the boot chain: e.g. configuration scripts
* 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)
running on the user space of the secure OS: e.g. TEE Internal core API for the development of Trusted Applications (TA)
** The '''U-Boot application frameworks''': e.g. configuration scripts
The figure below is clickable so that the user can directly jump to one of the sub-levels listed above.<br>


[[File: STM32MPU Embedded Software architecture overview.png|link=STM32MPU Embedded Software architecture overview|thumb|Zoom out to STM32MPU Embedded Software]]<onlyinclude>

{{ImageMap|Image: OpenSTLinux architecture overview.png{{!}} frame {{!}} center {{!}} OpenSTLinux architecture overview
rect 40 62 137 123 [[OP-TEE overview]]
rect 40 229 137 286 [[OP-TEE overview]]
rect 144 229 239 286 [[TF-A overview]]
rect 260 229 356 286 [[U-Boot overview]]
rect 364 229 461 287 [[STM32MP15 Linux kernel overview]]
poly 255 203 359 203 359 289 140 289 140 224 255 224 [[Boot_chain_overview|Boot chain overview]]
rect 32 198 469 296 [[OpenSTLinux BSP architecture overview]]
rect 364 62 461 121 [[Linux application frameworks overview]]
}}</onlyinclude>
{{ReviewsComments|-- [[User:Gerald Baeza|Gerald Baeza]] ([[User talk:Gerald Baeza|talk]]) 14:30, 5 March 2021 (CET)<br />Remove OP-TEE application framework (there is nothing here) and corresponding clickable area}} <noinclude>

{{PublicationRequestId | 5963 | 2018-01-25 | AlainF}}
[[Category:Architecture overview|02]]</noinclude>
Line 6: Line 6:
 
* The '''Application frameworks''' that rely on the services provided by the OpenSTLinux BSP, to provide particular functionalities (code libraries, APIs, tool sets...) to facilitate the development of software applications:
 
* The '''Application frameworks''' that rely on the services provided by the OpenSTLinux BSP, to provide particular functionalities (code libraries, APIs, tool sets...) to facilitate the development of software applications:
 
** The '''Linux application frameworks''' (aka Linux middlewares) running on the user space of the Linux OS: e.g. libusb C library for a generic access to USB devices, ALSA user-space bundle for audio functionalities, GStreamer multimedia framework...
 
** The '''Linux application frameworks''' (aka Linux middlewares) running on the user space of the Linux OS: e.g. libusb C library for a generic access to USB devices, ALSA user-space bundle for audio functionalities, GStreamer multimedia framework...
** The '''OP-TEE application frameworks''' running on the user space of the secure OS: e.g. TEE Internal core API for the development of Trusted Applications (TA)
+
** The '''U-Boot application frameworks''' (not shown in the diagram), as part of the boot chain: e.g. configuration scripts
** The '''U-Boot application frameworks''': e.g. configuration scripts
+
* 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 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>
Line 14: Line 14:
 
<onlyinclude>
 
<onlyinclude>
 
{{ImageMap|Image: OpenSTLinux architecture overview.png{{!}} frame {{!}} center {{!}} OpenSTLinux architecture overview
 
{{ImageMap|Image: OpenSTLinux architecture overview.png{{!}} frame {{!}} center {{!}} OpenSTLinux architecture overview
rect 40 62 137 123 [[OP-TEE overview]]
 
 
rect 40 229 137 286 [[OP-TEE overview]]
 
rect 40 229 137 286 [[OP-TEE overview]]
 
rect 144 229 239 286 [[TF-A overview]]
 
rect 144 229 239 286 [[TF-A overview]]
Line 24: Line 23:
 
}}
 
}}
 
</onlyinclude>
 
</onlyinclude>
{{ReviewsComments|-- [[User:Gerald Baeza|Gerald Baeza]] ([[User talk:Gerald Baeza|talk]]) 14:30, 5 March 2021 (CET)<br />Remove OP-TEE application framework (there is nothing here) and corresponding clickable area}}
 
 
<noinclude>
 
<noinclude>
 
{{PublicationRequestId | 5963 | 2018-01-25 | AlainF}}
 
{{PublicationRequestId | 5963 | 2018-01-25 | AlainF}}
 
[[Category:Architecture overview|02]]
 
[[Category:Architecture overview|02]]
 
</noinclude>
 
</noinclude>