[an error occurred while processing this directive]
|
бутлоадер НИКУДА НЕ ГРУЗИТСЯ. Он прошит в масочную ПЗУ внутри МК. Он после резета грузит приходящую по SCI/SPI инфу во внутреннее ОЗУ МК. И туда передает управление. Флеш не трогается. На этом принципе построено прошивание той самой флеши, кстати. Так как в режиме программирования из нее прогу выполнять нельзя. Так что система такая:
1) Используя встроенный бутлоадер грузишь свою мелкую прогу во внутреннее ОЗУ.
2) Эта прога что-то там инициализирует, карты памяти настраивает, вырубает внутреннюю флеш, ставя на ее место внешнее ОЗУ.
3) Эта прога принимает от тебя твою программу и пишет ее во внешнее ОЗУ.
4) JMP 0
PS тактируется при обращении в область программной памяти, DS в память данных, IS - в адресное пр-во ввода-вывода. Следствие гарвардской архитектуры. Для записи в область программной памяти есть инструкция TBLW. Так что писать можно используя хоть PS, хоть DS, хоть IS. Только прежде чем писать в PS, надо не забыть отрубить оттуда флеш, переведя проц из режима микроконтроллера в режим микропроцессора, установив бит MP/MC в регистре SCSR2.
E-mail: info@telesys.ru