|
Бутлоадер делаете отдельно от основной программы, пуск всегда с бутлоадера, там в начале проверка CRC, но реальный бутлоадер лежит чуть дальше и вход в него делается если CRC не сошлась или переходом (на реальный) из основной программы. Плохо то, что нужно это хитрое место знать, но решаемо выделением сегмента с фиксированным начальным адресом. Ещё хуже то, что возврат в основную программу нормальный будет только на 0 (стек побить можно, ежели даже не перешиваться), иначе неизвестный контент ручками сохранять надо.
Если знать как посчитать CRC с помощью EW для отдельной области памяти программ, то можно компилить всё вместе. Правда тогда, ежели в бутлоадере юзать прерывания, то INTVEC-ов нужно 2.
E-mail: info@telesys.ru