This is a hobby project. See https://ctrlsrc.io/posts/2023/niccle-project-intro/ for more info. Currently this project targets only the ESP32-C6 chip.
| Directory | Description |
|---|---|
<toplevel> |
Contains chipset-agnostic code (which can run on ESP32, ARM etc.) |
esp/ |
Contains ESP32-specific code. |
proc_macros/ |
Contains procedural macros used by the rest of the code. |
I try to use the code and .toml files formatted with cargo fix and taplo fmt
(cargo install taplo-cli), using the fix.sh script.
The ESP32-related code focuses on RISC-V-based chipsets, and the ESP32-C6 chip
in particular. It uses the esp-hal crate (rather than esp-idf-hal).
To run the code, run the following command from the top-level repo directory:
cargo run -p niccle_esp --release --target riscv32imac-unknown-none-elf --example {some_example}Or, run
cargo run --release --target riscv32imac-unknown-none-elf --example {some_example}from within the esp directory.
Currently only the cycle_counting example can compile and run on ESP32-C3 as well. To target that chip, use the following command:
cargo run --release --target riscv32imc-unknown-none-elf --no-default-features --feature esp32c3 \
--example cycle_counting