Corstone SSE-300 with Ethos-U55 Example Subsystem for MPS3 (AN552) and FVP

Building TF-M

Follow the instructions in Building instructions. Build instructions with platform name: arm/mps3/an552 -DTFM_PLATFORM=arm/mps3/an552

Note

This platform support does not provide software for Ethos-U55 IP, only contains base address and interrupt number for it.

Note

The built binaries can be run on both the Corstone-300 Ethos-U55 Ecosystem FVP (FVP_SSE300_MPS3) and Corstone SSE-300 with Ethos-U55 Example Subsystem for MPS3 (AN552). For the FVP, at least version 11.16 is required.

To run the example code on AN552

FPGA image is available to download here

To run BL2 bootloader and TF-M example application and tests in the MPS3 board, it is required to have AN552 image in the MPS3 board SD card. The image should be located in <MPS3 device name>/MB/HBI<BoardNumberBoardrevision>/AN552

The MPS3 board tested is HBI0309C.

  1. Copy bl2.bin and tfm_s_ns_signed.bin files from build dir to <MPS3 device name>/SOFTWARE/

  2. Rename tfm_s_ns_signed.bin to tfm.bin (Filename should not be longer than 8 charachters.)

  3. Open <MPS3 device name>/MB/HBI0309C/AN552/images.txt

  4. Update the images.txt file as follows:

    TITLE: Arm MPS3 FPGA prototyping board Images Configuration File
    
    [IMAGES]
    TOTALIMAGES: 2                     ;Number of Images (Max: 32)
    
    IMAGE0UPDATE: AUTO                 ;Image Update:NONE/AUTO/FORCE
    IMAGE0ADDRESS: 0x00000000          ;Please select the required executable program
    IMAGE0FILE: \SOFTWARE\bl2.bin
    IMAGE1UPDATE: AUTO
    IMAGE1ADDRESS: 0x02000000
    IMAGE1FILE: \SOFTWARE\tfm.bin
    
  5. Close <MPS3 device name>/MB/HBI0309C/AN552/images.txt

  6. Unmount/eject the <MPS3 device name> unit

  7. Reset the board to execute the TF-M example application

  8. After completing the procedure you should be able to visualize on the serial port (baud 115200 8n1) the following messages:

    [INF] Starting bootloader
    [INF] Swap type: none
    [INF] Swap type: none
    [INF] Bootloader chainload address offset: 0x0
    [INF] Jumping to the first image slot
    [Sec Thread] Secure image initializing!
    Booting TFM v1.4.0
    [Crypto] Dummy Entropy NV Seed is not suitable for production!
    Non-Secure system starting...
    

Note

Some of the messages above are only visible when CMAKE_BUILD_TYPE is set to Debug.

To run the example code on Corstone-300 Ethos-U55 Ecosystem FVP

FVP is available to download here

  1. Install the FVP

  2. Copy bl2.axf and tfm_s_ns_signed.bin files from build dir to <FVP installation path>/models/Linux64_GCC-6.4/

  3. Navigate to the same directory and execute the following command to start FVP:

    $ ./FVP_Corstone_SSE-300_Ethos-U55 -a cpu0*="bl2.axf" --data "tfm_s_ns_signed.bin"@0x01000000
    
  4. After completing the procedure you should be able to visualize on the serial port the following messages:

    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    [INF] Starting bootloader
    [INF] Swap type: none
    [INF] Swap type: none
    [INF] Bootloader chainload address offset: 0x0
    [INF] Jumping to the first image slot
    [Sec Thread] Secure image initializing!
    Booting TFM v1.4.0
    [Crypto] Dummy Entropy NV Seed is not suitable for production!
    Non-Secure system starting...
    

Note

Some of the messages above are only visible when CMAKE_BUILD_TYPE is set to Debug.


Copyright (c) 2020-2022, Arm Limited. All rights reserved.