Цитата(Andrew-S @ Dec 29 2006, 12:48)

Vladimir_, спасибо! прояснили кое-что для меня. Application note как я понимаю - AP1603703. Это про ресет.
Не только, в основном как конфигурируется старт-ар режим. Это важно.
Цитата(Andrew-S @ Dec 29 2006, 12:48)

Программирование флеш из самой флеш возможно. На сайте кейла есть пример когда загрузчик и основная программа представляют собой два отдельных приложения во флеш. Они лежат по разным адресам и не знают друг о друге (первый раз загрузчик пишется во флеш через bootstrap).
Похоже что возможно, но с оговорками, как говорит даташит:
Flash memory locations or that writes
data to the page assembly register can be executed also from internal Flash, supposed
that directly after the move instruction for the last command cycle of programming or
erase operations a jump to memory outside the on-chip Flash memory (on-chip RAM or
external memory) is executed.
Если только этот jump не заставит изощрятся.
Т. е. похоже что надо "выключать" шины после каждого цикла.
И не обойтись без кода в RAM - получается после цикла надо обязательно перейти на RAM/extern based код. Правда не говорят на сколько минимально, скорее всего просто чтобы перещелкнуть page регистр.
Что касается app note от Кейла, если это app_186, то
-1. Используют JTAG
-2 Используют старый "FLASH OS" (а если новый, то не видел) и она предполагает расположение в RAM, о чем и говорили ранее, нет там кода, программирующего из флэш.
Да и вряд-ли будет у них другое решение - это пример универсального решения для всего семейства.
С любым набором внешней/внутренней флэш.
Цитата(Andrew-S @ Dec 29 2006, 12:48)

При внутреннем старте запускается загрузчик и по команде на линии связи переход на запуск приложения. Сам загрузчик в системе никогда меняться не будет. Смысл IAP - смена прошивки без перевода в режим bootstrap loader c помощью пина. А задача такая стоит из за невозможности физического доступа к контроллеру в системе при наличии только штатной линии связи (SPI), по которой предполагается иметь полный доступ к управлению микроконтроллером (в том числе и смену основной программы). PSRAM используется наверно для перезаписи целиком всей флеш. И туда же еще надо код положить.
Целиком флэш - понятие весьма условное.
Вот Кейл и давал примеры - как перемещать код в RAM.
Если Вам надо (или удобнее) без bootstrap - тогда задача совсем другая.
Цитата(Andrew-S @ Dec 29 2006, 12:48)

Все-таки Bootstrap получается самый надежный метод. И я так понимаю, Вашим пользователям ручками не надо дергать сигнал на пине P0L.4.
P0L.4 дергает хост программа по линии управления модемом от RS232.
программа и обеспечивает прошивку и верификацию.
Если использовать для прошивки Bootstrap, то без аппаратной поддержки не обойтись.
Но управлять линией можно и программно через внешний аппаратный регистр, это широко применяется.
Без пина в Bootstrap просто не попасть.
Насчет надежности - безусловно. Да и проще.
Код загрузчик/монитор защищен аппаратно.
Конкретное решение сильно зависит от задачи. Если у Вас приложение стартует только по внешней команде, а не при включении устройства - это одно, а если должно уметь работать автономно - совсем другое.
Удачи Вам!