[an error occurred while processing this directive]
|
Не обязательно вся программа должна быть размещена в ОЗУ. В ОЗУ может быть размещен только сам "прошивальшик флэш", поскольку исполнение программы из флэш запрешено при ее программировании. Программа, подготавливающая данные для прошивки может работать и в ПЗУ.
По поводу прерываний, можно попробовать использовать address match detection function для перехвата прерываний в режиме бут-лоадера, либо в обработчике прерываний проверять бит текущего режима работы и редиректить в нужное место. Проблемы могут быть в пропуске прерываний (и соответсвенно IP фреймов), поскольку на время записи очередного блока данных во флэш прерывания надо полностью гасить.
Если есть неиспользуемые внешние прерывания и соответствующие свободные pin-ы, то прерывание от CS8900 можно завести на 2 разных входа прерывания и в зависимости от режима работы разрешать лишь одно из них. Прерывание в режиме бут-лоадера можно сделать также и на адрес в ОЗУ, куда и может быть помещен сам код лоадера при необходимости.
E-mail: info@telesys.ru