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

Сборка, прошивка и мониторинг последовательного вывода

На этой странице описан повседневный цикл работы с SiFli-SDK: активируйте среду, соберите проект с помощью scons, прошейте плату и проверьте журналы.

Активация SDK

Установите среду SDK по официальному руководству по установке для используемой версии. Перед сборкой активируйте её в каждом новом терминале: запустите скрипт экспорта из корневого каталога SDK.

cd ~/OpenSiFli/SiFli-SDK
. ./export.sh
cd C:\OpenSiFli\SiFli-SDK
.\export.ps1

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

Сборка

В каталоге проекта-примера выполните:

scons --board=<board_name> -j8

Выберите значение -j с учётом возможностей компьютера. Если в имени платы не указано ядро, SDK по умолчанию собирает для HCPU. Например, для sf32lb52-lcd_n16r8 создаётся каталог build_sf32lb52-lcd_n16r8_hcpu/. Используйте каталог сборки, соответствующий конфигурации платы и ядра, которую определил SDK; если ядро уже указано в идентификаторе платы, не добавляйте _hcpu повторно.

Чистая пересборка

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

scons -c

Команда удаляет цели сборки, а также созданные временные и объектные файлы. Затем выполните сборку с нужной конфигурацией платы.

Прошивка

Например, для цели HCPU sf32lb52-lcd_n16r8 используйте созданный при сборке скрипт UART-загрузки:

./build_sf32lb52-lcd_n16r8_hcpu/uart_download.sh
build_sf32lb52-lcd_n16r8_hcpu\uart_download.bat

OpenSiFli также публикует sftool — консольную утилиту с открытым исходным кодом для взаимодействия с SoC SiFli через последовательный интерфейс. В документации описаны запись, чтение и стирание флеш-памяти, а также управление сбросом микросхемы. Сведения о поддерживаемых микросхемах и типах памяти, а также параметры команд приведены в README утилиты.

Мониторинг последовательного вывода

Используйте последовательный терминал, настроенный для платы и примера. В журнале последовательного порта должны отображаться сообщения о загрузке системы и запуске RT-Thread, вывод приложения или приглашение командной оболочки.

Записывайте:

  • Имя платы.
  • Последовательный порт.
  • Скорость передачи данных.
  • Команду сборки.
  • Команду прошивки.
  • Ветку или версию SDK.

Ежедневный цикл разработки

Таблица: Ежедневный цикл разработки
Шаг Цель
Активация Активировать среду SDK в текущем терминале.
Настройка Выбрать плату и нужные параметры функций.
Сборка Создать бинарные файлы для выбранной платы.
Прошивка Записать образ прошивки на плату.
Мониторинг Проверить запуск системы и работу приложения.
Документирование Сохранить команды и сведения из журналов, чтобы процесс можно было повторить.

Начните с подходящего примера

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

При использовании CodeKit сохраните те же материалы проверки и убедитесь, что действия в редакторе можно повторить с помощью команд SDK.

Устранение неполадок

Таблица: Устранение неполадок
Симптом Что проверить
Инструмент сборки не найден Повторно выполните export.sh / export.ps1 в текущем терминале.
Неизвестное имя платы Сверьтесь со списком поддерживаемых плат в документации SDK.
Скрипт загрузки не открывает порт Закройте программы последовательного терминала и проверьте кабель USB-UART и разъём.
Прошивка не начинается Следуйте документированной для платы процедуре загрузки. Для sf32lb52-lcd_n16r8 после выбора последовательного порта перезапустите плату и нажмите Enter в течение 2 секунд, чтобы начать загрузку; для других плат используйте соответствующую им процедуру. Также проверьте питание, выбранный порт и соединение UART.
Последовательный вывод нечитаем Проверьте скорость передачи и используйте UART для данных; не используйте кабель, который только заряжает.

Контрольный список для передачи проекта

Перед передачей проекта другому разработчику приложите:

  • Ветку или коммит SDK.
  • Имя платы.
  • Инструкции по установке и настройке.
  • Команду сборки.
  • Команду прошивки.
  • Параметры мониторинга.
  • Ожидаемые первые строки журнала.
  • Команду восстановления.

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