Перейти к содержанию
    

Тестирование внешного RAM

Имеется система AVR и внешняя энергонезависимая RAM 32Kb.

Как можно протестировать RAM на работоспособность, но так чтобы в случае выключения питания во время теста не испортить содержимое RAM?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это зависит от структуры данных в памяти, дублируются они, не дублируются, котр. сумма есть или нет и т.д. И насколько память занята полезными данными?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это зависит от структуры данных в памяти, дублируются они, не дублируются, котр. сумма есть или нет и т.д. И насколько память занята полезными данными?

Нужно проверить именно работоспособность RAM а не достоверность находящихся в ней данных!

Проверить нуно хотябы что нет кз по ШД т.е. по любому адресу пишется и читается правильно $00,$FF,$55,$AA

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда пишите/читайте в одну, например, последнюю ячейку и не занимайте ее под реальное хранение данных, тогда данные испортятся только в этой ячейке, но вам это не повредит. Тут, правда, может быть нюанс, если память работает только в каком-нибудь страничном режиме, то можете потерять всю страницу, хотя это больше к SDRAM относится, у вас же SRAM, полагаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда пишите/читайте в одну, например, последнюю ячейку и не занимайте ее под реальное хранение данных, тогда данные испортятся только в этой ячейке, но вам это не повредит. Тут, правда, может быть нюанс, если память работает только в каком-нибудь страничном режиме, то можете потерять всю страницу, хотя это больше к SDRAM относится, у вас же SRAM, полагаю.

В таком случае я протестирую только одну ячейку памяти, а хотелось бы всю память протестить.

Да память SRAM, страниц нету.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если шина данных замкнута, то что даст такая проверка?

Можно ли верить данным в такой памяти?

Все перевернуто с ног на голову.

 

1) Если устройство включается первый раз, то данных нет и память тестируется полностью.

2) Данные появляются и их достоверность контролируется контрольными суммами.

3) Если контрольные суммы не соответствуют, значит данным верит смысла нет, и память можно тестировать опять полностью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используете доп. 3 переменных в ОЗУ. Адрес текущей проверяемой ячейки, данные в ней, флаг валидности.

 

Проверка каждой ячейки представляет из себя сохранение адреса и содержимого ячейки в вышеописанных переменных и установка флага валидности (именно в таком порядке). Потом тест. Потом восстановление содержимого ячейки и сброс флага валидности.

 

Если произойдет сброс во время теста, то при установленном флаге валидности востанавливаете текущую тестируемую ячейку.

 

А вообще это способ себе ноги простреливать, через ресет поднимать состояние из внешнего озу.

 

PS Лично я рассматриваю эти тесты исключительно как отмазку при разного рода сертификационных испытаниях на соответствие каким-либо требованиям, в которых прописано - вот нужен тест, и писец. Ну и пусть будет, мне не жалко.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PS Лично я рассматриваю эти тесты исключительно как отмазку при разного рода сертификационных испытаниях на соответствие каким-либо требованиям, в которых прописано - вот нужен тест, и писец. Ну и пусть будет, мне не жалко.

Вот именно, нужен какой нибудь тест озу!

Ну не простож написать "RAM test" и через какоето время "completed" можнож в это время и потестить ченить :biggrin:

 

Спасибо Rst7 за идею, будем ее думать :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот именно, нужен какой нибудь тест озу!

Ну не простож написать "RAM test" и через какоето время "completed" можнож в это время и потестить ченить :biggrin:

Спасибо Rst7 за идею, будем ее думать :rolleyes:

Google и поиск по memtest86 Вам в помогут,

все возможные алгоритмы тестирования памяти там уже есть... в исходниках...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну не простож написать "RAM test" и через какоето время "completed"

 

Если в ТЗ (или в другом руководящем документе) не указана вероятность пропуска ошибочной ситуации (написано просто "должно быть тестирование памяти", ну или "оборудования" или еще какой хрени), то можно и так. Один раз я так делал. В наглую. Прокатило.

 

Но лучше какое-нибудь дрючило ячеек написать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PS Лично я рассматриваю эти тесты исключительно как отмазку при разного рода сертификационных испытаниях на соответствие каким-либо требованиям, в которых прописано - вот нужен тест, и писец. Ну и пусть будет, мне не жалко.
Тут все же ключевое слово "внешнее" ОЗУ.

Его надо тестировать, без фанатизма конечно, чтобы работоспособность шины проверить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В таком случае я протестирую только одну ячейку памяти, а хотелось бы всю память протестить.

Да память SRAM, страниц нету.

 

Проверить нуно хотябы что нет кз по ШД т.е. по любому адресу пишется и читается правильно $00,$FF,$55,$AA
Я из этого исходил, а другие варианты вам ответили уже выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...