Сборка, прошивка и мониторинг последовательного вывода¶
На этой странице описан повседневный цикл работы с SiFli-SDK: активируйте среду, соберите проект с помощью scons, прошейте плату и проверьте журналы.
Активация SDK¶
Установите среду SDK по официальному руководству по установке для используемой версии. Перед сборкой активируйте её в каждом новом терминале: запустите скрипт экспорта из корневого каталога SDK.
Скрипт экспорта загружает в текущий терминал среду, соответствующую выбранной копии SDK. Порядок установки и управления средой может различаться в зависимости от версии; следуйте соответствующему официальному руководству.
Сборка¶
В каталоге проекта-примера выполните:
Выберите значение -j с учётом возможностей компьютера. Если в имени платы не указано ядро, SDK по умолчанию собирает для HCPU. Например, для sf32lb52-lcd_n16r8 создаётся каталог build_sf32lb52-lcd_n16r8_hcpu/. Используйте каталог сборки, соответствующий конфигурации платы и ядра, которую определил SDK; если ядро уже указано в идентификаторе платы, не добавляйте _hcpu повторно.
Чистая пересборка¶
Выполняйте чистую пересборку при смене платы, существенном изменении конфигурации или анализе подозрительных артефактов. В каталоге проекта примера используйте параметр очистки SCons:
Команда удаляет цели сборки, а также созданные временные и объектные файлы. Затем выполните сборку с нужной конфигурацией платы.
Прошивка¶
Например, для цели HCPU sf32lb52-lcd_n16r8 используйте созданный при сборке скрипт UART-загрузки:
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.
- Имя платы.
- Инструкции по установке и настройке.
- Команду сборки.
- Команду прошивки.
- Параметры мониторинга.
- Ожидаемые первые строки журнала.
- Команду восстановления.
Последнее обновление: