Цитата(zltigo @ Oct 3 2008, 16:59)

И совершенно зря - нормальный подход к полностью контролируемому коду и процессу работы. Использование "готовых" неведомо для чего сделанных и могущих, между прочим легко поменяться при переходе к другой версии пакета, "универсальных" решений верный путь к ненужным проблемам.
Взять "универсальный" в качестве заготовки, обдумать, понять, подправить.....

Уже осознал это. Так в итоге и сделал.
Только вот какой момент смущает, смотрю итоговый map файл и вижу:
Код
NEAR_I DATA 00000200 - 000003F2 1F3 Relative 0
NEAR_Z DATA 000003F3 - 00001DF5 1A03 Relative 0
RSTACK DATA 00001DF6 - 00001E75 80 Predefined 0
CSTACK DATA 00001E76 - 00002075 200 Predefined 0
NEAR_N DATA 00002076 - 00002076 1 Relative 0
что стек располагает сразу после секции глобальных переменных. Почему IAR не расположил стек в конце памяти(хотя для формирования стека был указан диапазон всей памяти)? Если разнести стек и глобальные переменные в разные концы памяти, то при переполнении стека будет некий защитный буфер адресов, гарантирующий, что глобальные переменные не затруться. Очень странно....
Буду пытаться исправить вышеописанное руками в скрипте.