[an error occurred while processing this directive]
|
Народ, а не подскажите из за чего возникает следующий глюк.
Имеется EZ-KIT на BF535. Перепаян кварц на 16.384 Мгц.
Выполнятся такая вот функция:
_CopyLoader:
P0.L=_rec_data;
P0.H=_rec_data;
P1.L=KERNEL_CODE & 0xFFFF;
P1.H=(KERNEL_CODE >> 16) & 0xFFFF;
R0=[P0++];
P2=R0;
LSETUP(L_BEGIN, L_END) LC0 = P2;
L_BEGIN: R0=B[P0++](Z);
L_END: B[P1++]=R0;
RTS;
_CopyLoader.END:
_rec_data - в памяти L2, выравнен по 4 байтам
KERNEL_CODE - тоже указыает на область памяти L2
Пишу в память порядка 500 байт.
Пара байт (где то в середине) из 500 пишется неправильно. Точнее говоря в адреса "неправильных" байт вообще ничего не пишется, т.к. я изменял в отладчике информацию по этим адресам и информация оставалась после выполнения программы. По другим адресам все нормально.
Уже неделю сижу, голову всю сломал. Помогите плизз. Иначе потеряю веру либо в BF535 либо в себя как программиста схемотехника.
E-mail: info@telesys.ru