Skip to content

Підготовка середовища для розробки

Стандартні інструменти що необхідні для Lilka і PlatformIO інфраструктури не підходять, все зав'язано на Rust. Тут також буде пояснюватись навіщо кожен інструмент чи інша програма.

Само собою що для цього потрібен встановлений Rust, як його встановити, є тут *лінк*, рекомендую повністю встановити разом з скриптами для PATH на різних shell

Probe-rs, універсальний флешер для багатьох мікроконтроллерів т.ч. ESP32.

Програма яка націлена на embedded сферу Rust, часто використовується в програмуванні ARM та RISC-V мікроконтролерів, але відносно нещодавно додали підтримку прошивки ESP32. Можна також легко запустити та прошити програму однією командою cargo run --release

Linux

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/latest/download/probe-rs-tools-installer.sh | sh # Linux

Windows

irm https://github.com/probe-rs/probe-rs/releases/latest/download/probe-rs-tools-installer.ps1 | iex

MacOS

brew tap probe-rs/probe-rs
brew install probe-rs

espup, інсталятор тулчейну під ESP32

Через те що Rust офіційно не має target для компіляції під архітектуру xtensa, потрібно встановити неофіційний порт під чіпи S-серії ESP32(всі інщі ESP32 що на RISC-V мають офіційну підтримку).

cargo install espup # Програма скомпілюється після цього
espup install # Встановить автоматично тулчейн

Після встановлення бажано одразу не виходити з терміналу, а прочитати подальші інструкції, адже на Linux якщо не встановити PATH до тулчейну(який в іншій теці) то прийдеться кожен раз перед компіляцією прописувати готовий скрипт який дасить знати компілятору де знаходиться тулчейн. На Windows такої проблеми нема.

cargo-generate, генератор проєктів для швидкого початку розробки

Інструмент генерує готовий Cargo проєкт, що би банально не мучатись з налаштуванням проєктів. В нашому випадку це треба через велику кількість умов що треба вказати, адже середовище no_std потребує більше конкретики.

cargo install cargo-generate

Вітаю, все готово, можете тепер робити все що хочете!