| # Device Software |
| |
| ## Reference Firmware Images |
| |
| The OpenTitan Reference Firmware Images together make up the Opentitan Reference Firmware Stack. |
| Different images are used for different boot stages. |
| |
| The Reference Firmware Images are, in boot order: |
| |
| 1. The [ROM](./silicon_creator/rom/README.md) (in `sw/device/silicon_creator/rom`), executed at chip reset; |
| 2. The ROM_EXT (in `sw/device/silicon_creator/rom_ext`), the second stage Silicon Creator code, executed from flash; and |
| |
| ### Testing-only Images |
| |
| There are also some other standalone firmware images in the repository, which are only used for testing. |
| |
| - [`sw/device/tests`](./tests/README.md) contains several categories of chip-level tests, including smoke, IP integration, and system-level (use case) tests. |
| |
| - [`sw/device/benchmarks/coremark`](https://github.com/lowRISC/opentitan/tree/master/sw/device/benchmarks/coremark) contains infrastructure for running the [CoreMark](https://github.com/eembc/coremark) benchmark suite on the OpenTitan device. |
| - `sw/device/riscv_compliance_support` contains infrastructure so we can run the [RISC-V Compliance](https://github.com/riscv/riscv-compliance) tests on the OpenTitan core. |
| - `sw/device/sca` contains on-device software used for Side-Channel Analysis. |
| - `sw/device/prebuilt` contains pre-built Tock images, which may not be up-to-date. |
| - `sw/device/examples` contains example images, including a simple [Hello World](https://github.com/lowRISC/opentitan/tree/master/sw/device/examples/hello_world). |
| |
| There are also prototype versions of some of the boot stages, now only used for testing: |
| |
| - [`sw/device/lib/testing/test_rom`](https://github.com/lowRISC/opentitan/tree/master/sw/device/lib/testing/test_rom) is a previous, testing-only version of the ROM. |
| - `sw/device/exts` contains software for our prototype second boot stage images. |
| |
| ## Documentation Index |
| |
| {{% sectionContent %}} |