Цитата(-= Александр =- @ Nov 17 2011, 16:10)

Сразу после инициализации пишется/читается весь диапазон без проблем. А уже в процессе работы там обнаруживается всякий мусор. Вот пытаюсь понять откуда он там берется. Может там вообще какие-то переменные висят или кусок стека попадает...
Плата самодельная ? Не думаю, что дело в стеке. Откройте .map - файл и посмотрите, как распределена память и куда пишется стек. Вообще, прохождение простейшего теста вроде записи/чтения бегущего нуля - еще не показатель исправности памяти. Я лично видел множество случаев, когда динамическое ОЗУ проходило простейшие тесты, но при настоящей работе сбоило.
Про скаттер см. материалы у Кейла на сайте (www.keil.com; введите там в строке поиска слово "scatter"). Но едва ли дело в этом. Сначала нужно добиться устойчивой работы без скаттера. Благо, для не слишком сложных проектов обычно можно обойтись и без него ...
P.S. А вы в курсе, что своим массивом вы забили все 32 МБ ? Если да, то указали ли вы компилятору, что объем этого ОЗУ - 32 МБ ?