, поскольку я программирую устройство, относящееся к безопасности, я должен выполнить полный тест ОЗУ во время работы.
Я разделил тест на два теста:
- Проверка адресации
вы записываете уникальные значения в адреса, достигнутые каждой адресной строкой, и после того, как все значения записаны, значения считываются и сравниваются с ожидаемыми значениями. Этот тест обнаруживает короткое замыкание (или заклинивание @ low / high) адресных линий (то есть вы хотите записать 0x55 по адресу 0xFF40, но из-за короткого замыкания значение сохраняется в 0xFF80, вы не можете обнаружить это с помощью теста 2:
- Образец теста:
Вы экономите, например, первые 4 байта ОЗУ в регистрах ЦП, после чего вы сначала очищаете ячейки, записываете 0x55, проверяете, записываете 0xAA, проверяете и восстанавливаете сохраненный контент (вы, конечно, можете использовать другие шаблоны) и так далее. Причина, по которой вы должны использовать регистры, состоит в том, что при использовании переменной эта переменная будет уничтожена этим тестом.
Вы даже можете проверить свой стек с помощью этого теста.
В нашем проекте мы тестируем 4 ячейки за раз, и мы должны выполнять этот тест, пока не будет проверена вся ОЗУ.
Надеюсь, это немного помогло.