Open main menu

DAVE Developer's Wiki β

Changes

Limitations of traditional configurations
The following list recaps the typical requirements that such systems must meet. This list has been compiled on the base of real world use cases (specifically medical, transportation, automation and telecom applications):
* <div id="REQ1">REQ1</div> ''realReal-time and non real-time tasks integration'': on On the same physical component it is required that non real-time and real-time worlds coexist; this allows overall design simplification, BOM reduction and tighter integration.* <div id="REQ2">REQ2</div> the The non real-time world - denoted as W2 in the rest of the document - is based on a well-known operating system such as linux; this operating system is also denote as GPOS (general purpose operating system).* <div id="REQ3">REQ3</div> the The real-time world - denoted as W1 in the rest of the document - is based on a RTOS or a bare metal executable.* <div id="REQ4">REQ4</div> ''interInter-world communication and data sharing'': the two worlds must have the capability to:
*# communicate via asynchronous mechanisms
*# share data
* <div id="REQ5">REQ5</div> ''integrityIntegrity'': W1 - also known as ''Secure world'' or ''Trust world'' - must guarantee a high reliability level, no matter how the other world behaves; in other words, W1 can not be altered by any kind of actions taken by the code executed in W2 (also called ''Non-secure world'' or ''Non-trust world'').* <div id="REQ6">REQ6</div> ''boot Boot order'': W1 must be the first world to come up.* <div id="REQ7">REQ7</div> ''masterMaster-slave relationship'': once the system has completed boot process, a master-slave relationship must be established between W1 and W2, in the sense that W1 must have complete control of W2 world (for instance W1 must be able to force the complete reboot of the GPOS.* <div id="REQ8">REQ8</div> ''L2 cache enabling on W2 side'': Basic AMP configurations does not support L2 cache. Generally speaking, this is not an issue on W1 side where typical code and data footprints are relatively limited. This is not true for W2 world: in case L2 is not available, Linux in order to achieve, L2 cache must be enabled (at least) on.
The traditional AMP<ref name="AN-BELK-001"></ref> configuration satisfies REQ1 through REG4. REQ5 through RE7 are not satisfied instead. About integrity, for example, an application with ''root'' privileges or code executed in linux kernel space could access memory regions that are supposed to be exclusively accessed by code executed in W1. This may lead to unpredictable behaviors and to potentially catastrophic consequences. This is where TrustZone technology comes to help: it creates a sort of barrier between the two worlds and prevents W2 code from unauthorized accesses to certain regions of the processor's addressing space.
4,650
edits