Цитата(KIG @ Nov 28 2009, 19:20)

Вариант с предварительной загрузкой программы на свободное место собственной флэш памяти (либо внешней флэш), проверкой контрольной суммы, а лишь затем заменой старой прошивки на новую мне подходит. Подскажите, пожалуйста, как переделать код моей программы-загрузчика для реализации данного алгоритма, либо где можно посмотреть похожие примеры (прочитать о самопрограммировании подробно).
Переписывать вашу программу мне лениво, тем более отлаживать мне ее не на чем. Между тем причины, вызывающие у вас затруднения, мне непонятны. Ведь если вы уже умеете перезаписывать прошивку, начиная с нулевого адреса, то разве может возникнуть проблема загружать не нуля, а выше? Начинайте запись не с нулевой страницы, а с той, где у вас пустота начинается, - вот и вся разница.
Пример самопрограмирования обычно приводится в даташите, в разделе про boot-загрузчик. Конкретнее ответить не могу, т.к. вы не называете ни типа вашего МК, ни компилятор, которым пользуетесь.