| # 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. |