Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Кросс-компиляция проекта на Rust для запуска в корневой собранной в buildroot
sasamy
Добавлено 12.03.2025 11:45 Редактировалось 12.03.2025 16:24
0
Сообщение: 1
sasamy
4.71

Пункты: 85192
Регистрация: 14.08.2009
Пример для t113, предполагается что Rust уже установлен. Для кросскомпиляции нужны системные библиотеки которые будут в корневой поэтому нужно скоректировать настройки cargo для проекта.

Для начала надо добавить целевую архитектуру

Цитата

rustup target add armv7-unknown-linux-gnueabihf


создать конфиг в директории проекта .cargo/cofig.toml и прописать линкер buildroot и переменные окружения указывающие на sysroot в buildroot

Цитата

[target.armv7-unknown-linux-gnueabihf]

linker = "/home/sasa/ssd/t113/buildroot-2022.08.3-sk-t113/output/host/bin/arm-none-linux-gnueabihf-gcc"
rustflags = [
"-C", "link-arg=--sysroot=/home/sasa/ssd/t113/buildroot-2022.08.3-sk-t113/output/host/arm-buildroot-linux-gnueabihf/sysroot",
]

[env]

SYSROOT = "/home/sasa/ssd/t113/buildroot-2022.08.3-sk-t113/output/host/arm-buildroot-linux-gnueabihf/sysroot"
PKG_CONFIG_ALLOW_CROSS = "1"
PKG_CONFIG_SYSROOT_DIR = "$SYSROOT"
PKG_CONFIG_PATH = "$SYSROOT/usr/lib/pkgconfig:$SYSROOT/usr/share/pkgconfig"


собрать проект указав целевую архитектуру

Цитата

cargo build --target armv7-unknown-linux-gnueabihf --release
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux