Wed 27 November 2024

Codethink/Arm White Paper: Arm STLs at Runtime on Linux

At Codethink, ensuring the reliability and integrity of embedded systems is an integral part of our engineering approach.

That’s why, in collaboration with Arm, we’ve published a white paper documenting the process of integrating Arm’s Software Test Libraries (STL) into Arm Cortex-A application processor systems. Specifically, our assignment involved integrating Arm’s STLs into an open source Linux environment.

Arm designed its Software Test Libraries to address challenges related to ensuring execution integrity in safety-critical embedded systems. The requirement for elevated privileges to access particular system registers further complicates these challenges, adding complexity to the testing process.

The project aimed to ensure the solution would be generic to most modern operating systems.

About the white paper

The white paper describes how the Codethink team integrated Arm’s A72 STL into a Linux environment running on a Raspberry Pi 4. The project team integrated the STLs into Trusted Firmware A (TF-A), therefore allowing the tests to be run at boot-time and at Exception Level 3 (EL3) via the Secure Monitor. This was done to avoid the licensing issues of directly linking the STL's to the Linux kernel: these issues arise as the Linux kernel is under GPLv2 and Arm's STL are closed source propriety software.

One of the primary focuses of the document is on the mechanisms for triggering STL tests in both Out-of-Reset (OOR) and Online (OnL) modes, helping to maintain system reliability and achieve excellent diagnostic coverage.

Ultimately, the Codethink project team explored two approaches:

  • Secure Monitor service in the TF-A, to the run the Arm STL at EL3,
  • Userspace dedicated application running Arm STL at EL0.

In addition, the document covers problems such as diagnostic coverage, integration complexity, software licensing, and compatibility, and performance overhead.

Access the white paper

You can access the full white paper here.

Codethink authors:

  • Ben Dooks, Codethink Fellow
  • Dickon Hood, Senior Software Engineer
  • Roan Richmond, Software Engineer

Other Content

Get in touch to find out how Codethink can help you

sales@codethink.co.uk +44 161 660 9930

Contact us