MPS3

MPS3 users can jump to here .

Run the software on Corstone-1000 FVP

When the build is complete, run the image on the FVP:

    

        
        
            meta-arm/scripts/runfvp --terminals=xterm build/tmp/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.fvpconf
        
    

When the boot sequence is complete, you will be presented with a login prompt.

    

        
        corstone1000-fvp login:

        
    

Login as root, and proceed as you wish. For example:

    

        
        
            uname -a
        
    

will return similar to:

    

        
        Linux corstone1000-fvp 6.1.20-yocto-standard #1 SMP PREEMPT Sat Mar 18 02:48:04 UTC 2023 aarch64 GNU/Linux

        
    

Run software on MPS3 AN550

When the MPS3 build is complete, the generated binaries can be found in this directory:

    

        
        
            /build/tmp/deploy/images/corstone1000-mps3
        
    

The files of interest are:

    

        
        
            bl1.bin
es_flashfw.bin
corstone1000-image-corstone1000-<timestamp>-mps3.wic.nopt
        
    

Because of the 8.3 naming convention of MPS3, you must rename latter files:

    

        
        
            mv es_flashfw.bin es0.bin
mv corstone1000-image-corstone1000-<timestamp>-mps3.wic.nopt cs1000.bin
        
    

Set up MPS3

It is recommended to prepare files to be uploaded to MPS3 on local machine, rather than directly on MPS3.

Download AN550 and unzip locally. If you wish to preserve the original, copy the contents of Boardfiles to a new directory.

Copy binaries

Navigate to Boardfiles\SOFTWARE. Delete any files therein, and copy the above three binaries there.

    

        
        bl1.bin
es0.bin
cs1000.bin

        
    

Create new image.txt

Navigate to Boardfiles\MB\HBI0309C. Delete (or rename) the existing image.txt file, and create a new one containing the following.

    

        
        
            [IMAGES]
TOTALIMAGES: 3      ;Number of Images (Max: 32)

IMAGE0PORT: 1
IMAGE0ADDRESS: 0x00_0000_0000
IMAGE0UPDATE: RAM
IMAGE0FILE: \SOFTWARE\bl1.bin

IMAGE1PORT: 0
IMAGE1ADDRESS: 0x00_0010_0000
IMAGE1UPDATE: AUTOQSPI
IMAGE1FILE: \SOFTWARE\cs1000.bin

IMAGE2PORT: 2
IMAGE2ADDRESS: 0x00_0000_0000
IMAGE2UPDATE: RAM
IMAGE2FILE: \SOFTWARE\es0.bin
        
    

Leave all other files as before.

Connect MPS3 to local machine

Power-on MPS3, and connect to local machine via USB.

Four COM ports will be created, and enumerated, for example COM0-COM3. The exact numbers will depend on the host machine, but will always be in this order (COM(n+0)-COM(n+3)).

Connect to the lowest numbered port (COM0) with a serial terminal, such as PuTTY, and observe the boot sequence from whatever was previously programmed on the board.

Recommend to also connect to COM1 and COM2.

AttributeSetting
Baud115200
Data8b
Stop-bits1
ParityNone
FlowNone
New lineCR (COM0)
LF (COM1-3)

Reprogram MPS3

When the board boots, it should be visible as a local drive named V2M-MPS3.

Delete all contents therein, and replace with new contents of the above Boardfiles directory.

If you have issues with this, you can also manually remove the micro-SD card from the board and reprogram directly with a suitable card reader.

Reboot the board, either by power-cycling, or using the reboot command on the terminal. The FPGA will be updated and the software stack will be executed.

Observe the steps of the secure boot process reported on the Secure Enclave (SE) UART (COM1), and Linux on the SSE-710 UART (COM2). All components outside of the enclave are considered as less trustworthy. It is only after verification that the host is taken out of reset.

After a few minutes you will see login terminal on the SSE-710 UART (COM2).

    

        
        corstone1000-mps3 login:

        
    

Login as root, and proceed as you wish. For example:

    

        
        
            uname -a
        
    

will return similar to:

    

        
        Linux corstone1000-mps3 6.1.20-yocto-standard #1 SMP PREEMPT Sat Mar 18 02:48:04 UTC 2023 aarch64 GNU/Linux

        
    

Further reading

You have run Trusted Firmware on the Corstone-1000 FVP and/or MPS3.

Refer to the Trusted Firmware-M User Guide for complete documentation.

Back
Next