Difference between revisions of "OpenSTLinux architecture overview"

[quality revision] [quality revision]
m
m
 
Applicable for STM32MP13x lines, STM32MP15x lines

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 OPU-TEE Boot application frameworks running on the user space of the secure OS (not shown in the diagram), as part of the boot chain: e.g. TEE Internal core API for the development of configuration scripts
  • On OP-TEE side, the Trusted Applications (TA)The U-Boot application frameworks: e.g. configuration scripts 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.

Zoom out to STM32MPU Embedded Software


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



<noinclude>{{ApplicableFor
|MPUs list=STM32MP13x, STM32MP15x
|MPUs checklist=STM32MP13x, STM32MP15x
}}</noinclude>
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 '''OP-TEEU-Boot 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''': e.g. configuration scripts
(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)
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 STM32 MPU 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]]
}}<br>
</onlyinclude>

<noinclude>

{{PublicationRequestId | 5963 | 2018-01-25 | AlainF}}
[[Category:Architecture overview|02]]</noinclude>
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
  +
<noinclude>{{ApplicableFor
  +
|MPUs list=STM32MP13x, STM32MP15x
  +
|MPUs checklist=STM32MP13x, STM32MP15x
  +
}}</noinclude>
 
The '''OpenSTLinux distribution''' encompasses the following components:
 
The '''OpenSTLinux distribution''' encompasses the following components:
 
* The '''OpenSTLinux BSP''' that offers services, to the application frameworks in the same context, from:
 
* The '''OpenSTLinux BSP''' that offers services, to the application frameworks in the same context, from:
Line 6: Line 10:
 
* 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 18:
 
<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]]
 
rect 260 229 356 286 [[U-Boot overview]]
 
rect 260 229 356 286 [[U-Boot overview]]
rect 364 229 461 287 [[STM32MP15 Linux kernel overview]]
+
rect 364 229 461 287 [[STM32 MPU Linux kernel overview]]
 
poly 255 203 359 203 359 289 140 289 140 224 255 224 [[Boot_chain_overview|Boot chain 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 32 198 469 296 [[OpenSTLinux BSP architecture overview]]
 
rect 364 62 461 121 [[Linux application frameworks overview]]
 
rect 364 62 461 121 [[Linux application frameworks overview]]
 
}}
 
}}
<br>
 
 
</onlyinclude>
 
</onlyinclude>
 
 
<noinclude>
 
<noinclude>
 
{{PublicationRequestId | 5963 | 2018-01-25 | AlainF}}
 
{{PublicationRequestId | 5963 | 2018-01-25 | AlainF}}
 
[[Category:Architecture overview|02]]
 
[[Category:Architecture overview|02]]
 
</noinclude>
 
</noinclude>