The TBSA-v8M specification defines the behavior of an abstract machine referred to as a TBSA-v8M system. Implementations that are compliant with the TBSA-v8M architecture must conform to the described behavior of the TBSA-v8M System.
To receive a copy of the TBSA-v8M specification, Arm Licensees may contact Arm through their partner managers.
The TBSA-v8M Architecture test suite checks whether an implementation conforms to the behaviors described in the TBSA-v8M specification.
TBSA-v8M compliance tests are self-checking, portable C-based tests with directed stimulus.
The tests are available as open source. The tests and the corresponding abstraction layers are available with an Apache v2.0 license allowing for external contribution.
-
Release Version - 0.7
-
Code Quality: Beta
The suite is in development. This indicates that the suite contains tests which have not been validated on any platform. Please use this opportunity to suggest enhancements and point out errors. -
The TBSA-v8M tests are written for version 1.1 of the TBSA-v8M specification.
-
This test suite is not a substitute for design verification.
-
To review the test logs, Arm licensees can contact Arm directly through their partner managers.
TBSA-v8M compliance tests use a layered software-stack approach to enable porting across different test platforms. The constituents of the layered stack are: - Test suite - Validation Abstraction Layer (VAL) - Platform Abstraction Layer (PAL)
These tests are written on top of Validation Abstraction Layer (VAL) and Platform Abstraction Layer (PAL).
The abstraction layers provide platform information and runtime environment to enable execution of the tests.
In this release, PAL is written on top of baremetal drivers and CMSIS.
Partners can also write their own abstraction layer implementations to allow TBSA-v8M tests to be run in other environments, for example, as raw workload on an RTL simulation.
The mapping of the rules in the specification to the test cases and the steps followed in the tests are mentioned in the Scenario document present in the docs/ folder.
Follow the instructions in the subsequent sections to get a copy of the source code on your local machine and build the tests.
See User guide document to get details on the steps involved in Porting the test suite to your platform.
Before starting the test suite build, ensure that the following requirements are met:
- Host Operating System : Ubuntu 16.04.4
- Scripting tools : Perl 5.22.1
- Other open-source tools : GCC 6.3.1
To download the master branch of the repository, type the following command:
git clone https://github.com/ARM-software/psa-arch-tests.git
Refer to the Porting Guide document for porting steps. Refer to the User Guide document in the docs folder for additional details.
To build TBSA-v8M test suite for a given platform, execute the following commands:
1. cd tbsa-v8m
2. make TARGET=<platform_name> ARCH=<main/base>
Example: make TARGET=fvp ARCH=main
To build only certain test for a given platform, execute the following commands:
1. cd tbsa-v8m
2. make TARGET=<platform_name> ARCH=<main/base> SUITE=<test_name>
Example: make TARGET=fvp ARCH=main SUITE=boot,crypto,mem
To build for CMSIS environment, execute the following commands:
1. cd tbsa-v8m
2. make TARGET=<platform_name> ARCH=<main/base> SUITE=<test_name> ENV=<build_environment>
Example: make TARGET=fvp ARCH=main SUITE=boot,crypto,mem ENV=cmsis
Note: Default environment is baremetal
where <platform_name> is the same as the name of the target specific directory created in the platform/board directory.
TBSA build generates two output binaries:
- tbsa.elf
- tbsa_test_combined.bin
The following steps describe the execution flow prior to the start of test execution.
- The target platform must load the tbsa.elf file.
- The suite execution begins from the tbsa_entry.
- The tests are executed sequentially in a loop in the tbsa_dispatcher function.
Arm TBSA-v8M Architecture test suite is distributed under Apache v2.0 License.
- For feedback, use the GitHub Issue Tracker that is associated with this repository.
- For support, send an email to [email protected] with details.
- Arm licensees can contact Arm directly through their partner managers.
- Arm welcomes code contributions through GitHub pull requests.
Copyright (c) 2018, Arm Limited and Contributors. All rights reserved.