От ELF до прошивки: последний шаг перед загрузкой в микроконтроллер Мы получили firmware.elf - файл, который содержит всё: код, данные, адреса, отладочную информацию. Но программатору (ST-Link, J-Link) нужен простой бинарый дамп: байты, которые нужно записать во флеш-память по порядку. Именно здесь вступает в игру утилита objcopy (в LLVM - llvm-objcopy). Команда: llvm-objcopy -O binary firmware.elf firmware.bin Флаг -O binary означает: "извлеки из ELF-файла только секци, которые должны быть во флеше (обычно .text, .data и т.д.), и запиши их подряд, как они расположены в памяти". Получается файл firmware.bin, готовый к прошивке. Альтернативно можно создать Intel HEX (-O ihex) - текстовый формат, где каждая строка содержит адрес и данные. Многие старые программаторы любят именно HEX. Теперь этот бинарик можно загрузить в микроконтроллер, и он запутсится. Зачем разработчику знать все эти этапы? Понимание процесса компиляции даёт вам суперсилы: 🔴 Ошибки линковки больше не будут за