Здравствуйте.
Вот столкнулся с такой проблемой.
Работаю с IAR 4.41 + H-JTAG + Wiggler.
В xcl Файле линкера задаю расположить секцию CODE в области RAM вот таким образом
-DRAMSTART=00200000
-DRAMEND=00020FFFF
-Z(CODE)CODE=RAMSTART-RAMEND
Также в настройках отладчика ставлю галочку "Verify download"
При входе в отладчик он ругается, что
Warning Target inconsistency detected in memory range 0x00200800 - 0x2008FD
,,,,,,,,,
Warning Target inconsistency detected in memory range 0x00200FD8 - 0x200FFF
И отлаживаемая программа начинает вести себя самым непонятным образом.
Если же сказать линкеру что
-DRAMSTART=00201000
т.е. проблемный участок 0x200800 - 0x200FFF оставить пустым, то никаких предупреждений не выдается и программа работает как часы.
Вот такие дела. Думал, что по адресам 0x200800 - 0x200FFF мапируется какая-то служебная область памяти, но вроде бы ничего подобного.
У меня есть два макета OLIMEX SAM7H256 так вот на обоих возникает такая проблема, т.е. это скорее всего не аппаратный глюк памяти.
Также в отладчике память по адресам 0x200800 - 0x200FFF спокойно правится руками.
Так что получается что-то непонятное.