Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Прошивка

Нет, речь не о самом быстром человеке на планете. Мы говорим о записи нашего бинарного файла в микроконтроллер и его запуске.

Для этого мы воспользуемся полезным инструментом — espflash. Есть и другие инструменты, например probe-rs, но пока будем придерживаться espflash.

Прошить программу и открыть монитор можно такой командой:

#![allow(unused)]
fn main() {
espflash flash  --monitor --chip esp32 ./target/xtensa-esp32-none-elf/debug/std_to_no_std
}

Cargo run

Каждый раз вводить такую длинную команду неудобно. Упростим себе жизнь, обновив файл .cargo/config.toml. Мы можем сказать Cargo автоматически использовать espflash при выполнении cargo run.

Добавьте этот раздел в .cargo/config.toml:

[target.xtensa-esp32-none-elf]
runner = "espflash flash --monitor --chip esp32"

Теперь достаточно ввести:

cargo run --release

и программа будет прошита и запущена на ESP32.

Уф… Мы начали с бинарного файла для стандартной библиотеки и превратили его в бинарный файл no_std для ESP32. Наконец-то мы видим, как мигает светодиод.

К счастью, проходить всю эту настройку при каждом создании нового проекта не придётся. Именно поэтому такие инструменты, как esp-generate (или cargo-generate), так полезны во встраиваемом программировании: они настраивают все сложные части, чтобы можно было сразу перейти к написанию кода.