Zephyr upstream¶
Плата sf32lb52_devkit_lcd поддерживается и сопровождается в основной ветке Zephyr начиная с v4.3.0. См. примечания к выпуску v4.3.0 и документацию платы SF32LB52 DevKit LCD. В этом руководстве создаётся рабочая область v4.3.0, собирается первый пример и прошивается плата. Для более широкого набора официальных функций SF32 используйте SiFli-SDK.
Проверьте список функций платы
Наличие описания платы в основной ветке Zephyr само по себе не подтверждает, что все периферийные устройства и режимы работы включены или проверены для продукта. Изучите таблицу поддерживаемых функций в документации платы и проверьте нужное поведение на конкретной ревизии платы.
Что понадобится¶
Оборудование
- SF32LB52 DevKit LCD на базе модуля SF32LB52x-MOD-N16R8 с микроконтроллером SF32LB525UC6, 8 MB OPI-PSRAM и 128 Mb QSPI-NOR.
- Кабель данных USB Type-C, подключённый к интерфейсу USB-UART платы.
Программное обеспечение
- Хостовая ОС, поддерживаемая Zephyr v4.3.0; требования к ней указаны в руководстве Getting Started.
- Хост-зависимости Zephyr и Zephyr SDK для цели ARM Cortex-M, установленные согласно этому руководству.
- Git, Python 3 и
pip.
Подготовьте инструменты¶
Сначала установите хост-зависимости и Zephyr SDK по руководству Getting Started для Zephyr v4.3.0. Затем создайте окружение Python и инициализируйте рабочую область с соответствующим тегом Zephyr:
python3 -m venv ~/zephyr-venv
source ~/zephyr-venv/bin/activate
pip install west
west init -m https://github.com/zephyrproject-rtos/zephyr --mr v4.3.0 ~/zephyrproject
cd ~/zephyrproject
west update
west zephyr-export
pip install -r zephyr/scripts/requirements.txt
Оставьте это окружение Python активным на время сборки и прошивки.
Проверьте плату¶
Убедитесь, что цель есть в рабочей области:
Ожидаемое имя платы:
Соберите Hello World¶
Соберите стандартный пример Hello World для Zephyr:
Успешная сборка подтверждает, что цель платы и инструментальная цепочка доступны в рабочей области. Она не проверяет работу всех периферийных устройств платы.
Прошейте плату¶
В конфигурации платы в основной ветке Zephyr sftool указан как штатный инструмент для прошивки. Установите OpenSiFli sftool, убедитесь, что он доступен через PATH, и переведите плату в режим последовательной загрузки согласно документации платы. Затем выполните:
Если прошивка не удаётся, проверьте выбранный последовательный порт, режим загрузки и описание runner в документации платы.
Откройте последовательную консоль¶
Конфигурация платы в основной ветке Zephyr направляет консоль Zephyr на usart1 со скоростью 1000000 бод. Откройте этот UART в терминале последовательного порта и проверьте вывод:
Выберите следующий пример¶
Выберите следующий программный интерфейс или периферийное устройство для проверки по таблице поддерживаемых функций в документации платы в основной ветке Zephyr и каталогу примеров Zephyr. Убедитесь, что функция указана для этой платы и необходимая конфигурация включена; успешный запуск примера сам по себе не подтверждает готовность к продуктовой эксплуатации.
Устранение неполадок¶
| Симптом | Проверка |
|---|---|
west boards не показывает цель SF32 |
Убедитесь, что рабочая область инициализирована на основе основного репозитория Zephyr версии v4.3.0 или новее и что west update завершился. |
| Сборка завершается ошибкой до компиляции | Убедитесь, что окружение Python активно, Zephyr SDK для ARM Cortex-M установлен, а зависимости v4.3.0 загружены. |
| Плата собирается, но не прошивается | Убедитесь, что sftool установлен и доступен через PATH, выбран правильный последовательный порт, а плата находится в режиме последовательной загрузки. |
| Нет вывода в последовательный порт | Проверьте usart1, скорость 1000000 бод, подключение USB-UART и не открыт ли порт в другом терминале. |
| Пример периферии завершается ошибкой | Проверьте таблицу поддерживаемых функций платы и конфигурацию примера; базовая цель платы не обязательно включает все периферийные устройства. |
Перед интеграцией в продукт¶
- Изучите таблицу поддерживаемых функций платы в основной ветке Zephyr и конфигурацию нужного примера.
- Проверьте необходимые интерфейсы, производительность, использование памяти и энергопотребление на целевой плате с конфигурацией продукта. Успешная сборка Hello World является лишь проверкой инструментальной цепочки.
- Сравните функциональный охват цели из основной ветки Zephyr с SiFli-SDK, если проекту нужна функция, не указанная или не проверенная для этой цели Zephyr.
Последнее обновление: