1Corstone SSE-310 with Ethos-U55 Example Subsystem for Arm Virtual Hardware 2========================================================================== 3 4Introduction 5------------ 6 7Corstone-310 (formerly Corstone-Polaris) is an Arm reference subsystem for 8secure System on Chips containing an Armv8.1-M Cortex-M85 processor and an 9Ethos-U55 neural network processor. It is an MPS3 based platform with the 10usual MPS3 peripherals. 11 12This platform port supports all TF-M regression tests (Secure and Non-secure) 13with Isolation Level 1 and 2. 14 15Building TF-M 16------------- 17 18Follow the instructions in :doc:`Building instructions </building/tfm_build_instruction>`. 19Build instructions with platform name: arm/mps3/corstone310/fvp 20 21``-DTFM_PLATFORM=arm/mps3/corstone310/fvp`` 22 23.. note:: 24 25 The built binaries can be run on the Corstone-310 Arm Virtual Hardware 26 (VHT_Corstone_SSE-310). At least VHT version 11.17 is required. 27 28.. note:: 29 30 This platform support does not provide software for Ethos-U55 IP, only 31 contains base address and interrupt number for it. 32 33.. note:: 34 35 For Armclang compiler v6.18 or later version is required. 36 37To run the example code on Corstone-310 Ethos-U55 Arm Virtual Hardware 38---------------------------------------------------------------------- 39 40To utilize the `Arm Virtual Hardware (AVH) <https://arm-software.github.io/AVH/main/simulation/html/Using.html>`_, you will need to create an `AWS Account <https://aws.amazon.com/>`_ if you don’t already have one. 41 42Launching the instance in EC2 `(AWS on getting started) <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html>`_ 431. Go to `EC2 <https://console.aws.amazon.com/ec2/v2/>`_ in the AWS Web Console. 442. Select **Launch Instances** which will take you to a wizard for launching the instance. 45 46 1. **Choose an Amazon Machine Image** `(AMI) <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html>`_ In the Search box, type `Arm Virtual Hardware` then find the item called "Arm Virtual Hardware" that is by Arm, and press Select for that item. 47 This will raise a subscription page/pop-up titled, **Arm Virtual Hardware**. You will note that the subscription is free from Arm, but AWS does charge for the costs of the instances themselves according to the pricing chart provided. 48 49 You must select Continue if you want to move forward. 50 51 2. **Choose an Instance Type** - Select one of the instance types from the list. Keep in mind that there are charges that accrue while the instance is running. 52 From here you may select **Review and Launch** to move directly to the launch page or select **Next: Configure Instance Details** if you need to set any custom settings for this instance. 53 54 55Once you complete the wizard by initiating the instance launch you will see a page that allows you to navigate directly to the new instance. You may click this link or go back to your list of instances and find the instance through that method. 56 57Whichever way you choose find your new instance and select its instance ID to open the page to manage the instance. 58 59Connecting to the instance: 60 1. Select **Connect** to open an SSH terminal session to the instance in your browser. 61 2. Ensure the **User name** field is set to `ubuntu`. 62 3. Select the **Connect** button to open the session. This will put you in a browser window where you will have an SSH terminal window ready for your input. 63 64The TF-M can be cloned and built in the instance after connecting. 65To run the built binaries: 66 67#. Execute the following command to start VHT:: 68 69 $ VHT_Corstone_SSE-310 -a cpu0*="<path-to-build-directory>/bl2.axf" --data "<path-to-build-directory>/tfm_s_ns_signed.bin"@0x01040000 70 71#. The serial port's output can be redirected to a file with:: 72 73 $ VHT_Corstone_SSE-310 -a cpu0*="<path-to-build-directory>/bl2.axf" --data "<path-to-build-directory>/tfm_s_ns_signed.bin"@0x01040000 -C mps3_board.uart0.unbuffered_output=1 -C mps3_board.uart0.out_file="output.log" 74 75 The output should contain the following messages:: 76 77 Trying 127.0.0.1... 78 Connected to localhost. 79 Escape character is '^]'. 80 [INF] Starting bootloader 81 [INF] Beginning BL2 provisioning 82 [INF] Swap type: none 83 [INF] Swap type: none 84 [INF] Bootloader chainload address offset: 0x40000 85 [INF] Jumping to the first image slot 86 [INF] Beginning TF-M provisioning 87 [Sec Thread] Secure image initializing! 88 TF-M isolation level is:0x00000001 89 Booting TF-M v1.6.0 90 Creating an empty ITS flash layout. 91 Creating an empty PS flash layout. 92 Non-Secure system starting... 93 94 95.. note:: 96 97 Some of the messages above are only visible when ``CMAKE_BUILD_TYPE`` is set 98 to ``Debug``. 99 100-------------- 101 102*Copyright (c) 2021-2022, Arm Limited. All rights reserved.* 103