Здравствуйте все.
Пробую тестовую программу по работе с SDRAM, плата SC-MLPC1788. Если пишу константу в память(всю область) и считываю/проверяю, то все нормально проходит. Если же пишу переменную(допустим счетчик) то с ошибками.
Код
test2 = 0x0000;
for (i=0, test = 1; i<(SDRAM_SIZE >> 4); i++)
{
*short_wr_ptr++ = test; // если пишу переменную test, то ошибки
// *short_wr_ptr++ = test2; // если константу test2
test++;
}
short_wr_ptr = (uint16_t *)SDRAM_BASE_ADDR;
_DBG_("Verifyng in 16 bits format...");
for ( i= 0, test = 1; i < (SDRAM_SIZE >> 4); i++) // проверка
{
if ( *short_wr_ptr != test )
{
_DBG_("Verifying fail, testing terminated!");
_DBH16_(*short_wr_ptr); _DBG(" "); _DBH16_(test);
_DBG_(" ");
_DBD16(i);
_DBG_(" ");
// while ( 1 ); /* fatal error */
}
short_wr_ptr++;
test++;
}
в отладчике выяснил, что ошибки при чтении и проверки. Что может быть?
Нет, оказывается записывает с ошибками.