Еще обратил внимание, что маленькая буква 'o' исказилась. Вам стоит серьезно проверить озу.
- - - Добавлено - - -
И маленькая буква 'a' подпортилась. Удивительно, как тест отработал.
Еще обратил внимание, что маленькая буква 'o' исказилась. Вам стоит серьезно проверить озу.
- - - Добавлено - - -
И маленькая буква 'a' подпортилась. Удивительно, как тест отработал.
Нет, все нормально. +5 вольт занижено +4,7
https://yadi.sk/i/Wk24uNCvkb9dEg
И на картинке теста техпрогона вижу проблемы: три точки под буквой G, еще точка выше и правее Y. Тест техпрогона получатся эти ошибки не отлавливает, надо попробовать другие тесты. В последнее время читал книжки и статьи про озу, могу попробовать свой тест набросать.
Буду вам очень признателен, да и другим тоже пригодится.
Собрал тест памяти в соответствии со своими представлениями.
Запускаем, если память нормальная, то один полный прогон длится примерно 8-9 минут, в это время на экране меняются разные узоры. После такого прогона напечатает две строки
Pass: четыре цифры номера прогона (0000, 0001 и т.д.)
CRC: F748 - цифры должны быть именно такие!
Если хотим еще прогон, то жмем УС или СС или РУС/ЛАТ
Если в процессе была обнаружена ошибка, то прогон завершается досрочно и печатаются пять строк
Pass: четыре цифры номера прогона
CRC: F748 - цифры должны быть именно такие!
Error Address: четыре цифры адреса с ошибкой
Byte Written: восемь бит записанных в ячейку по этому адресу
Byte Read : восемь бит прочитанных из ячейки по этому адресу.
Пара фич, которые считаю важными отличиями от многих других тестов:
1. Контроль самой программы (код+тексты+шрифт) с использованием CRC. Правда функция контроля возлагается на пользователя. Если CRC не совпало, значит сама программа испортилась.
2. В основном цикле тестирования операции записи и чтения разнесены, т.е. нет такого, что записали и сразу оттуда же прочитали.
Недостаток: небольшая область переменных и стека (<256 байт) не проверяется и если там есть ошибки, то они не будут обнаружены.
Что можно улучшить:
1. Можно ускорить
2. Можно не прекращать тест при обнаружении первой ошибочной ячейки, а продолжать до переполнения протокола тестирования.
Когда-нибудь постараюсь доработать, но эти два недостатка не принципиальные, они только делают использование программы менее комфортным.
А что если сделать программу проверки как бы из двух частей, первая проверяет всю свободную память, а вторая копирует тест в другое место, тестирует память под ним, и потом возвращает всё назад?
Это было бы круто, но сложновато. Сам бы я для охвата всего озу просто сделал две версии с разными рабочими адресами.
Не намного сложнее двух версий... К ним нужно просто добавить процедурку копирования области памяти.Хотя, и две версии тоже будет неплохо, для надёжности проверки.
Не просто копирования, а еще и настройки программы на новые адреса, это все же посложнее.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)