Как-то раз делал загрузчик. Для того чтобы он мог перепрошивать самого себя, при старте он копировал себя из флэш в ОЗУ. Для этого ничего не надо было делать в настройках линкера. Единственное изменение: заменить адрес начала флэш с 0x08000000 на 0x00000000. В коде загрузчика просто делал memcpy(), потом ремап. Думаю, в вашей ситуации такой подход тоже оправдан.
|