Здравствуйте. Вот столкнулся с такой проблемой.
Работаю с 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 спокойно правится руками. Так что получается что-то непонятное.
|