Грабли будут по любому
Цитата(Romario @ Apr 28 2006, 14:59)

нужно ли копировать код, который вызывает функцию IAP в раму?
Если прямо на вопрос, то толку вызавать IAP из RAM если сам IAP передаст управление опять во FLASH?
А если взглянуть шире, то к любым слухам стоит прислушаться.
IAP в LPC вещь очень ненадежная и странная.
На мой взгляд у них серьезные проблемы с модулем Error Correction Code или контроллером FLASH.
Я например знаю последовательность данных запись которых во FLASH через IAP гарантировано приведет к искажению информации в соседних ячейках. Выражаться будет в том, что в соседней ячейке с записанным 0 и которую при записи совершенно не трогаем возникнет бит 1, который нельзя будет в последствии перезаписать в 0! (ну не считая полного стирания сектора)
Ни отключение MAM, ни отключение PLL, ничего от этого эффекта не помогает. Проверено на нескольких LPC2148, и в разных секторах.
Использование IAP полностью корректное, прерывания отключены, питание стабильное, эффект тоже очень стабильный - 100%-ый.
Процедура использования IAP сверена с тем как делается в примерах у IAR и у Keil, в файловой системе Keil-а и как рекомендует сам Philips. Тонкость в том, что в файловых системах применяется многократная дозапись страниц в сектора FLASH-и. Если писать страницы сразу и не трогать потом, эффект не заметил пока. Но, скажем, знаю разработчиков которые имели проблемы и с однократной постраничной записью.