diff --git a/documentation/introduction.rst b/documentation/introduction.rst
index d6e632585bba73e8b999f36cc75781cc67c9b21e..8d2217e61d40c47d5ed08ab8a3ab662b70384bf6 100644
--- a/documentation/introduction.rst
+++ b/documentation/introduction.rst
@@ -1,5 +1,6 @@
..
- # Copyright (c) 2022 Arm Limited or its affiliates. All rights reserved.
+ # SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its
+ # affiliates
#
# SPDX-License-Identifier: MIT
@@ -27,7 +28,7 @@ Cassini aims to facilitate the deployment of application workloads via Docker
and K3s use-case on the supported target platforms.
Instructions for achieving these use-cases are given in the
-:ref:`build `
+:ref:`build `
section, subject to relevant assumed technical knowledge as listed later in
:ref:`documentation assumptions `.
diff --git a/documentation/user_manual/build.rst b/documentation/user_manual/build.rst
index bbb18cf02b0735d79354f5541cfb0a062c6e1a20..e3d59f4a40b24fd657ad3a393d9901f73a7b8224 100644
--- a/documentation/user_manual/build.rst
+++ b/documentation/user_manual/build.rst
@@ -1,11 +1,11 @@
..
- # Copyright (c) 2022-2023 Arm Limited and/or its affiliates.
- #
+ # SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its
+ # affiliates
#
# SPDX-License-Identifier: MIT
########################################
-Build, Deploy and validate Cassini Image
+Build, Deploy and Validate Cassini Image
########################################
The recommended approach for image build setup and customization is to use the
@@ -28,15 +28,17 @@ configuration files contain default parameter settings for a Cassini distributio
build. Here, the files are briefly introduced, classified into three ordered
categories:
- * **Base Config**: Configures common software components
+ * **Base Configs**: Configures common software components
- * ``cassini.yml`` to prepare an image for the Cassini distribution.
+ * ``cassini.yml`` to build an image for the Cassini distribution.
+ * ``cassini-dev.yml`` to build a Cassini image suitable for development (e.g. allowing
+ root login without password)
+ * ``cassini-sdk.yml`` to build a Cassini image with additional tools for software development.
* **Build Modifier Configs**: Set and configure features of the Cassini
distribution
* ``tests.yml`` to include run-time validation tests into the image.
- * ``cassini-sdk.yml`` to build an SDK image for the Cassini distribution.
* ``security.yml`` to build a security-hardened Cassini distribution image.
* **Target Platform Configs**: Set the target platform
@@ -103,299 +105,24 @@ The ``meta-cassini`` repository can be downloaded using Git, via:
.. _build_label:
-*****
-Build
-*****
+****************
+Build and Deploy
+****************
-To build Cassini distribution image for the N1SDP hardware target platform:
+Refer to the platform guides instructions on how to build and deploy the Cassini images
+on supported platforms:
- .. code-block:: console
-
- kas build meta-cassini-config/kas/cassini.yml:meta-cassini-config/kas/n1sdp.yml
-
- The resulting Cassini distribution image will be produced at:
- ``build/tmp/deploy/images/n1sdp/cassini-image-base-n1sdp.*``
-
-To build Cassini distribution image with the Cassini SDK for the N1SDP
-hardware target platform:
-
- .. code-block:: console
-
- kas build meta-cassini-config/kas/cassini-sdk.yml:meta-cassini-config/kas/n1sdp.yml
-
- The resulting Cassini distribution image will be produced at:
- ``build/tmp/deploy/images/n1sdp/cassini-image-sdk-image-n1sdp.*``
-
-Cassini distribution images can be modified by adding run-time
-validation tests and security hardening to the distribution. This can be done
-by including ``meta-cassini-config/kas/tests.yml`` and
-``meta-cassini-config/kas/security.yml`` kas configuration file as a Build
-Modifier.
-
-******
-Deploy
-******
-
-Instructions for deploying a Cassini distribution image on the supported N1SDP
-hardware target platform is divided into two parts:
-
- * `Load the Image onto an USB Storage Device`_
- * `Update the N1SDP MCC Configuration MicroSD Card`_
-
-.. note::
- As the image filenames vary depending on the base config and the SDK, the
- precise commands to deploy a Cassini distribution image vary. The following
- documentation denotes required instructions with sequentially numbered
- indexes (e.g., 1, 2, ...), and distinguishes alternative instructions by
- denoting the alternatives alphabetically (e.g., A, B, ...).
-
-Load the Image onto an USB Storage Device
-=========================================
-
-Cassini distribution images are produced as files with the ``.wic.bmap`` and
-``.wic.gz`` extensions. They must first be loaded to the USB storage device, as
-follows:
-
-1. Prepare the USB storage device (minimum size of 64 GB).
-
- Identify the USB storage device using ``lsblk`` command:
-
- .. code-block:: shell
-
- lsblk
-
- This will output, for example:
-
- .. code-block:: console
-
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sdc 8:0 0 64G 0 disk
- ...
-
-.. warning::
- In this example, the USB storage device is the ``/dev/sdc`` device. As this
- may vary on different machines, care should be taken when copying and pasting
- the following commands.
-
-2. Prepare for the image copy:
-
- .. code-block:: console
-
- sudo umount /dev/sdc*
- cd build/tmp/deploy/images/n1sdp/
-
-.. warning::
- The next step will result in all prior partitions and data on the USB storage
- device being erased. Please backup before continuing.
-
-3. Flash the image onto the USB storage device using ``bmap-tools``:
-
- A. Cassini distribution image:
-
- .. code-block:: console
-
- sudo bmaptool copy --bmap cassini-image-base-n1sdp.wic.bmap cassini-image-base-n1sdp.wic.gz /dev/sdc
-
- B. Cassini-SDK distribution image:
-
- .. code-block:: console
-
- sudo bmaptool copy --bmap cassini-image-sdk-n1sdp.wic.bmap cassini-image-sdk-n1sdp.wic.gz /dev/sdc
-
-The USB storage device can then be safely ejected from the Build Host, and
-plugged into one of the USB 3.0 ports on the N1SDP.
-
-Update the N1SDP MCC Configuration MicroSD Card
-===============================================
-
-.. note::
- This process doesn't need to be performed every time the USB Storage Device
- gets updated. It is only necessary to update the MCC configuration microSD
- card when the Cassini major version changes.
-
-This guidance requires a physical connection able to be established between the
-N1SDP and a PC that can be used to interface with it, here assumed to be the
-Build Host. The instructions are as follows:
-
-1. Connect a USB-B cable between the Build Host and the DBG USB port of the
- N1SDP back panel.
-
-2. Find four TTY USB devices in the ``/dev`` directory of the Build Host, via:
-
- .. code-block:: shell
-
- ls /dev/ttyUSB*
-
- This will output, for example:
-
- .. code-block:: console
-
- /dev/ttyUSB0
- /dev/ttyUSB1
- /dev/ttyUSB2
- /dev/ttyUSB3
-
- By default the four ports are connected to the following devices:
- - ttyUSB Motherboard Configuration Controller (MCC)
- - ttyUSB Application processor (AP)
- - ttyUSB System Control Processor (SCP)
- - ttyUSB Manageability Control Processor (MCP)
-
- In this guide the ports are:
- - ttyUSB0: MCC
- - ttyUSB1: AP
- - ttyUSB2: SCP
- - ttyUSB3: MCP
-
- The ports are configured with the following settings:
- - 115200 Baud
- - 8N1
- - No hardware or software flow support
-
-3. Connect to the N1SDP's MCC console. Any terminal applications such as
- ``putty``, ``screen`` or ``minicom`` will work. The ``screen`` utility is
- used in the following command:
-
- .. code-block:: shell
-
- sudo screen /dev/ttyUSB0 115200
-
-4. Power-on the N1SDP via the power supply switch on the N1SDP tower. The MCC
- window will be shown. Type the following command at the ``Cmd>`` prompt to
- see MCC firmware version and a list of commands:
-
- .. code-block:: console
-
- ?
-
- This will output, for example:
-
- .. code-block:: console
-
- Arm N1SDP MCC Firmware v1.0.1
- Build Date: Sep 5 2019
- Build Time: 14:18:16
- + command ------------------+ function ---------------------------------+
- | CAP "fname" [/A] | captures serial data to a file |
- | | [/A option appends data to a file] |
- | FILL "fname" [nnnn] | create a file filled with text |
- | | [nnnn - number of lines, default=1000] |
- | TYPE "fname" | displays the content of a text file |
- | REN "fname1" "fname2" | renames a file 'fname1' to 'fname2' |
- | COPY "fin" ["fin2"] "fout"| copies a file 'fin' to 'fout' file |
- | | ['fin2' option merges 'fin' and 'fin2'] |
- | DEL "fname" | deletes a file |
- | DIR "[mask]" | displays a list of files in the directory |
- | FORMAT [label] | formats Flash Memory Card |
- | USB_ON | Enable usb |
- | USB_OFF | Disable usb |
- | SHUTDOWN | Shutdown PSU (leave micro running) |
- | REBOOT | Power cycle system and reboot |
- | RESET | Reset Board using CB_nRST |
- | DEBUG | Enters debug menu |
- | EEPROM | Enters eeprom menu |
- | HELP or ? | displays this help |
- | |
- | THE FOLLOWING COMMANDS ARE ONLY AVAILABLE IN RUN MODE |
- | |
- | CASE_FAN_SPEED "SPEED" | Choose from SLOW, MEDIUM, FAST |
- | READ_AXI "fname" | Read system memory to file 'fname' |
- | "address" | from address to end address |
- | "end_address" | |
- | WRITE_AXI "fname" | Write file 'fname' to system memory |
- | "address" | at address |
- +---------------------------+-------------------------------------------+
-
-5. In the MCC window at the ``Cmd>`` prompt, enable USB via:
-
- .. code-block:: console
-
- USB_ON
-
-6. Mount the N1SDP's internal microSD card over the DBG USB connection to the
- Build Host and copy the required files.
-
- The microSD card is visible on the Build Host as a disk device after issuing
- the ``USB_ON`` command in the MCC console, as performed in the previous step.
- This can be found using the ``lsblk`` command:
-
- .. code-block:: shell
-
- lsblk
-
- This will output, for example:
-
- .. code-block:: console
-
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sdb 8:0 0 2G 0 disk
- └─sdb1 8:1 0 2G 0 part
-
- .. warning::
- In this example, the ``/dev/sdb1`` partition is being mounted. As this
- may vary on different machines, care should be taken when copying and
- pasting the following commands.
-
- Mount the device and check its contents:
-
- .. code-block:: console
-
- sudo umount /dev/sdb1
- sudo mkdir -p /tmp/sdcard
- sudo mount /dev/sdb1 /tmp/sdcard
- ls /tmp/sdcard
-
- This should output, for example:
-
- .. code-block:: console
-
- config.txt ee0316a.txt LICENSES LOG.TXT MB SOFTWARE
-
-7. Wipe the mounted microSD card, then extract the contents of
- ``n1sdp-board-firmware_primary.tar.gz`` onto it:
-
- .. code-block:: console
-
- sudo rm -rf /tmp/sdcard/*
- sudo tar --no-same-owner -xf \
- build/tmp/deploy/images/n1sdp/n1sdp-board-firmware_primary.tar.gz -C \
- /tmp/sdcard/ && sync
- sudo umount /tmp/sdcard
- sudo rmdir /tmp/sdcard
-
- .. note::
- If the N1SDP board was manufactured after November 2019 (Serial Number
- greater than ``36253xxx``), a different PMIC firmware image must be used to
- prevent potential damage to the board. More details can be found in
- `Potential firmware damage notice`_. The ``MB/HBI0316A/io_v123f.txt`` file
- located in the microSD needs to be updated. To update it, set the PMIC image
- (``300k_8c2.bin``) to be used in the newer models by running the following
- commands on the Build Host:
-
- .. code-block:: console
-
- sudo umount /dev/sdb1
- sudo mkdir -p /tmp/sdcard
- sudo mount /dev/sdb1 /tmp/sdcard
- sudo sed -i '/^MBPMIC: pms_0V85.bin/s/^/;/g' /tmp/sdcard/MB/HBI0316A/io_v123f.txt
- sudo sed -i '/^;MBPMIC: 300k_8c2.bin/s/^;//g' /tmp/sdcard/MB/HBI0316A/io_v123f.txt
- sudo umount /tmp/sdcard
- sudo rmdir /tmp/sdcard
+ * :ref:`Getting Started with the N1SDP `
+ * :ref:`Getting Started with Arm Corstone-1000 for MPS3 `
+ * :ref:`Getting Started with Arm Corstone-1000 FVP `
***
Run
***
To run the deployed Cassini distribution image, simply boot the target platform.
-For example, on the MCC console accessed via the connected machine described in
-`Deploy`_, reset the target platform and boot into the deployed Cassini
-distribution image via:
-
- .. code-block:: console
-
- REBOOT
-The resulting Cassini distribution image can be logged into as ``cassini`` user.
+The Cassini distribution image can be logged into as ``cassini`` user.
The distribution can then be used for deployment and orchestration of
application workloads in order to achieve the desired use-cases.
diff --git a/documentation/user_manual/corstone1000.rst b/documentation/user_manual/corstone1000.rst
index 695c6da696ea8daed94513b6410cd89417ea62f9..bcb1e37e8fbf65d9e9aa98c865a196a1d833d718 100644
--- a/documentation/user_manual/corstone1000.rst
+++ b/documentation/user_manual/corstone1000.rst
@@ -1,6 +1,6 @@
..
- # Copyright (c) 2023 Arm Limited and/or its affiliates.
- #
+ # SPDX-FileCopyrightText: Copyright 2023 Arm Limited and/or its
+ # affiliates
#
# SPDX-License-Identifier: MIT
@@ -8,13 +8,39 @@
Getting Started with Arm Corstone-1000 for MPS3
###############################################
-This document explains how to boot the Cassini distro on the Arm Corstone-1000 for MPS3.
+This document explains how to build, deploy, and boot the Cassini distro on the
+Arm Corstone-1000 for MPS3.
-**NOTE:** We require a micro SD card (4GB) and USB drive (32 GB)
+**NOTE:** Requires a micro SD card (at least 4 GB) and a USB drive (at
+least 16 GB)
+*****
+Build
+*****
+The kas configuration file ``meta-cassini-config/kas/corstone1000-mps3.yml``
+can be used to build images which target the Corstone-1000 for MPS3.
+
+********************
+Building MPS3 images
+********************
+
+To build Corstone-1000 MPS3 images:
+
+ .. code-block:: console
+
+ kas build --update meta-cassini-config/kas/cassini.yml:meta-cassini-config/kas/corstone1000-mps3.yml
+
+This will produce a Corstone-1000 firmware image here:
+ ``build/tmp-firmware/deploy/images/corstone1000-mps3/corstone1000-image-corstone1000-mps3.wic.nopt``
+
+And a Cassini distribution image here:
+ ``build/tmp/deploy/images/corstone1000-mps3/cassini-image-base-corstone1000-mps3.wic``
+ ``build/tmp/deploy/images/corstone1000-mps3/cassini-image-base-corstone1000-mps3.wic.bmap``
+
+***************************************************
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``.
@@ -86,9 +112,9 @@ The binaries are present in OUTPUT_DIR = ``<_workspace>/build/tmp/deploy/images/
**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.
@@ -98,20 +124,29 @@ Use the ``lsblk`` command to determine USB drive and bmap tool to copy the cassi
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.
+On the host machine, connect the board via USB.
+
+If there are no other TTY USB devices, then the three ports from the MPS3
+will be connected as follows:
- 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:
+The rest of this guide assumes there are no other TTY USB devices on the
+host machine.
+
+Connect to the serial console(s) using any terminal client (``picocom``,
+``minicom``, or ``screen`` should all work).
+
+For example, run the following commands to open new picocom sessions for
+each port:
.. code-block:: console
@@ -119,7 +154,7 @@ Run following commands to open minicom sessions on Linux each on new terminal:
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.
+.. note::
+
+ ``sudo`` should not be required if the current user is in the
+ ``dialout`` group
diff --git a/documentation/user_manual/corstone1000fvp.rst b/documentation/user_manual/corstone1000fvp.rst
index 8d9265d8705774d4c26f73b657933cbd3a75c344..5a42d2c6b0d823d78b83a0f56bf782b55378cb02 100644
--- a/documentation/user_manual/corstone1000fvp.rst
+++ b/documentation/user_manual/corstone1000fvp.rst
@@ -1,5 +1,6 @@
..
- # Copyright (c) 2023 Arm Limited or its affiliates. All rights reserved.
+ # SPDX-FileCopyrightText: Copyright 2023 Arm Limited and/or its
+ # affiliates
#
# SPDX-License-Identifier: MIT
@@ -7,7 +8,8 @@
Getting Started with Arm Corstone-1000 FVP
##########################################
-This document explains how to boot the Cassini distro on the Arm Corstone-1000 FVP.
+This document explains how to build and boot the Cassini distro on the Arm
+Corstone-1000 FVP.
*****
Build
@@ -25,11 +27,11 @@ that are targeting the Corstone-1000 FVP.
export FVP_CORSTONE1000_EULA_ACCEPT=True
-
+*******************
Building FVP images
-===================
+*******************
-To build a Corstone-1000 FVP image:
+To build Corstone-1000 FVP images:
.. code-block:: console
@@ -42,14 +44,15 @@ Or if using kas-container:
kas-container --runtime-args "-e FVP_CORSTONE1000_EULA_ACCEPT=True" build \
meta-cassini-config/kas/cassini.yml:meta-cassini-config/kas/corstone1000-fvp.yml
-***
-Run
-***
+This will produce a Corstone-1000 firmware image here:
+ ``build/tmp-firmware/deploy/images/corstone1000-fvp/corstone1000-image-corstone1000-fvp.wic.nopt``
-The resulting Cassini distribution image can be logged into as ``root`` user.
+And a Cassini distribution image here:
+ ``build/tmp/deploy/images/corstone1000-fvp/cassini-image-base-corstone1000-fvp.wic``
+***************
Running the FVP
-===============
+***************
To start the FVP and get the console:
diff --git a/documentation/user_manual/index.rst b/documentation/user_manual/index.rst
index f7b7ae21717ea9dd68db9c77bbbf1d70a506ce29..f8a34f1b15d33f470ccd3fa1146ac7a7bf17e295 100644
--- a/documentation/user_manual/index.rst
+++ b/documentation/user_manual/index.rst
@@ -1,6 +1,6 @@
..
- # Copyright (c) 2022-2023 Arm Limited and/or its affiliates.
- #
+ # SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its
+ # affiliates
#
# SPDX-License-Identifier: MIT
@@ -12,5 +12,6 @@ User Manual
:maxdepth: 1
build
+ n1sdp
corstone1000
corstone1000fvp
diff --git a/documentation/user_manual/n1sdp.rst b/documentation/user_manual/n1sdp.rst
new file mode 100644
index 0000000000000000000000000000000000000000..85c6f030df5ef9a0b1824feb9d53b12b53ac0be4
--- /dev/null
+++ b/documentation/user_manual/n1sdp.rst
@@ -0,0 +1,270 @@
+..
+ # SPDX-FileCopyrightText: Copyright 2023 Arm Limited and/or its
+ # affiliates
+ #
+ # SPDX-License-Identifier: MIT
+
+##############################
+Getting Started with the N1SDP
+##############################
+
+This document explains how to build, deploy, and boot the Cassini distro on the
+Arm Neoverse N1 System Development Platform (N1SDP).
+
+**NOTE:** Requires a micro SD card (2 GB) and a USB drive (at least 16 GB)
+
+*********************
+Building N1SDP images
+*********************
+
+The kas configuration file ``meta-cassini-config/kas/n1sdp.yml`` can be used to
+build images which target the N1SDP. To build N1SDP images:
+
+.. code-block:: console
+
+ kas build --update meta-cassini-config/kas/cassini.yml:meta-cassini-config kas/n1sdp.yml
+
+This will produce an N1SDP firmware image here:
+ ``build/tmp/deploy/images/n1sdp/n1sdp-board-firmware_primary.tar.gz``
+
+And a Cassini distribution image here:
+ ``build/tmp/deploy/images/n1sdp/cassini-image-base-n1sdp.wic.gz``
+ ``build/tmp/deploy/images/n1sdp/cassini-image-base-n1sdp.wic.bmap``
+
+***********************
+Connecting to the N1SDP
+***********************
+
+1. Connect a USB cable between the build host and the ``DBG USB`` port on the N1SDP back panel and power on the device
+
+2. Check four new TTY USB devices are seen by the build host, via:
+
+ .. code-block:: shell
+
+ ls /dev/ttyUSB*
+
+ This will output, for example:
+
+ .. code-block:: console
+
+ /dev/ttyUSB0
+ /dev/ttyUSB1
+ /dev/ttyUSB2
+ /dev/ttyUSB3
+
+ If there are no other TTY USB devices, then the four ports on the N1SDP will be
+ connected as follows:
+
+ * ttyUSB0 Motherboard Configuration Controller (MCC)
+
+ * ttyUSB1 Application processor (AP)
+
+ * ttyUSB2 System Control Processor (SCP)
+
+ * ttyUSB3 Manageability Control Processor (MCP) (or OP-TEE and Secure Partitions)
+
+ The rest of this guide assumes there are no other TTY USB devices on the build host
+
+3. Connect to the serial console(s) using any terminal client (``picocom``, ``minicom``, or ``screen`` should all work).
+
+ All ports are configured with:
+
+ * 115200 Baud
+
+ * 8 bits, No parity, 1 stop bit (8N1)
+
+ * No hardware or software flow control
+
+ For example, run the following command to open a new picocom session for
+ the AP console:
+
+ .. code-block:: shell
+
+ sudo picocom -b 115200 /dev/ttyUSB1
+
+ .. note::
+
+ ``sudo`` should not be required if the current user is in the ``dialout`` group
+
+******************************************
+Updating the MCC firmware (Micro SD image)
+******************************************
+
+1. Follow the instructions above and connect to the MCC console i.e.
+
+ .. code-block:: shell
+
+ sudo picocom -b 115200 /dev/ttyUSB0
+
+2. In the MCC console, at the ``Cmd>`` prompt, type the following command to see MCC firmware version and a list of commands:
+
+ .. code-block:: console
+
+ ?
+
+ This will output, for example:
+
+ .. code-block:: console
+
+ Arm N1SDP MCC Firmware v1.0.1
+ Build Date: Sep 5 2019
+ Build Time: 14:18:16
+ + command ------------------+ function ---------------------------------+
+ | CAP "fname" [/A] | captures serial data to a file |
+ | | [/A option appends data to a file] |
+ | FILL "fname" [nnnn] | create a file filled with text |
+ | | [nnnn - number of lines, default=1000] |
+ | TYPE "fname" | displays the content of a text file |
+ | REN "fname1" "fname2" | renames a file 'fname1' to 'fname2' |
+ | COPY "fin" ["fin2"] "fout"| copies a file 'fin' to 'fout' file |
+ | | ['fin2' option merges 'fin' and 'fin2'] |
+ | DEL "fname" | deletes a file |
+ | DIR "[mask]" | displays a list of files in the directory |
+ | FORMAT [label] | formats Flash Memory Card |
+ | USB_ON | Enable usb |
+ | USB_OFF | Disable usb |
+ | SHUTDOWN | Shutdown PSU (leave micro running) |
+ | REBOOT | Power cycle system and reboot |
+ | RESET | Reset Board using CB_nRST |
+ | DEBUG | Enters debug menu |
+ | EEPROM | Enters eeprom menu |
+ | HELP or ? | displays this help |
+ | |
+ | THE FOLLOWING COMMANDS ARE ONLY AVAILABLE IN RUN MODE |
+ | |
+ | CASE_FAN_SPEED "SPEED" | Choose from SLOW, MEDIUM, FAST |
+ | READ_AXI "fname" | Read system memory to file 'fname' |
+ | "address" | from address to end address |
+ | "end_address" | |
+ | WRITE_AXI "fname" | Write file 'fname' to system memory |
+ | "address" | at address |
+ +---------------------------+-------------------------------------------+
+
+3. Type the following command to enable USB:
+
+ .. code-block:: console
+
+ USB_ON
+
+4. Check a new block device is seen by the build host, via:
+
+ .. code-block:: shell
+
+ lsblk
+
+ This will output, for example:
+
+ .. code-block:: console
+
+ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
+ sdb 8:0 0 2G 0 disk
+ └─sdb1 8:1 0 2G 0 part
+
+ If there are no similar block devices mounted on the build host, then it
+ should be possible to identify the Micro SD Card on the N1SDP by its' size.
+ In the output above, the Micro SD partition is clearly ``sdb1``.
+
+5. Mount the device and check its contents:
+
+ .. code-block:: console
+
+ sudo umount /dev/sdb1 &&
+ sudo mkdir -p /tmp/sdcard &&
+ sudo mount /dev/sdb1 /tmp/sdcard &&
+ ls -l /tmp/sdcard
+
+ This should output, for example:
+
+ .. code-block:: console
+
+ config.txt ee0316a.txt LIB LICENSES LOG.TXT MB
+
+ .. warning::
+
+ In this example, the ``/dev/sdb1`` partition is being mounted. As this may
+ vary on different machines, care should be taken when copying and pasting
+ the following commands. Don't proceed unless the contents of the Micro SD
+ Card were as expected in the previous step.
+
+6. Wipe the mounted microSD card, then extract the contents of ``n1sdp-board-firmware_primary.tar.gz`` onto it:
+
+ .. code-block:: console
+
+ sudo rm -rf /tmp/sdcard/* &&
+ sudo tar --no-same-owner -xf build/tmp/deploy/images/n1sdp/n1sdp-board-firmware_primary.tar.gz -C /tmp/sdcard/ &&
+ sudo sync
+
+ .. note::
+
+ If the N1SDP board was manufactured after November 2019 (Serial Number
+ greater than ``36253xxx``), a different PMIC firmware image must be used to
+ prevent potential damage to the board. More details can be found in
+ `Potential firmware damage notice`_. The ``MB/HBI0316A/io_v123f.txt`` file
+ located in the microSD needs to be updated. To update it, set the PMIC image
+ (``300k_8c2.bin``) to be used in the newer models by running the following
+ commands on the Build Host:
+
+ .. code-block:: console
+
+ sudo sed -i '/^MBPMIC: pms_0V85.bin/s/^/;/g' /tmp/sdcard/MB/HBI0316A/io_v123f.txt
+ sudo sed -i '/^;MBPMIC: 300k_8c2.bin/s/^;//g' /tmp/sdcard/MB/HBI0316A/io_v123f.txt
+ sudo sync
+
+7. Unmount the device
+
+ .. code-block:: console
+
+ sudo umount /tmp/sdcard
+ sudo rmdir /tmp/sdcard
+
+**************************************************
+Prepare the distro image for the N1SDP (USB image)
+**************************************************
+
+1. Insert the USB storage device into the build host
+
+2. Check a new block device is seen by the build host, via:
+
+ .. code-block:: shell
+
+ lsblk
+
+ This will output, for example:
+
+ .. code-block:: console
+
+ NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
+ sdb 8:0 0 2G 0 disk
+ └─sdb1 8:1 0 2G 0 part
+ sdc 8:0 0 64G 0 disk
+
+ If there are no similar block devices mounted on the build host, then it
+ should be possible to identify the USB storage device by its' size. In the
+ output above, the USB storage device is ``sdc``.
+
+ .. warning::
+
+ The next step will result in all prior partitions and data on the USB
+ storage device being erased. Take care not to confuse your host PC's own
+ hard drive with the USB drive and backup any data on the USB storage device
+ before continuing.
+
+3. Flash the image onto the USB storage device using ``bmap-tools``:
+
+ .. code-block:: shell
+
+ sudo bmaptool copy --bmap cassini-image-base-n1sdp.wic.bmap cassini-image-base-n1sdp.wic.gz /dev/
+
+ Or if deploying an SDK image
+
+ .. code-block:: console
+
+ sudo bmaptool copy --bmap cassini-image-sdk-n1sdp.wic.bmap cassini-image-sdk-n1sdp.wic.gz /dev/
+
+4. Eject the USB storage device from the build host and plug it into one of the USB 3.0 ports on the N1SDP
+
+5. Reboot the N1SDP device by power cycling it or typing the following at the MCC console
+
+ .. code-block:: console
+
+ REBOOT
diff --git a/meta-cassini-config/kas/cassini-dev.yml b/meta-cassini-config/kas/cassini-dev.yml
index f5e5a34591d6895c891d495675dfde81921ecb73..abd34e48b64bc490af0050cfdcccd91d97f173fb 100644
--- a/meta-cassini-config/kas/cassini-dev.yml
+++ b/meta-cassini-config/kas/cassini-dev.yml
@@ -1,4 +1,5 @@
-# Copyright (c) 2022 Arm Limited or its affiliates. All rights reserved.
+# SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its
+# affiliates
#
# SPDX-License-Identifier: MIT
@@ -9,9 +10,5 @@ header:
- meta-cassini-config/kas/include/cassini-base.yml
- meta-cassini-config/kas/include/dev.yml
-local_conf_header:
- cassini-dev: |
- DISTRO_FEATURES:append = " cassini-dev"
-
target:
- cassini-image-base
diff --git a/meta-cassini-config/kas/cassini-sdk.yml b/meta-cassini-config/kas/cassini-sdk.yml
index ff051f881f40af5be95ca251767c192c029c39d2..6d5baace7099ffebb7b4de8762ed90fd5024dcb7 100644
--- a/meta-cassini-config/kas/cassini-sdk.yml
+++ b/meta-cassini-config/kas/cassini-sdk.yml
@@ -1,4 +1,5 @@
-# Copyright (c) 2022 Arm Limited or its affiliates. All rights reserved.
+# SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its
+# affiliates
#
# SPDX-License-Identifier: MIT
@@ -6,7 +7,7 @@
header:
version: 11
includes:
- - meta-cassini-config/kas/cassini.yml
+ - meta-cassini-config/kas/include/cassini-base.yml
- meta-cassini-config/kas/include/sdk.yml
target:
diff --git a/meta-cassini-config/kas/include/dev.yml b/meta-cassini-config/kas/include/dev.yml
index bf4f0a9e7a74d923fa29ef8f67fd2be95f2d15a9..b11a42ed1447384031ac800dfe34bfd2f67c6708 100644
--- a/meta-cassini-config/kas/include/dev.yml
+++ b/meta-cassini-config/kas/include/dev.yml
@@ -1,4 +1,5 @@
-# Copyright (c) 2022-2023 Arm Limited or its affiliates. All rights reserved.
+# SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its
+# affiliates
#
# SPDX-License-Identifier: MIT
@@ -19,5 +20,9 @@ repos:
poky:
refspec: mickledore
+local_conf_header:
+ cassini-dev: |
+ DISTRO_FEATURES:append = " cassini-dev"
+
env:
CASSINI_VERSION: "vNext"
diff --git a/meta-cassini-config/qa-checks/cassini-dictionary b/meta-cassini-config/qa-checks/cassini-dictionary
index 3e40c8212592c887470cb3a40c567265c73556cc..a24a180d01487156b8e593d526c37cd2b6a32aea 100644
--- a/meta-cassini-config/qa-checks/cassini-dictionary
+++ b/meta-cassini-config/qa-checks/cassini-dictionary
@@ -1,11 +1,12 @@
1.0.0+rc93+git0+249bca0a13
1.1.0+git0+b9460f26b4
20.10.12+ce+git906f57f
+2gb
3.2.1+git0+ab4d0cf908
3rd
4.16+stable0+f265444922
-4gb
512kb
+8n1
aarch64
aem
api
@@ -24,6 +25,7 @@ baremetal
baremetal_architecture.png
baremetal-sdk.yml
baremetal.yml
+baud
bblayers.conf
binaries
bitbake
@@ -71,6 +73,7 @@ contributing_documentation_build_validation
corstone-1000
corstone1000
corstone1000fvp
+corstone1000-image-corstone1000-fvp.wic.nopt
corstone1000-image-corstone1000-mps3.wic.nopt
corstone1000-mps3
corstone1000-mps3.yml
@@ -91,8 +94,9 @@ developer.example.org
developer-facing
developer_manual
devicetree
-diego.sueiro
+dialout
distributions
+distro
distro_features
docker's
docs.lavasoftware.org
@@ -281,6 +285,7 @@ soafee.io
sourceforge
spdx
spdx.dev
+spdx-filecopyrighttext
spdx-license-identifier
spdx.org
spdx-specification-21-web-version
@@ -314,6 +319,7 @@ ua_test_log_dir
ubuntu
ubuntu-based
umask
+unmount
upstreamed
upto
urls