The platform incorporates the firm’s ThreadX, NetX, USBX, FileX, GUIX, and TraceX for use with future ARMv8-M–based Cortex-M processors with TrustZone and with existing ARMv6-M– and ARMv7-M–based Cortex-M processors with MPU support.
The tools can be used for software partitioning and ThreadX can be used to protect trusted code from errors that might occur within other code while enabling the trusted code to interact with the entire system.
Express Logic’s X-Ware Secure Platform uses the Cortex-M’s MPU to assign memory range (partition) boundaries to non-trusted code, preventing such code from accessing any code or data outside of its own partition.
This prevents any errors that might be present in that code from impacting the non-trusted code itself and from impacting trusted code or the RTOS. In this manner, designated code does not have full access to the entire address space, only to code and data within its own range of addresses as defined by the MPU boundary registers.
The ARMv8-M architecture follows a similar protection process, except that the ARMv8-M is more efficient, as it provides a hardware implementation of the necessary functions.
ARMv8-M enables the RTOS to assign partition boundaries to multiple code regions, enabling non-trusted code to be “confined” to those regions and thereby prevented from accessing trusted regions or the RTOS itself.