Добрый день, дамы и господа!
Есть названный микроконтроллер и снаружи 2 микросхемы SDRAM по 32 Мбайт. Шина данных 32 бит, шина адреса 15 бит.
Память работает адекватно, по-крайней мере пока... Но появилось желание добавить тест. Пока начали с простейших тестов: неисправность ША и ШД. Алгоритм следующий (для ША): устанавливаем фиксированный адрес в пространстве SDRAM, и начинаем записывать "бегущую" единичку по этому адресу, контролируя запись считыванием. Алгоритм не сами придумали, а почитали умные документы) Но что интересно, когда шину данных коротишь капелькой припоя, штатная программа виснет, оно и понятно - память становится "повреждённой". Но тест этого не видит. Он считывает данные без ошибок. Выяснилось, что забыли переменную указателя адреса объявить volatile. Но это помогло, но как-то странно: в 1 случае из 10 тест стал выявлять замыкание. Мы подумали, что есть кэши и буфера, и добавили перебор адресов и данных (128) смежных ячеек. Результат тот-же: тест видит ошибку примерно каждый 10 запуск. Может быть кто-то сталкивался с тонкостями SDRAM? Что может влиять? Куда глядеть?
Спасибо!!!
--------------------
Выбор.
|