Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SDRAM запись считывание с ошибкой
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Iptash
Здравствуйте все.
Пробую тестовую программу по работе с 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++;
      }

в отладчике выяснил, что ошибки при чтении и проверки. Что может быть?

Нет, оказывается записывает с ошибками.
Jenya7
не знаю как у вас, но я в своей практике столкнулся с тем что нужно дождаться пока память готова к следующей записи. для проверки вставте задержку.
jcxz
Цитата(Iptash @ Mar 19 2015, 18:45) *
в отладчике выяснил, что ошибки при чтении и проверки. Что может быть?
Нет, оказывается записывает с ошибками.

Криво инициализируете EMC. Найдите LPC1788_SDRAM.mac в IAR, возьмите настройки оттуда.
Также в комплекте с платой идёт набор примеров. Там есть конфигурирование SDRAM для этой платы.

Цитата(Jenya7 @ Mar 22 2015, 20:46) *
не знаю как у вас, но я в своей практике столкнулся с тем что нужно дождаться пока память готова к следующей записи. для проверки вставте задержку.

чушь
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.