Skip to content

Commit d294687

Browse files
feat(rust-nostd-esp/): use esp-generate (#68)
* build: Update base image * feat: Use esp-generate instead of esp-template * fix: Compile script * build: Remove cc crate
1 parent 489a70b commit d294687

File tree

3 files changed

+11
-19
lines changed

3 files changed

+11
-19
lines changed

rust-nostd-esp/Dockerfile

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
1-
FROM espressif/idf-rust:all_1.80.0.0
1+
FROM espressif/idf-rust:all_1.82.0.3
22

33
USER esp
44
ENV USER=esp
55

66
# Install extra crates
7-
RUN cargo install cargo-audit && \
8-
GENERATE_VERSION=$(git ls-remote --refs --sort="version:refname" --tags "https://github.com/cargo-generate/cargo-generate" | cut -d/ -f3- | tail -n1) && \
9-
curl -L "https://github.com/cargo-generate/cargo-generate/releases/latest/download/cargo-generate-${GENERATE_VERSION}-x86_64-unknown-linux-gnu.tar.gz" -o "${HOME}/.cargo/bin/cargo-generate.tar.gz" && \
10-
tar xf "${HOME}/.cargo/bin/cargo-generate.tar.gz" -C ${HOME}/.cargo/bin && \
11-
chmod u+x "${HOME}/.cargo/bin/cargo-generate" && \
7+
RUN cargo install cargo-audit && cargo install esp-generate && \
128
curl -L "https://github.com/SergioGasquez/rnamer/releases/latest/download/rnamer-x86_64-unknown-linux-gnu" -o "${HOME}/.cargo/bin/rnamer" && \
139
chmod u+x "${HOME}/.cargo/bin/rnamer"
1410

1511
# Generate project templates
16-
RUN cargo generate -a --vcs none esp-rs/esp-template --name rust-project-esp32 -d mcu=esp32 -d advanced=false
17-
RUN cargo generate -a --vcs none esp-rs/esp-template --name rust-project-esp32c3 -d mcu=esp32c3 -d advanced=false
18-
RUN cargo generate -a --vcs none esp-rs/esp-template --name rust-project-esp32c6 -d mcu=esp32c6 -d advanced=false
19-
RUN cargo generate -a --vcs none esp-rs/esp-template --name rust-project-esp32h2 -d mcu=esp32h2 -d advanced=false
20-
RUN cargo generate -a --vcs none esp-rs/esp-template --name rust-project-esp32s2 -d mcu=esp32s2 -d advanced=false
21-
RUN cargo generate -a --vcs none esp-rs/esp-template --name rust-project-esp32s3 -d mcu=esp32s3 -d advanced=false
12+
RUN esp-generate --headless --chip=esp32 rust-project-esp32
13+
RUN esp-generate --headless --chip=esp32c3 rust-project-esp32c3
14+
RUN esp-generate --headless --chip=esp32c6 rust-project-esp32c6
15+
RUN esp-generate --headless --chip=esp32h2 rust-project-esp32h2
16+
RUN esp-generate --headless --chip=esp32s2 rust-project-esp32s2
17+
RUN esp-generate --headless --chip=esp32s3 rust-project-esp32s3
2218

2319
# Add alloc to the build-std property
2420
RUN find . -name "config.toml" -type f -exec sed -i 's/build-std = \["core"\]/build-std = \["alloc", "core"\]/g' {} +

rust-nostd-esp/compile.sh

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ case ${WOKWI_MCU} in
1111
"esp32-c3")
1212
PROJECT_NAME="rust-project-esp32c3"
1313
TARGET="riscv32imc-unknown-none-elf"
14-
rm ${PROJECT_NAME}/.cargo/config.toml
15-
cp ${HOME}/config.toml ${PROJECT_NAME}/.cargo/config.toml
1614
;;
1715
"esp32-c6")
1816
PROJECT_NAME="rust-project-esp32c6"
@@ -37,8 +35,6 @@ case ${WOKWI_MCU} in
3735
esac
3836

3937
cd ${PROJECT_NAME}
40-
mkdir -p output
41-
PROJECT_ROOT="${HOME}/${PROJECT_NAME}"
4238
WOKWI_MCU_NO_DASH="${WOKWI_MCU//-/}"
4339

4440
if [ "$(find ${HOME}/build-in -name '*.rs')" ]; then
@@ -52,5 +48,5 @@ fi
5248

5349
cargo audit
5450
cargo build --release
55-
espflash save-image --chip ${WOKWI_MCU_NO_DASH} --flash-size 4mb target/${TARGET}/release/${PROJECT_NAME} ${HOME}/build-out/project.bin
56-
cp target/${TARGET}/release/${PROJECT_NAME} ${HOME}/build-out/project.elf
51+
espflash save-image --chip ${WOKWI_MCU_NO_DASH} --flash-size 4mb target/${TARGET}/release/main ${HOME}/build-out/project.bin
52+
cp target/${TARGET}/release/main ${HOME}/build-out/project.elf

rust-std-esp/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM espressif/idf-rust:all_1.80.0.0
1+
FROM espressif/idf-rust:all_1.82.0.3
22

33
USER esp
44
ENV USER=esp

0 commit comments

Comments
 (0)