Перейти к содержанию

SiFli-SDK

SiFli-SDK — официальный SDK SiFli для разработки прошивок SF32. Он предоставляет среду разработки на базе RT-Thread, а для поддерживаемых целей — также примеры No-OS. В SDK входят поддержка плат, сопровождаемая SiFli, и промежуточное ПО для Bluetooth, графики, аудио, управления питанием, хранения данных и производственных процессов. Доступность функций зависит от чипа, платы и версии SDK.

SiFli-Solution

SiFli-Solution — отдельный программный пакет SiFli, который не входит в тему этой страницы. Здесь и в связанных материалах по разработке рассматривается только SiFli-SDK. Область применения SiFli-Solution, поддерживаемые устройства и условия доступа описаны в официальной документации SiFli Solution; за дополнительной информацией обращайтесь напрямую в SiFli.

Инструкции по первой установке SDK и запуску hello_world приведены на странице Начало работы с SiFli-SDK. Здесь рассматривается работа с SDK после настройки и проверки инструментария.

Основные источники:

Когда стоит использовать SiFli-SDK

Выбирайте SiFli-SDK, если вам нужны:

  • Документированный путь разработки с поддержкой плат и примерами SiFli для выбранного чипа и версии SDK.
  • Примеры и промежуточное ПО для Bluetooth, дисплеев, аудио, управления питанием, хранения данных, USB и OTA, если они поддерживаются выбранной целью и версией.
  • Интеграция с RT-Thread и инструменты командной оболочки.
  • Настройка платы по имени из SDK, например sf32lb52-lcd_n16r8.
  • Доступ к промежуточному ПО SiFli, инструментам, схемам разделов памяти и производственным процессам.

Модель разработки

На странице Начало работы с SiFli-SDK настраивается инструментарий и проверяется базовый пример hello_world. Затем фиксируйте ревизию SDK, выбранную плату, каталог примера или проекта, конфигурацию и соответствующие артефакты сборки и прошивки вместе, чтобы сборку можно было воспроизвести. Если в имени платы не указано ядро, каталог HCPU обычно соответствует шаблону build_<board_name>_hcpu/; например, для sf32lb52-lcd_n16r8 это build_sf32lb52-lcd_n16r8_hcpu/. Используйте фактически созданный каталог выбранной пары «плата/ядро», а не составляйте его имя вручную.

Чтобы сборки можно было воспроизводить, зафиксируйте выбранную ветку SDK, записывайте имя платы, отделяйте локальные изменения поддержки платы от файлов поставщика и вносите настройки небольшими, удобными для проверки шагами. Подробный процесс сборки, прошивки и мониторинга описан в разделе Сборка, прошивка и мониторинг последовательного вывода.

Имена плат

Имена плат SiFli-SDK зависят от SDK и могут отличаться от имён плат Zephyr, идентификаторов Arduino FQBN и коммерческих названий. Всегда копируйте точное имя из списка поддерживаемых плат SDK или из документации к примеру.

В примерах для плат SF32LB52 DevKit LCD часто используется следующее имя платы SDK:

sf32lb52-lcd_n16r8

Структура проекта

Большинство примеров SDK размещается по следующему шаблону:

example/<domain>/<example_name>/<rtos_or_mode>/project

Например:

example/get-started/hello_world/rtt/project

При разработке прошивки продукта начните с наиболее близкого к задаче рабочего примера SDK и меняйте по одной подсистеме за раз. Так вы сохраните настройки платы, зависимости промежуточного ПО, предположения о разметке разделов и конфигурацию драйверов.

Конфигурация

В проекте примера используйте команду menuconfig из SDK, чтобы изменить функциональную конфигурацию для выбранной платы:

sdk.py menuconfig --board=<board_name>

Обычно конфигурацию меняют, чтобы:

  • включить или отключить промежуточное ПО;
  • изменить роли или профили Bluetooth;
  • настроить поддержку дисплея, файловой системы или аудио;
  • настроить управление питанием;
  • выбрать параметры журналирования или командной оболочки.

Вопросы готовности к производству

Прежде чем включать SiFli-SDK в ветку продукта, ответьте на следующие вопросы:

  • Какая ветка выпуска SDK будет закреплена за продуктом?
  • Какие файлы поддержки плат принадлежат команде продукта, а какие сопровождаются поставщиком?
  • Какие примеры подтверждают работу ключевых функций?
  • Какая таблица разделов используется при производстве и обновлении OTA?
  • Какие инструменты разрешены для заводской прошивки?
  • Какие журналы включены в сборках для выпуска продукта?
  • Какой образ восстановления хранится для лабораторных работ?

Что читать дальше

Последнее обновление: