This example is based on Trusted Firmware-M project's 'Default Configuration'. It is supplied by the Keil Musca TF-M Middleware pack v1.0.1 and requires the Keil Musca BSP version 2.0.0. Note: This example is not available in later versions of the Trusted Firmware-M pack.The example provides a bare minimum demonstration of TF-M. It:
The example consist of 4 projects. Two projects provide the secure and the non-secure images to be run on the board.Two other projects provide secure services libraries (Audit Log, Secure Storage) utilised by the Secure image.
In order to build or load a project it needs to be set as the active project in Keil.
To compile this example correctly the secure services needs to be compiled first as libraries, then the secure project as a binary, finally the non-secure.As a result of the secure build an object file with the veneers is generated which is then linked to the non-secure image.To run the example on the Musca board you need to load both the secure and non-secure images onto the board.From the 2 relevant projects just click on the Load icon to load the image. It does not matter which image is loaded first.On UART1 serial port (connected in USB port) at 115200 baudrate (8N1) the following welcome message should be seen: "[Sec Thread] Secure image initializing!"