ЗАЧЕМ???
Проще же напрямую преобразование делать да и про защиту от ошибок забывать нельзя - если не КС в символьной строке, то придется громадный массив бинарной копии CRC соответствующей разрядности защищать...
В моем варианте СЧИТЫВАЕТСЯ именно символьный файл, а уже потом проводится соответствующее размещение в промежуточном ОЗУ (а не во флешке) - возможность перезаписи без ограничения количества циклов. При том, что ОЗУ при каждом запуске системы проходит предварительный контрольный тест.
Да и время прямой записи в ОЗУ и записи в ЕЕПРОМ несоизмеримо...
Разве что "переносной програматор"... Дак и то...Получаем экономию в количестве байт весьма относительную.
Ни спецфузы/байты конфигурации ни "дырки" в стандартном поле адресов особой экономии не дадут.
ДАМП будет обязательно размером в флеш МК плюс отдельно байты конфигурации.
Хорошо ежли структура памяти соответствует - иначе на каждый код по два байта, да еще и размещение - какой идет первым, какой вторым - но то больше задача утилит прошивалки...
Ну и CRC "прицепом" - ведь при включении после всяческих перемещений требуется контроль целостности данных.
А CD/microCD вобщем-то фонарственно какой объем данных записан - или bin образ (кстати его спецконверторы из hex делают) или тот "полновесный" hex...
Это разве что на 24ю ЕЕПРОМку запись образа делать - тогда смысл какой-то имеется...