Цитата(Serg_el @ Jun 11 2012, 13:43)

Т.е. в любом случае имеем 2 копии FAT: полную и урезанную. Т.к. заниматься поиском нужных для копирования секторов при наличии реализованной FAT совсем не хочется.
Делал очень похожую систему. Команда обновления прошивки приходила в устройство от компьютера. Получив эту команду, устройство перегружалось посредством Watchdog'а (WDT). После перезагрузки устройство анализировало, чем эта перезагрузка была вызвана. Если это была перезагрузка после обычного включения питания, то выполнялся переход к выполнению основной программы. Если же перезагрузка выполнялась по инициативе WDT, то выполнялся переход к выполнению загрузчика. В этом случае и основное ПО, и загрузчик использовали один и тот же код ...