|
Каюсь, до сих пор ни разу не приходилось внутрисхемно программировать AT29C040A. Всегда использовал эту микросхему только, как ROM. Но тут пришлось слепить платку с малым объёмом ОЗУ. Некоторые характеристики системы требуется изменять уже в процессе эксплуатации. Коды программы занимают процентов 25 от общего объёма микросхемы. Вот и возникло желание использовать часть памяти для хранения редко изменяющихся массивов. Да вот проблемка неожиданная возникала: если запись в микросхему не блокировать механически (электрически), то управляющая программа эпизодически самоубивается. То есть не работает то, что называется программной защитой от случайной записи-стирания. Я уж дня два бьюсь, ну НЕ ПОЛУЧАЕТСЯ АКТИВИЗИРОВАТЬ эту самую защиту. Я так понял из описания, что однажды активизированная с помощью магической последовательности команд защита всегда уже и остаётся включённой (до момента программного же выключения). Так вот, микросхема пишется чудесным образом как в том случае, если записываемый блок предваряется ммагической последовательностью, так и в том, когда команды временного снятия защиты отсутствует. Вопрос: в чём фишка? Три команды на условном ассемблере выглядят так:
$AA -> $5555
$55 -> $2AAA
$A0 -> $5555
Запись блока 256 байт.
Повторюсь: даже без этой последовательности микросхема благополучно пишется.
За два дня я дошёл уже до посленей степени самоуничижения (((. И вот, прошу помощи. Help me please!
E-mail: info@telesys.ru