rustup + espup: тулчейн для Rust на платформе ESP32 |
![]() |
Добавил(а) microsin |
[Установка rustup] $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
info: загрузка инсталлятора
Rust теперь установлен. Отлично! Чтобы начать работу, вам может понадобиться перезагрузить текущий шелл. Это перезагрузит переменную окружения PATH, чтобы подключить папку bin Cargo ($HOME/.cargo/bin). Для конфигурации вашего текущего шелла вам нужно выполнить команду source соответствующего env-файла из $HOME/.cargo. Это обычно делается следующей командой (обратите внимание на начальную ТОЧКУ): $ . "$HOME/.cargo/env" # Для sh/bash/zsh/ash/dash/pdksh
$ source "$HOME/.cargo/env.fish" # Для fish
$ source $"($nu.home-path)/.cargo/env.nu" # Для nushell
[Установка espup] espup это инструмент для установки и облуживания необходимых тулчейнов для разработки приложений микроконтроллеров Espressif SoC на языке Rust. Чтобы лучше понять, что устанавливает espup, см. главу с описанием установки [3] в документации "The Rust on ESP Book". Предварительные требования. Перед тем, как запустить или установить espup, убедитесь, что rustup установлен (см. выше "Установка rustup"). На Linux-системах также потребуются следующие пакеты: Ubuntu/Debian Fedora perl необходим для сборки openssl-sys. openSUSE Thumbleweed/Leap Установка. Выполните команду: $ cargo install espup --locked
$ cargo install espup --locked
Updating crates.io index
Downloaded espup v0.15.1
Downloaded 1 crate (52.4KiB) in 0.46s
Installing espup v0.15.1
Updating crates.io index
Updating crates.io index
Downloaded crc32fast v1.4.2
Downloaded bzip2 v0.5.2
Downloaded futures-channel v0.3.31
Downloaded indicatif-log-bridge v0.2.3
...
Downloaded zstd-sys v2.0.15+zstd.1.5.7
Downloaded libc v0.2.171
Downloaded linux-raw-sys v0.9.3
Downloaded openssl-src v300.4.2+3.4.1
Downloaded 258 crates (32.7MiB) in 2.17s (largest was `openssl-src` at 9.5MiB)
Compiling libc v0.2.171
Compiling proc-macro2 v1.0.94
Compiling unicode-ident v1.0.18
Compiling cfg-if v1.0.0
...
Compiling zip v3.0.0
Compiling tokio-native-tls v0.3.1
Compiling hyper-tls v0.6.0
Compiling reqwest v0.12.15
Compiling espup v0.15.1
Finished `release` profile [optimized] target(s) in 1m 43s
Installing $HOME/.cargo/bin/espup
Installed package `espup v0.15.1` (executable `espup`)
Также можно использовать cargo-binstall [4], или напрямую загрузить предварительно скомпилированные бинарники релиза (см. врезку ниже). • Linux aarch64 curl -L https://github.com/esp-rs/espup/releases/latest/download/espup-aarch64-unknown-linux-gnu -o espup • Linux x86_64 curl -L https://github.com/esp-rs/espup/releases/latest/download/espup-x86_64-unknown-linux-gnu -o espup • macOS aarch64 curl -L https://github.com/esp-rs/espup/releases/latest/download/espup-aarch64-apple-darwin -o espup • macOS x86_64 curl -L https://github.com/esp-rs/espup/releases/latest/download/espup-x86_64-apple-darwin -o espup • Windows MSVC Invoke-WebRequest 'https://github.com/esp-rs/espup/releases/latest/download/espup-x86_64-pc-windows-msvc.exe' \ [Быстрый старт] Выполните команду: $ espup install
$ espup install
[info]: Installing the Espressif Rust ecosystem
[info]: Checking Rust installation
[info]: Installing Xtensa Rust 1.88.0.0 toolchain
[info]: Installing Xtensa LLVM
[info]: Installing RISC-V Rust targets ('riscv32imc-unknown-none-elf',
'riscv32imac-unknown-none-elf' and 'riscv32imafc-unknown-none-elf')
for 'stable' toolchain
[info]: Installing GCC (xtensa-esp-elf)
[info]: Creating symlink between '$HOME/.rustup/toolchains/esp/xtensa-esp32-elf-clang/
esp-19.1.2_20250225/esp-clang/lib' and '$HOME/.espup/esp-clang'
[info]: All downloads complete
[info]: Installing 'rust' component for Xtensa Rust toolchain
[info]: Installing 'rust-src' component for Xtensa Rust toolchain
[info]: Installation successfully completed!
Для дополнительной информации см. далее секцию "Использование". Настройка переменных окружения. После установки тулчейна, на системах Unix вам нужно выполнить команду source для файла скрипта export-esp.sh, который выполнит экспорт необходимых переменных окружения. Этот файл генерирует espup, и по умолчанию он находится в домашней директории пользователя. Различные способы для source файла: • В любом терминале: $ . $HOME/export-esp.sh
Этот метод требует запуска команды в каждом новом шелле. • Создание алиаса для выполнения export-esp.sh: i) Скопируйте и вставьте следующую команду в ваш профиль шелла (файл .profile, .bashrc, .zprofile, и т. п., находящийся в директории $HOME): alias get_esprs='. $HOME/export-esp.sh' ii) Обновите конфигурацию путем перезапуска сессии терминала, или запустите команду source [путь до файла профиля], например: $ source ~/.bashrc
Этот метод соответствует запуску алиаса get_esprs в каждом новом шелле. • Непосредственное добавление нужных команд сразу в ваш профиль. i) Добавьте содержимое скрипта $HOME/export-esp.sh в профиль вашего шелла: cat $HOME/export-esp.sh >> [путь до профиля], например: $ cat $HOME/export-esp.sh >> ~/.bashrc
ii) Обновите конфигурацию путем перезапуска сессии терминала, или запустите команду source [путь до профиля], например: $ source ~/.bashrc
Важное замечание: на операционной системе Windows переменные окружения автоматически инжектируются в вашу систему, и действия по их инжектированию не требуются. [Использование] Для подсказки по использованию выполните команду: $ espup --help
Usage: espup < команда>
[Субкоманда install] Замечания: Путь места назначения Xtensa Rust. Пути инсталляции модифицируются установкой переменных окружения CARGO_HOME и RUSTUP_HOME перед запуском команды install. По умолчанию тулчейны будут установлены в подкаталог < rustup_home>/toolchains/esp, хотя это можно поменять опцией -a/--name. GitHub API. Во время процесса установки делается несколько запросов GitHub, на которые распространяются определенные ограничения. Количество ваших запросов не должно достигать лимита, если вы не запускаете команду espup install много раз за короткий промежуток времени. Рекомендуется установить переменную окружения GITHUB_TOKEN, когда используется espup в интерфейсе командной строки (Command Interface, CI). Если вы используете espup в CI, рекомендуется это делать через xtensa-toolchain action, и убедиться, что GITHUB_TOKEN не установлена, когда работа проводится на машине хоста. См. esp-rs/xtensa-toolchain#15 для дополнительной информации. $ espup install --help Установит экосистему Espressif Rust [Субкоманда uninstall] $ espup uninstall --help
Деинсталлирует экосистему Espressif Rust
[Субкоманда update] Опции субкоманды update в целом совпадают с опциями субкоманды install. $ espup update --help
Обновит тулчейн Xtensa Rust
[Разрешение Tab-автодополнения в Bash, Fish, Zsh или PowerShell] Команда espup поддерживает скрипты дополнения для Bash, Fish, Zsh и PowerShell. Для дополнительной информации см. espup help completions, однако суть так же проста, как использование одного из следующего: # Bash
$ espup completions bash > ~/.local/share/bash-completion/completions/espup
Замечание: вам может понадобиться перезапустить свой шелл, чтобы сделанные изменения вступили в силу. Для zsh вы должны затем добавить следующую строку в свой файл ~/.zshrc перед compinit: fpath+=~/.zfunc [Ссылки] 1. rustup. |