Docs: Add documentation for Musca-A1 board
This patch updates the documentation to reflect support for Musca-A1
test chip board
Signed-off-by: Avinash Mehta <avinash.mehta@arm.com>
Change-Id: I975f357903a46bb936bf831bfc4e4d8497f78016
diff --git a/docs/user_guides/tfm_build_instruction.md b/docs/user_guides/tfm_build_instruction.md
old mode 100644
new mode 100755
index 13b5b68..f7d2b34
--- a/docs/user_guides/tfm_build_instruction.md
+++ b/docs/user_guides/tfm_build_instruction.md
@@ -44,6 +44,13 @@
* The target platform can be specified by adding the
`-DTARGET_PLATFORM=<target platform name>` option to the cmake command (See
examples below.)
+* Platforms currently supported
+ * Cortex-M33 SSE-200 subsystem for MPS2+ (AN521)
+ `-DTARGET_PLATFORM=AN521`
+ * Cortex-M23 IoT Kit subsystem for MPS2+ (AN519)
+ `-DTARGET_PLATFORM=AN519`
+ * Musca-A1 test chip board (Cortex-M33 SSE-200 subsystem)
+ `-DTARGET_PLATFORM=MUSCA_A`
*Note* For all the applications we build the level 2 bootloader
diff --git a/docs/user_guides/tfm_integration_guide.md b/docs/user_guides/tfm_integration_guide.md
old mode 100644
new mode 100755
index 9fcca74..c5d0d42
--- a/docs/user_guides/tfm_integration_guide.md
+++ b/docs/user_guides/tfm_integration_guide.md
@@ -12,14 +12,17 @@
* Soft Macro Model (SMM) Cortex-M33 SSE-200 subsystem for MPS2+ (AN521)
* Cortex-M23 IoT Kit subsystem for MPS2+ (AN519)
+* Musca-A1 test chip board (Cortex-M33 SSE-200 subsystem)
The files related to the supported platforms are contained under the `platform`
subfolder. The platform specific files are under `platform/ext/target`, which is
organized by boards (e.g. `platform/ext/target/mps2`), while the folder
`platform/ext/common` is used to store source and header files which are
-platform generic.
+platform generic.
More information about subsystems supported by the MPS2+ board can be found in:
-[MPS2+ homepage](https://developer.arm.com/products/system-design/development-boards/fpga-prototyping-boards/mps2)
+[MPS2+ homepage](https://developer.arm.com/products/system-design/development-boards/fpga-prototyping-boards/mps2)
+More information about Musca-A1 test chip board can be found in:
+[Musca-A1 homepage](https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-a1-test-chip-board)
#### generic drivers and startup/scatter files
The addition of a new platform means the creation of a new subfolder inside
diff --git a/docs/user_guides/tfm_sw_requirement.md b/docs/user_guides/tfm_sw_requirement.md
old mode 100644
new mode 100755
index 2aafa38..1658a9d
--- a/docs/user_guides/tfm_sw_requirement.md
+++ b/docs/user_guides/tfm_sw_requirement.md
@@ -20,6 +20,7 @@
- pycrypto
- pyasn1
- sudo apt-get install python3-crypto python3-pyasn1
+- SRecord v1.58 (for Musca-A1 test chip board)
### Setup a shell to enable ARM Compiler v6.7.1 and cmake after installation.
@@ -47,6 +48,7 @@
- pycryptodome (pip3 install --user pycryptodome)
- pyasn1 (pip3 install --user pyasn1)
- Python3 pip
+- SRecord v1.63 (for Musca-A1 test chip board)
### Setup Cygwin to enable ARM Compiler v6.7.1 and cmake after installation.
diff --git a/docs/user_guides/tfm_user_guide.md b/docs/user_guides/tfm_user_guide.md
old mode 100644
new mode 100755
index bd5e83d..ae55159
--- a/docs/user_guides/tfm_user_guide.md
+++ b/docs/user_guides/tfm_user_guide.md
@@ -99,8 +99,6 @@
port (baud 115200 8n1) the following messages:
-At the moment BL2 bootloader together with the TF-M examples application only
-shows following:
```
[INF] Starting bootloader
[INF] Image 0: magic=good, copy_done=0xff, image_ok=0xff
@@ -127,7 +125,7 @@
[INF] Jumping to the first image slot
[Sec Thread] Secure image initializing!
-#### Execute test suites for the Secure area ####
+#### Execute test suites for the secure storage service ####
Running Test Suite SST secure interface tests (TFM_SST_TEST_2XXX)...
> Executing 'TFM_SST_TEST_2001'
@@ -150,6 +148,67 @@
Note: SST reliability tests take approximately three minutes to run on the MPS2.
+## Execute TF-M example and regression tests on Musca-A1 test chip board ##
+
+#### Example application
+
+1. Create a unified hex file comprising of both mcuboot and tfm_sign binary
+ * Windows
+ `srec_cat.exe bl2\ext\mcuboot\mcuboot.bin -Binary -offset 0x200000 tfm_sign.bin -Binary -offset 0x210000 -o tfm.hex -Intel`
+ * Linux
+ `srec_cat bl2/ext/mcuboot/mcuboot.bin -Binary -offset 0x200000 tfm_sign.bin -Binary -offset 0x210000 -o tfm.hex -Intel`
+2. Plug in the Musca-A1 board in your computer. The board should appear as USB drive
+3. Drag and drop `tfm.hex` to the USB drive
+4. Reset the board to execute the TF-M example application
+5. After completing the procedure you should be able to see on the UART0
+ (baud 115200 8n1) the following messages:
+
+```
+[INF] Starting bootloader
+[INF] Image 0: magic=good, copy_done=0xff, image_ok=0xff
+[INF] Scratch: magic=bad, copy_done=0x5, image_ok=0xd9
+[INF] Boot source: slot 0
+[INF] Swap type: none
+[INF] Bootloader chainload address offset: 0x10000
+[INF] Jumping to the first image slot
+[Sec Thread] Secure image initializing!
+```
+
+#### Regression tests
+
+After completing the procedure you should be able to see on the UART0
+(baud 115200 8n1) the following messages:
+
+```
+[INF] Starting bootloader
+[INF] Image 0: magic=good, copy_done=0xff, image_ok=0xff
+[INF] Scratch: magic=bad, copy_done=0x5, image_ok=0x9
+[INF] Boot source: slot 0
+[INF] Swap type: none
+[INF] Bootloader chainload address offset: 0x10000
+[INF] Jumping to the first image slot
+[Sec Thread] Secure image initializing!
+
+#### Execute test suites for the secure storage service ####
+Running Test Suite SST secure interface tests (TFM_SST_TEST_2XXX)...
+> Executing 'TFM_SST_TEST_2001'
+ Description: 'Create interface'
+ TEST PASSED!
+> Executing 'TFM_SST_TEST_2002'
+ Description: 'Get handle interface'
+ TEST PASSED!
+> Executing 'TFM_SST_TEST_2003'
+ Description: 'Get handle with null handle pointer'
+ TEST PASSED!
+> Executing 'TFM_SST_TEST_2004'
+ Description: 'Get attributes interface'
+ TEST PASSED!
+> Executing 'TFM_SST_TEST_2005'
+ Description: 'Get attributes with null attributes struct pointer'
+....
+
+```
+
## Software upgrade and image validation with BL2 bootloader
BL2 bootloader is an integrated and ported version of an external project:
@@ -253,12 +312,14 @@
[INF] Jumping to the first image slot
[Sec Thread] Secure image initializing!
-#### Execute test suites for the Secure area ####
+#### Execute test suites for the secure storage service ####
Running Test Suite SST secure interface tests (TFM_SST_TEST_2XXX)...
...
```
This indicates that software upgrade happened.
+*Note* Software upgrade support for Musca-A1 board is not yet supported.
+
--------------
*Copyright (c) 2017 - 2018, Arm Limited. All rights reserved.*
diff --git a/readme.md b/readme.md
old mode 100644
new mode 100755
index 78aab45..f88782e
--- a/readme.md
+++ b/readme.md
@@ -75,6 +75,7 @@
* Cortex M33 based SSE-200 system -
* [FPGA image loaded on MPS2 board.](https://developer.arm.com/products/system-design/development-boards/cortex-m-prototyping-systems/mps2)
* [Fast model FVP_MPS2_AEMv8M.](https://developer.arm.com/products/system-design/fixed-virtual-platforms)
+ * [Musca-A1 test chip board.](https://developer.arm.com/products/system-design/development-boards/iot-test-chips-and-boards/musca-a1-test-chip-board)
* Cortex M23 based IoT Kit system -
* [FPGA image loaded on MPS2 board.](https://developer.arm.com/products/system-design/development-boards/cortex-m-prototyping-systems/mps2)