| Zephyr: быстрый старт |
|
| Добавил(а) microsin | ||||||||||||||||||||||||||
|
Документация [1] соответствует последней ветке разработки (main) проекта Zephyr. Если Вы ищете документацию по предыдущим релизам, используйте выпадающее меню слева вверху на страничке [1], и выберите желаемую версию. Следуйте указаниям этого руководства (перевод [1]), чтобы: ● Настроить рабочее окружение командной строки Zephyr в операционных системах Ubuntu, macOS или Windows (инструкции для других дистрибутивов Linux обсуждаются в статье, посвященной разрешению зависимостей [2]). Примечание: для дистрибутивов, которые не базируются на постоянных релизах, некоторые требования и зависимости могут не соответствовать вашему менеджеру пакетов. В таком случае следуйте дополнительным инструкциям, предоставленным для поиска ПО из других источников [2]. [Обновление операционной системы] Ubuntu: в этом руководстве показаны команды для Ubuntu 18.04 LTS или более свежей версии. sudo apt update
sudo apt upgrade
На macOS Mojave или более поздней версии выберите System Preferences -> Software Update. Если необходимо, то кликните Update Now. Для других версий обращайтесь к топику из техподдержки Apple: Update macOS on Mac site:support.apple.com Выберите Start -> Settings -> Update & Security -> Windows Update. Кликните Check for updates и установите любые доступные обновления. [Установка зависимостей] Далее нужно установить некоторые зависимости хоста с помощью менеджера пакетов. Текущий минимальный набор требуемых версий: Таблица 1. Необходимые минимальные версии инструментария.
Ubuntu. Для установки/проверки текущего состояния этого инструментария выполните следующие действия. 1. Если используете Ubuntu версии более старой, чем 22.04, то необходимо добавить несколько дополнительных репозиториев, чтобы обеспечить минимальны требуемые версии для основных перечисленных выше зависимостей. В таком случае загрузите, проверьте и выполните скрипт Kitware archive (kitware-archive.sh) для добавления репозитория Kitware APT в свой список исходников. Подробное объяснение скрипта kitware-archive.sh можно найти в стороннем репозитории kitware apt [3]: wget https://apt.kitware.com/kitware-archive.sh
sudo bash kitware-archive.sh
2. Используйте apt для установки требуемых зависимостей: sudo apt install --no-install-recommends git cmake ninja-build gperf \
ccache dfu-util device-tree-compiler wget \
python3-dev python3-pip python3-setuptools python3-tk python3-wheel xz-utils file \
make gcc gcc-multilib g++-multilib libsdl2-dev libmagic1
3. Проверьте версии основных зависимостей, установленных в системе, следующими командами: cmake --version
python3 --version
dtc --version
Проверьте, соответствуют ли версии требованиям из таблицы 1 выше. При необходимости обновления зависимостей вручную обратитесь к руководству [2]. 1. Установите Homebrew [4]: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2. Используйте brew для установки требуемых зависимостей: brew install cmake ninja gperf python3 ccache qemu dtc wget libmagic Замечание: из-за проблем с поиском готовых исполняемых файлов в настоящий момент Zephyr Project не поддерживает прошивку приложения с помощью Windows Subsystem for Linux (WSL) [5]. Поэтому для быстрого старта не рекомендуется использовать WSL. Описываемые далее инструкции должны быть запущены в окне интерпретатора команд cmd.exe. На PowerShell требуемые команды будут другие. Эти инструкции полагаются на менеджер пакетов Chocolatey [6]. Если использование Chocolatey для вас не вариант, то можно установить зависимости с соответствующих веб-сайтов, и далее убедиться, что необходимый инструментарий командной строки прописан в переменной окружения %PATH%. 1. Установите chocolatey [6]. 2. Откройте окно cmd.exe с правами администратора. Для этого нажмите клавишу Win, введите cmd.exe, кликните правой кнопкой мыши на результат, и выберите Run as Administrator. 3. Запретите глобально подтверждения, чтобы не подтверждать установку каждой отдельной программы: choco feature enable -n allowGlobalConfirmation 4. Используйте choco для установки требуемых зависимостей: choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System' choco install ninja gperf python git dtc-msys2 wget unzip 5. Закройте окно интерпретатора команд, и для продолжения дальнейших действий откройте новое окно от имени обычного пользователя (на этот раз без прав администратора). [Загрузка Zephyr и установка зависимостей Python] Теперь нужно выполнить клонирование Zephyr и его модулей в новое рабочее пространство west с именем zephyrproject. Также Вы установите дополнительные зависимости Python, необходимые для Zephyr. Замечание: при установке зависимостей на уровне системы или пользователя легко столкнуться с несовместимостью пакетов Python. Такая ситуация может произойти, к примеру, если идет работа на нескольких версиях Zephyr, или другие проекты используют Python на одной и той же рабочей станции. По этой причине рекомендуется использовать виртуальные (изолированные друг от друга) рабочие среды Python [7]. Ubuntu. Выполните следующие действия по установке в виртуальном окружении Python (для глобальной установки см. врезку "Ubuntu: установка в глобальном окружении"). 1. Используйте apt для установки пакета Python venv: sudo apt install python3-venv
2. Создайте новое виртуальное окружение: python3 -m venv ~/zephyrproject/.venv
3. Активируйте виртуальное окружение: source ~/zephyrproject/.venv/bin/activate
После активации приглашение шелла будет с префиксом (.venv). Деактивировать виртуальное окружение можно в любой момент с помощью команды deactivate. Примечание: помните, что перед началом работы с Zephyr нужно каждый раз активировать виртуальное окружение. 4. Установите west: pip install west
5. Закачайте исходный код Zephyr: west init ~/zephyrproject
cd ~/zephyrproject
west update
6. Экспортируйте пакет Zephyr CMake [8]. Это позволит CMake автоматически загружать шаблонный код, необходимый для сборки приложений Zephyr. west zephyr-export Основная задача команды west zephyr-export — зарегистрировать установку Zephyr RTOS в системе CMake, чтобы разработка велась независимо от конкретной файловой структуры. Это решает типичную проблему "жёстко заданного пути". [Как это работает] Команда вносит информацию о расположении Zephyr в реестр пакетов CMake — системную базу данных, которую CMake проверяет при сборке. Это происходит следующим образом: Действие: `west zephyr-export` добавляет путь к вашей установке Zephyr в реестр. Результат: CMake может найти Zephyr, даже если приложение находится за пределами стандартной рабочей области `.west`. После выполнения этой команды типичная строка в `CMakeLists.txt` проекта: find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) будет работать, так как `find_package` сможет обратиться к реестру, даже если переменная окружения `ZEPHYR_BASE` не задана. Расположение реестра в разных ОС: Windows: `HKEY_CURRENT_USER\Software\Kitware\CMake\Packages` [Когда использовать эту команду] Чаще всего команду выполняют однократно при настройке окружения. Вот типичные сценарии: ● Сборка «изолированного» приложения: разработка проекта в отдельной директории, а не внутри основной рабочей области Zephyr. [Важные замечания] ● Доступность команды: `zephyr-export` — это расширение (extension) West. Она доступна только при запуске из рабочей области Zephyr (внутри директории, где был выполнен `west init`). Если запустить её из произвольного места, West её не распознает. ● Альтернативные подходы: - Можно напрямую задать путь, используя переменную окружения `ZEPHYR_BASE`. Если вы настраиваете среду впервые и планируете работать с несколькими проектами в разных директориях, выполнение `west zephyr-export` — хорошая практика, которая упростит дальнейшую разработку. Команда `west packages pip --install` предназначена для единой установки всех Python-зависимостей, необходимых для сборки проектов Zephyr RTOS. Она автоматизирует важный шаг настройки среды разработки. Основная идея заключается в том, что Zephyr и его компоненты хранятся в виде независимых репозиториев (пакетов), и у каждого из них может быть свой собственный файл `requirements.txt`. Эта команда, по сути, делает следующее: 1. Автоматически находит все файлы `requirements.txt` во всех загруженных пакетах (модулях) внутри рабочей области Zephyr. [Контекст использования] В официальном руководстве [1] по началу работы эта команда является стандартным шагом после создания виртуального окружения, установки West и получения исходного кода Zephyr. Её выполнение гарантирует, что для сборки прошивок будут доступны все требуемые инструменты (например, для работы с системой сборки, скриптами и т.д.). Важное предупреждение: lокументация явно отмечает, что выполнение этой команды может понизить или повысить версию самого West, так как она устанавливает зависимости, указанные в пакетах, без ограничений. Если вам критически важна конкретная версия West, перед выполнением команды стоит сделать резервную копию окружения. [Распространённые проблемы] Из поисковых результатов видно, что пользователи могут столкнуться с двумя типичными ошибками:
Если столкнулись с ошибкой: Usage: west [-h] [-z ZEPHYR_BASE] [-v] [-V] < command> ...
west: error: argument < command>: invalid choice: 'zephyr-export' (choose from 'init', 'update',
'list', 'manifest', 'diff', 'status', 'forall', 'help', 'config', 'topdir', 'selfupdate')
.. то можно выполнить экспорт следующей командой, без west (см. [2]): make -P ~/zephyrproject/zephyr/share/zephyr-package/cmake/zephyr_export.cmake
7. В файле zephyrproject/zephyr/scripts/requirements.txt декларированы дополнительные зависимости Python. Установите их с помощью pip. pip install -r ~/zephyrproject/zephyr/scripts/requirements.txt
1. Установите west. При этом убедитесь, что путь ~/.local/bin присутствует в переменной окружения $PATH: pip3 install --user -U west
echo 'export PATH=~/.local/bin:"$PATH"' >> ~/.bashrc
source ~/.bashrc
2. Скачайте исходный код Zephyr: west init ~/zephyrproject
cd ~/zephyrproject
west update
3. Экспортируйте пакет Zephyr CMake [8]. Это позволит CMake автоматически загружать шаблонный код, необходимый для сборки приложений Zephyr. west zephyr-export
4. В файле zephyrproject/zephyr/scripts/requirements.txt декларированы дополнительные зависимости Python. Установите их с помощью pip. pip3 install --user -r ~/zephyrproject/zephyr/scripts/requirements.txt
[Установка в виртуальном окружении] 1. Создайте новое виртуальное окружение: python3 -m venv ~/zephyrproject/.venv 2. Активируйте виртуальное окружение: source ~/zephyrproject/.venv/bin/activate После активации приглашение шелла будет с префиксом (.venv). Виртуальное окружение можно деактивировать в любой момент запуском команды deactivate. Примечание: помните, что перед началом работы с Zephyr нужно каждый раз активировать виртуальное окружение. 3. Установите west: pip install west 4. Закачайте исходный код Zephyr: west init ~/zephyrproject cd ~/zephyrproject west update 5. Экспортируйте пакет Zephyr CMake [8]. Это позволит CMake автоматически загружать шаблонный код, необходимый для сборки приложений Zephyr. west zephyr-export 6. В файле zephyrproject/zephyr/scripts/requirements.txt декларированы дополнительные зависимости Python. Установите их с помощью pip. pip install -r ~/zephyrproject/zephyr/scripts/requirements.txt [Глобальная установка] 1. Установите west: pip3 install -U west 2. Скачайте исходный код Zephyr: west init ~/zephyrproject cd ~/zephyrproject west update 3. Экспортируйте пакет Zephyr CMake [8]. Это позволит CMake автоматически загружать шаблонный код, необходимый для сборки приложений Zephyr. west zephyr-export 4. В файле zephyrproject/zephyr/scripts/requirements.txt декларированы дополнительные зависимости Python. Установите их с помощью pip3. pip3 install -r ~/zephyrproject/zephyr/scripts/requirements.txt [Установка в виртуальном окружении] 1. Создайте новое виртуальное окружение: cd %HOMEPATH% python -m venv zephyrproject\.venv 2. Активируйте виртуальное окружение в cmd.exe: zephyrproject\.venv\Scripts\activate.bat То же самое в PowerShell: zephyrproject\.venv\Scripts\Activate.ps1 После активации приглашение шелла будет с префиксом (.venv). Виртуальное окружение можно деактивировать в любой момент запуском команды deactivate. Примечание: помните, что перед началом работы с Zephyr нужно каждый раз активировать виртуальное окружение. 3. Установите west: pip install west 4. Скачайте исходный код Zephyr: west init zephyrproject cd zephyrproject west update 5. Экспортируйте пакет Zephyr CMake [8]. Это позволит CMake автоматически загружать шаблонный код, необходимый для сборки приложений Zephyr. west zephyr-export 6. В файле scripts/requirements.txt декларированы дополнительные зависимости Python. Установите их с помощью pip. pip install -r %HOMEPATH%\zephyrproject\zephyr\scripts\requirements.txt [Глобальная установка] 1. Установите west: pip3 install -U west 2. Скачайте исходный код Zephyr: cd %HOMEPATH% west init zephyrproject cd zephyrproject west update 3. Экспортируйте пакет Zephyr CMake [8]. Это позволит CMake автоматически загружать шаблонный код, необходимый для сборки приложений Zephyr. west zephyr-export 6. В файле scripts/requirements.txt декларированы дополнительные зависимости Python. Установите их с помощью pip3. pip3 install -r %HOMEPATH%\zephyrproject\zephyr\scripts\requirements.txt [Установка Zephyr SDK] Zephyr Software Development Kit (SDK) содержит инструментарии разработки для каждой поддерживаемой архитектуры, что включает компилятор, ассемблер, линкер и другие программы, требуемые для сборки приложений на основе Zephyr. Также в Zephyr SDK содержатся дополнительные инструменты для хоста разработки, такие как кастомные сборки QEMU и OpenOCD, которые используются для эмуляции, прошивки и отладки приложений Zephyr. Ubuntu. Для установки Zephyr SDK выполните следующие действия. 1. Загрузите и проверьте последний пакет Zephyr SDK: cd ~
wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.0/zephyr-sdk-0.15.0_linux-x86_64.tar.gz
wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.0/sha256.sum | shasum --check
--ignore-missing
Если на вашей рабочей станции архитектура 64-бит ARM (например, это Raspberry Pi), то замените x86_64 на aarch64 чтобы загрузить 64-bit ARM Linux SDK. 2. Распакуйте архив пакета Zephyr SDK: tar xvf zephyr-sdk-0.15.0_linux-x86_64.tar.gz
Замечание: рекомендуется распаковать Zephyr в одну из следующих размещений на диске: $HOME Архив Zephyr SDK содержит директорию zephyr-sdk-0.15.0, и когда происходит распаковка в каталоге $HOME, результирующий путь установки будет $HOME/zephyr-sdk-0.15.0. 3. Запустите скрипт настройки Zephyr SDK: cd zephyr-sdk-0.15.0
./setup.sh
Примечание: скрипт setup.sh следует запускать только после распаковки пакета Zephyr SDK (шаг 2). Следует запускать этот скрипт заново, если вы меняете директорию Zephyr SDK после первоначальной настройки. 4. Установите правила udev, которые позволят прошивать большинство плат Zephyr под обычным пользователем: sudo cp ~/zephyr-sdk-0.15.0/sysroots/x86_64-pokysdk-linux/usr/share/openocd/contrib/60-openocd.rules /etc/udev/rules.d
sudo udevadm control --reload
1. Загрузите и проверьте последний пакет Zephyr SDK: cd ~ wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.0/zephyr-sdk-0.15.0_macos-x86_64.tar.gz wget -O - https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.0/sha256.sum | shasum --check --ignore-missing Если архитектура вашего хоста разработки 64-bit ARM (Apple Silicon, также известный как M1), то замените x86_64 на aarch64, чтобы загрузить 64-bit ARM macOS SDK. 2. Распакуйте архив пакета Zephyr SDK: tar xvf zephyr-sdk-0.15.0_macos-x86_64.tar.gz Замечание: рекомендуется распаковать пакет Zephyr SDK в следующие места на диске: $HOME Архив пакета Zephyr SDK содержит директорию zephyr-sdk-0.15.0, и когда произошла распаковка в $HOME, результирующий путь установки будет $HOME/zephyr-sdk-0.15.0. 3. Запустите скрипт настройки Zephyr SDK: cd zephyr-sdk-0.15.0 ./setup.sh Примечание: скрипт setup.sh следует запускать только после распаковки пакета Zephyr SDK (шаг 2). Следует запускать этот скрипт заново, если вы меняете директорию Zephyr SDK после первоначальной настройки. 1. Откройте окно cmd.exe нажатием на клавишу Win и вводом cmd.exe. 2. Загрузите последний пакет Zephyr SDK: cd %HOMEPATH% wget https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v0.15.0/zephyr-sdk-0.15.0_windows-x86_64.zip 3. Распакуйте архив пакета Zephyr SDK: unzip zephyr-sdk-0.15.0_windows-x86_64.zip Замечание: рекомендуется распаковать пакет Zephyr в одно из следующих мест на диске: %HOMEPATH% В архиве пакета Zephyr SDK находится директория zephyr-sdk-0.15.0, и когда распаковка происходит в каталоге %HOMEPATH%, результирующий путь установки будет %HOMEPATH%\zephyr-sdk-0.15.0. 4. Запустите скрипт настройки пакета Zephyr SDK: cd zephyr-sdk-0.15.0 setup.cmd Примечание: скрипт setup.sh следует запускать только после распаковки пакета Zephyr SDK (шаг 3). Следует запускать этот скрипт заново, если вы меняете директорию Zephyr SDK после первоначальной настройки. [Сборка проекта примера Blinky] Blinky совместим почти со всеми поддерживаемыми платами [9]. Если ваша плата не удовлетворяет требованиям проекта Blinky [10], то хорошей альтернативой будет проект Hello World [11]. Если нет уверенности, какое имя использует west для вашей платы, то можно получить список всех поддерживаемых плат Zephyr командой: west boards
Сборка Blinky выполняется командой west build, с заменой your-board-name на правильное имя вашей платы. Пример команды сборки для Ubuntu и macOS: cd ~/zephyrproject/zephyr
west build -p always -b your-board-name samples/basic/blinky
Команда сборки под Windows: cd %HOMEPATH%\zephyrproject\zephyr west build -p always -b your-board-name samples\basic\blinky Опция -p always принудительно делает чистую сборку, что рекомендуется для новых пользователей. Пользователи также могут указать опцию -p auto, которая будет использовать эвристику, чтобы определить, нужна ли чистая сборка, или нет, например если делается попытка скомпилировать другой пример. Прошивка. Подключите вашу плату к хосту разработки (обычно через USB), и включите её, если для этого есть специальный выключатель питания. Если у вас есть сомнения относительно того, что делать, то посетите страницу вашей платы [9]. Скомпилированный пример прошивается очень просто: west flash
Для прошивки могут понадобиться дополнительные программные инструменты [12]. Если чего-то не хватает, то команда west flash выведет сообщение, какие зависимости отсутствуют. [Что дальше] ● Попробуйте скомпилировать другие примеры и демонстрационные программы. Здесь даны несколько советов по решению некоторых проблем, связанных с процессом установки Zephyr. При обновлении лишний раз проверьте переменные Zephyr SDK. Когда обновляете Zephyr SDK, проверьте, корректно ли установлены переменные окружения ZEPHYR_TOOLCHAIN_VARIANT или ZEPHYR_SDK_INSTALL_DIR. Для дополнительной информации см. "Updating the Zephyr SDK toolchain" в статье [17]. Дополнительную информацию по этим переменным см. раздел "Important Environment Variables" статьи [19]. [Как получить помощь] Вы можете запросить помощь через список рассылки (mailing list) или в Discord. Сообщения об ошибках (bug reports) и запросы на добавление функций публикуйте на GitHub. Mailing Lists: users@lists.zephyrproject.org, обычно это правильный список для запроса помощи. Покопайтесь в архивах сообщений, подпишитесь [20]. Важно правильно сформулировать вопрос. Пожалуйста, предварительно поищите решение проблемы в документации и в архивах списков рассылки. Может быть, что с вашей проблемой уже кто-то сталкивался. Когда задаете вопрос, подробно опишите проблему: ● Что вы хотите сделать. Если следовать этим советам, то специалистам будет проще помочь Вам, и другим пользователям будет проще искать ответ для решения своей проблемы. Команда west sdk install предназначена для автоматической установки Zephyr SDK (Software Development Kit) — набора компиляторов и инструментов, необходимых для сборки приложений Zephyr под различные архитектуры процессоров. Замечание: команда west sdk install без дополнительных опций установит все SDK для всех поддерживаемых архитектур процессоров. Этот процесс может занять несколько десятков минут, и займет довольно много места на диске. [Для чего нужен Zephyr SDK] Zephyr SDK включает в себя: ● Кросс-компиляторы (toolchains) для всех поддерживаемых Zephyr аппаратных архитектур (ARM, x86, RISC-V и др.). Без установленного SDK вы не сможете выполнить команду west build для компиляции проекта. [Контекст использования] В официальном руководстве по началу работы с Zephyr [1] установка SDK является стандартным шагом после создания виртуального окружения, загрузки исходного кода и установки Python-зависимостей. Типичный рабочий процесс включает: 1. `west init` – инициализация рабочей области. Совет: выполняйте команду `west sdk install` из директории `~/zephyrproject/zephyr` (или аналога для вашей ОС), как рекомендовано в документации. [Дополнительные опции команды] Команда `west sdk install` принимает дополнительные параметры. Для их просмотра и получения справки используйте: west sdk install --help Например, можно указать: ● Путь для установки SDK (по умолчанию это `~/.local/zephyr-sdk-[версия]`). [Альтернативный способ установки] Если команда `west sdk install` недоступна или не работает, SDK можно установить вручную, скачав архив с официального сайта проекта Zephyr и следуя инструкциям. [Установка SDK для процессора STM32G431CBU6] Для процессора STM32G431CBU6 нужен Zephyr SDK, содержащий компилятор для архитектуры Arm Cortex-M (или `arm-none-eabi`). На самом деле, `west sdk install` — это команда-оболочка, которая автоматически загружает и устанавливает нужную версию SDK для вашей операционной системы. Ключевая информация для STM32G431. Вот что нужно знать для успешной установки: ● Архитектура: процессор STM32G431 использует ядро Arm Cortex-M4. Компилятор Zephyr SDK, который подойдет для него, — arm-none-eabi-gcc (кросс-компилятор GNU для встроенных Arm). Как выполнить установку. Лучше всего следовать официальным инструкциям Zephyr. Основные шаги: 1. Активируйте окружение Zephyr, если вы этого еще не сделали. 2. Запустите команду из директории вашего проекта Zephyr (`zephyrproject`): west sdk install Команда автоматически определит вашу ОС, загрузит последнюю стабильную версию SDK в директорию `~/.local/zephyr-sdk-[версия]` и запустит скрипт установки (например, `setup.sh` в Linux). Внимание: установка SDK обычно требует прав суперпользователя (`sudo`) для регистрации в системе, поскольку включает настройку путей и правил для работы с устройствами отладки. После успешной установки вы можете проверить доступность компилятора с помощью команды: arm-none-eabi-gcc --version А также начать сборку вашего проекта для платы на основе STM32G431 (например, `west build -b < ваша_плата>`). Альтернативные методы установки SDK. Если команда `west sdk install` недоступна или вы предпочитаете полный контроль, есть другие способы:
Для процессора STM32G431CBU6 можно создать проект для плат NUCLEO [2] или WEACT [3]: $ west boards | grep nucleo_g431 $ west boards | grep stm32g431 Документация по этим платам доступна по ссылкам: Nucleo G431RB Процесс создания проекта для платы weact_stm32g431_core по шагам в среде Ubuntu: 1. Перейдите в каталог ~/zephyrproject, где находятся папки bootloader, modules, tools, zephyr: cd ~/zephyrproject 2. Создайте виртуальное окружение Python: python3 -m venv .venv 3. Активируйте его: source .venv/bin/activate После активации строка приглашения в терминале будет начинаться с (.venv). 4. Установите west внутри активированного окружения: pip install west После установки проверьте версию командой: west --version Важное замечание: каждый раз перед работой с Zephyr (после перезапуска терминала) необходимо заново активировать виртуальное окружение, выполнив source ~/zephyrproject/.venv/bin/activate из его папки. Альтернативный способ — глобальная установка (проще, но может вызывать конфликты) Если нужен быстрый старт, используйте команду для Linux из официальной документации: pip3 install --user -U west После установки может потребоваться добавить директорию ~/.local/bin в переменную PATH. Сделайте это так: export PATH=$PATH:~/.local/bin Чтобы это изменение работало постоянно, добавьте эту строку в файл ~/.bashrc. 5. Создать проект Zephyr для платы weact_stm32g431_core достаточно просто. Начните с базового примера, например blinky, чтобы проверить окружение. west build -p always -b weact_stm32g431_core zephyr/samples/basic/blinky -p always гарантирует чистую сборку. -b задает название платы, для которой осуществляется сборка. zephyr/samples/basic/blinky указывает компилируемый проект примера. 6. Загрузите прошивку на плату: west flash После этого встроенный светодиод на плате должен начать мигать. Способ прошивки: по умолчанию west flash использует загрузчик DFU через USB. Для прошивки: - Подключите плату по USB-C. 7. Отладка: для отладки подключите внешний отладчик (например, ST-Link) к 4-контактному SWD-заголовку на плате (3V3, GND, SWDIO, SWCLK). [Пользовательский проект] Для своего кода создайте папку проекта, скопируйте в неё файлы CMakeLists.txt и prj.conf из примера, а затем укажите путь к вашим исходникам: west build -b weact_stm32g431_core /путь/к/вашему/проекту Пример полного списка команд: mkdir ~/blinky_g431 [Устранение возможных ошибок] 1. ModuleNotFoundError: No module named 'jsonschema'. Команда сборки "west build -b weact_stm32g431_core ." выдает ошибку: CMake Error at ~/zephyrproject/zephyr/cmake/modules/boards.cmake:191 (message): Error message: Traceback (most recent call last): File "~/zephyrproject/zephyr/scripts/list_boards.py", line 13, in < module> ModuleNotFoundError: No module named 'jsonschema' Call Stack (most recent call first): CMakeLists.txt:4 (find_package) -- Configuring incomplete, errors occurred! Как устранить ошибку: west packages pip --install 2. Не найдена утилита Ninja. Команда сборки выдает ошибку наподобие: ... -- Configuring incomplete, errors occurred! FATAL ERROR: command exited with status 1: /usr/bin/cmake -DWEST_PYTHON=~/blinky_g431/.venv/bin/python3 -B~/blinky_g431/build -GNinja -S~/blinky_g431 Для установки ошибки нужно установить ninja-build: sudo apt update 3. /usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version Устраняется установкой корректной библиотеки libcurl. В моем случае понадобилось удалить символическую ссылку /usr/local/lib/libcurl.so.4: $ ls -la /usr/local/lib/libcurl.so.4 Замечание: при необходимости восстановить ссылку обратно можно командой: $ sudo ln -sf /usr/local/lib/libcurl.so.4.8.0 /usr/local/lib/libcurl.so.4 4. CMake Error: Generator: execution of make failed. Команда сборки возвращает ошибку: $ west build -b weact_stm32g431_core . Удалите папку ~/blinky_g431/build и выполните сборку заново: $ rm -r ./build/ 5. Команда west flash выдает ошибку: $ west flash Для устранение ошибки надо установить пакет dfu-util: $ sudo apt update [Ссылки] 1. Zephyr Getting Started Guide site:zephyrproject.org. |