diff --git a/documentation/user_manual/corstone1000.rst b/documentation/user_manual/corstone1000.rst new file mode 100644 index 0000000000000000000000000000000000000000..18a0a3d63e508acf0ed520b5ba433fbbe7d1a587 --- /dev/null +++ b/documentation/user_manual/corstone1000.rst @@ -0,0 +1,124 @@ +.. + # Copyright (c) 2023 Arm Limited or its affiliates. All rights reserved. + # + # SPDX-License-Identifier: MIT + +############################################### +Getting Started with Arm Corstone-1000 for MPS3 +############################################### + +This document explains how to boot the Cassini distro on the Arm Corstone-1000 for MPS3. + +**NOTE:** We require a micro SD card (4GB) and USB drive (32 GB) + + +Prepare the firmware image for FPGA (Micro SD card) +--------------------------------------------------- + +The user should download the FPGA bit file image from `this link `__ +and under the section ``AN550: Arm® Corstone™-1000 for MPS3``. + +Only copy the current directory structure shown below on to the Micro SD Card. + +.. code-block:: console + + MB + ├── BRD_LOG.TXT + ├── HBI0309B + │ ├── AN550 + │ │ ├── AN550_v1.bit + │ │ ├── an550_v1.txt + │ │ └── images.txt + │ ├── board.txt + │ └── mbb_v210.ebf + └── HBI0309C + ├── AN550 + │ ├── AN550_v1.bit + │ ├── an550_v1.txt + │ └── images.txt + ├── board.txt + └── mbb_v210.ebf + SOFTWARE + ├── ES0.bin + ├── SE.bin + └── an550_st.axf + config.txt + + +Depending upon the MPS3 board version (printed on the MPS3 board HBI0309B or HBI0309C) you should +update the ``./AN550/images.txt`` file so that the file points to the images under SOFTWARE directory. + +Here is an example + +.. code-block:: console + + ;************************************************ + ; Preload port mapping * + ;************************************************ + ; PORT 0 & ADDRESS: 0x00_0000_0000 QSPI Flash (XNVM) (32MB) + ; PORT 0 & ADDRESS: 0x00_8000_0000 OCVM (DDR4 2GB) + ; PORT 1 Secure Enclave (M0+) ROM (64KB) + ; PORT 2 External System 0 (M3) Code RAM (256KB) + ; PORT 3 Secure Enclave OTP memory (8KB) + ; PORT 4 CVM (4MB) + ;************************************************ + + [IMAGES] + TOTALIMAGES: 2 ;Number of Images (Max: 32) + + IMAGE0PORT: 1 + IMAGE0ADDRESS: 0x00_0000_0000 + IMAGE0UPDATE: RAM + IMAGE0FILE: \SOFTWARE\bl1.bin + + IMAGE1PORT: 0 + IMAGE1ADDRESS: 0x00_00010_0000 + IMAGE1UPDATE: AUTOQSPI + IMAGE1FILE: \SOFTWARE\cs1000.bin + +The binaries are present in OUTPUT_DIR = ``<_workspace>/build/tmp/deploy/images/corstone1000-mps3`` directory. + +1. Copy ``bl1.bin`` from OUTPUT_DIR to SOFTWARE directory of the Micro SD card. +2. Copy ``corstone1000-image-corstone1000-mps3.wic.nopt`` from OUTPUT_DIR directory to SOFTWARE + directory of the Micro SD card and rename the wic image to ``cs1000.bin``. + +**NOTE:** Renaming of the images are required because MCC firmware has +limitation of 8 characters before .(dot) and 3 characters after .(dot). + + +Prepare the distro image for FPGA (USB image) +--------------------------------------------- + +Use the ``lsblk`` command to determine USB drive and bmap tool to copy the cassini distro to it. + +.. code-block:: console + + lsblk + sudo bmaptool copy --bmap cassini-image-base-corstone1000-mps3.wic.bmap cassini-image-base-corstone1000-mps3.wic /dev/ + + +Running the software on FPGA +---------------------------- + +Insert SD card and USB drive before switching ON the device. + +On the host machine, connect the board via USB and open 3 minicom sessions. +In case of Linux machine it will be ttyUSB0, ttyUSB1, ttyUSB2 and it might +be different on Windows machine. + + - ttyUSB0 for MCC, OP-TEE and Secure Partition + - ttyUSB1 for Boot Processor (Cortex-M0+) + - ttyUSB2 for Host Processor (Cortex-A35) + +Run following commands to open minicom sessions on Linux each on new terminal: + +.. code-block:: console + + sudo picocom -b 115200 /dev/ttyUSB0 + sudo picocom -b 115200 /dev/ttyUSB1 + sudo picocom -b 115200 /dev/ttyUSB2 + +Once the system boot is completed, you should see console +logs on the minicom sessions. Once the HOST(Cortex-A35) is +booted completely, user can login to the shell using +**"root"** login. diff --git a/documentation/user_manual/index.rst b/documentation/user_manual/index.rst index cda51e2e69b3ee7e305a0eccaf1790c34c769bde..cf1a84e6bd45d3c3db6ffbba4d6293c577d2d341 100644 --- a/documentation/user_manual/index.rst +++ b/documentation/user_manual/index.rst @@ -1,5 +1,5 @@ .. - # Copyright (c) 2022 Arm Limited or its affiliates. All rights reserved. + # Copyright (c) 2022-2023 Arm Limited or its affiliates. All rights reserved. # # SPDX-License-Identifier: MIT @@ -11,3 +11,4 @@ User Manual :maxdepth: 1 build + corstone1000