| .cargo | ||
| .zed | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| build.sh | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
NEOS Driver for Cardputer ADV
This repository implements
NEK's HAL API for the M5Stack
Cardputer ADV. Installing this file alongside the NEK generic image gives
the Cardputer ADV full support for the NE Operating System.
This repository also acts as a general example of how you can develop drivers for your own devices.
Compilation
Note
Just like with every other part of the NEOS project, you need the ESP32 Rust toolchain to compile this program.
Nix (and NixOS) users can use
nix developto automatically get the toolchain. For anyone else, if you don't already have it installed, check out the official guide:https://docs.espressif.com/projects/rust/book/getting-started/toolchain.html
Compilation is best done with the build.sh script, simply because it
automates an extra optimization step, but it can also be done with cargo:
./build.sh
## OR
cargo build --release
The optimization done in build.sh is removing some heavy (but unused) LLVM
sections from the final binary. If these sections are present, they take up
a lot of space, so removing them significantly reduces the file size.
If you don't have bash, you can still run this optimization step manually
(actual path to binary might vary):
xtensa-esp32s3-elf-objcopy \
--remove-section=.llvmbc \
--remove-section=.llvmcmd \
target/xtensa-esp32s3-none-elf/release/neos-driver \
target/xtensa-esp32s3-none-elf/release/neos-driver
Installation
Warning
This part is a Work in Progress and is currently being investigated :)