blob: 3cc50135776eb7beadfa67cf724096154c79636e [file] [log] [blame] [view]
# Kelvin SW Repository
This project contains the BSP to build the SW artifact that can run on the
Kelvin core, and integrated as part of the Shodan repository.
The project supports two build systems -- Bazel and CMake -- for OSS integration
reasons. Bazel is used by [TFLM](https://github.com/tensorflow/tflite-micro)
flow, while CMake is the build system for [IREE](https://github.com/openxla/iree).
## Prerequisite
If you get this project from Project Shodan manifest, you are all set. If not,
you need to have following projects as well to build the project successfully.
* Kelvin crosscompile toolchain: Under `<dir>/cache/toolchain_kelvin`
This project needs to be at `<dir>/sw/kelvin`.
## Code structure
* build_tools: Build tool/rules for both Bazel and CMake
* crt: Kelvin BSP
* examples: Source code to build Kelvin SW artifacts.
* platforms: Crosscompile platform setup for Bazel.
* third_party: Third party repositories for Bazel.
* toolchains: Crosscomple toolchain setup for Bazel.
## Build the project
### Bazel
The project uses Bazel 5.1.1, to align with
[OpenTitan](https://github.com/lowRISC/opentitan) build system requirements.
```bash
bazel build //...
```
### CMake
```note
TODO: Add CMake flow
```
## Run the executable
```note
TODO: Add kelvin simulator
```
Load the generated `.bin` binaries to matcha FPGA emulator.