Miguel Osorio | 40caa9e | 2021-05-27 21:45:20 -0700 | [diff] [blame] | 1 | --- |
| 2 | title: "OpenTitan Device Software" |
| 3 | --- |
| 4 | |
| 5 | ## Reference Firmware Images |
| 6 | |
| 7 | The OpenTitan Reference Firmware Images together make up the Opentitan Reference Firmware Stack. |
| 8 | Different images are used for different boot stages. |
| 9 | |
| 10 | The Reference Firmware Images are, in boot order: |
| 11 | |
| 12 | 1. The [Mask ROM]({{< relref "sw/device/silicon_creator/mask_rom/docs" >}}) (in `sw/device/mask_rom`), executed at chip reset; |
Miguel Osorio | e7615f5 | 2021-11-03 17:51:28 -0700 | [diff] [blame] | 13 | 2. The ROM_EXT (in `sw/device/silicon_creator/rom_ext`), the second stage Silicon Creator code, executed from flash; and |
Miguel Osorio | 40caa9e | 2021-05-27 21:45:20 -0700 | [diff] [blame] | 14 | |
| 15 | ### Testing-only Images |
| 16 | |
| 17 | There are also some other standalone firmware images in the repository, which are only used for testing. |
| 18 | |
Timothy Trippel | cb8a47e | 2021-09-07 21:57:22 +0000 | [diff] [blame] | 19 | - [`sw/device/tests`]({{< relref "sw/device/tests/index.md" >}}) contains several categories of chip-level tests, including smoke, IP integration, and system-level (use case) tests. |
Miguel Osorio | 40caa9e | 2021-05-27 21:45:20 -0700 | [diff] [blame] | 20 | |
| 21 | - [`sw/device/benchmarks/coremark`]({{< relref "sw/device/benchmarks/coremark/README.md" >}}) contains infrastructure for running the [CoreMark](https://github.com/eembc/coremark) benchmark suite on the OpenTitan device. |
| 22 | - `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. |
| 23 | - `sw/device/sca` contains on-device software used for Side-Channel Analysis. |
| 24 | - `sw/device/prebuilt` contains pre-built Tock images, which may not be up-to-date. |
| 25 | - `sw/device/examples` contains example images, including a simple [Hello World]({{< relref "sw/device/examples/hello_world/README.md" >}}). |
| 26 | |
| 27 | There are also prototype versions of some of the boot stages, now only used for testing: |
| 28 | |
Timothy Trippel | 961b2cd | 2021-12-14 22:28:58 +0000 | [diff] [blame] | 29 | - [`sw/device/lib/testing/test_rom`]({{< relref "sw/device/lib/testing/test_rom/README.md" >}}) is a previous, testing-only version of the Mask ROM. |
Miguel Osorio | 40caa9e | 2021-05-27 21:45:20 -0700 | [diff] [blame] | 30 | - `sw/device/exts` contains software for our prototype second boot stage images. |
| 31 | |
| 32 | ## Documentation Index |
| 33 | |
| 34 | {{% sectionContent %}} |