Как конвертировать UF2 в HEX
- Добавьте ваш файл .UF2 - перетащите его в поле выше или нажмите, чтобы выбрать.
- Конвертируйте его в .HEX за несколько секунд.
- Скачайте ваш новый файл .HEX.
Чего ожидать
- Не существует команды для конвертации UF2 в HEX в один шаг; промежуточный
.binтеряет адрес, поэтому вы должны повторно указать базовое смещение флэш-памяти на этапе objcopy/srec. - Если ошибиться со смещением,
.hexразместит код по неверному адресу памяти, что может привести к окирпичиванию устройства или невозможности загрузки. - В некоторых версиях objcopy были регрессии при конвертации binary в ihex; SRecord является рекомендуемым запасным вариантом для точных смещений.
Часто задаваемые вопросы
Почему два этапа?
uf2conv.py выводит только необработанные .bin и массивы C, но не Intel HEX. Вы конвертируете UF2 в .bin, а затем используете objcopy или SRecord для создания .hex.Какое смещение использовать?
Используйте базовый адрес флэш-памяти, по которому должна работать прошивка (часто это область приложения после загрузчика). Передайте его через
--change-addresses или srec -offset.Где взять objcopy?
Он поставляется с GNU binutils; для микроконтроллеров ARM используйте
arm-none-eabi-objcopy из инструментария GNU Arm Embedded.Что если objcopy выдает неверные адреса?
Используйте
srec_cat из SRecord с явным -offset, который надежно обрабатывает размещение адресов при конвертации binary в Intel HEX.