[an error occurred while processing this directive]
|
Т.к. эти байты уже заняты программой, поэтому линкер тебе и выдает ошибку. Абсолютные адреса НЕ ДОЛЖНЫ ПЕРЕСЕКАТЬСЯ, поэтому я тебе и написал, что CRC лучше писать в самый конец кодовой памяти (ПЗУ), я это делаю своим загрузчиком на этапе записи во FLASH, т.к. у меня at89s8252, а в твоем случае надо модифицировать выходной hex или bin файл.
Относительно pcrc16 - переменная действительно хранится в ПЗУ, но сравнивается она с другой CRC, которая лежит ОЗУ и в которую записывается расчитанная CRC программы самой программой, у меня на этот случай есть функция crc16, можешь посмотреть на webdrive, библиотека u51s.rar. И эта pcrc16 нужна только для проверки расчитанной CRC (которая лежит в ОЗУ).
E-mail: info@telesys.ru