left_pic.gif (73 bytes)
общие замечания | железо | программное обеспечение | микросхемы

nazvanie_razdela.gif (6537 bytes)

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

В: Что тогда обозначает сообщение: "Программирование секторных ПЗУ под Windows скорее всего работать не будет"?

Секторные (а лучше сказать пейджевые (страничные)) ПЗУ (такие как At290x0 или Winbond 020, 040)отличаются от обычных Flash тем, что данные помещаются перед импульсом программирования целой страницей (128, 256 или более байт). При этом задержка между данными ограничена (порядка 200-300mks). Windows-же любит иногда прервать выполнение задачи для выполнения своих операций. Поэтому для страничных Flash мы предупреждаем особо и просим запустится под “эмуляцию DOS”.

В: Можно как нибудь перенести файлы пзу из формата АТМ в IBM ?

Если имеется в виду диск, то это обычный TR-DOS диск и читается на PC с помощью hobeta (она сохраняет файлы приписывая им 17ти байтовый заголовок, насколько я помню, который надо просто удалить. Кажется последняя версия так же умела сохранять файлы без заголовка)

В: Где Взять всякие конверторы для софтины UNIProg Например HEX(MPLAB) -> HEX(UNIProg) и т.п. !!!

В дистрибутиве Uniprog'а например (bin/xcvt), кроме того, сам Uniprog понимает только bin, все остальное (в Uniprog'е) делается той же самой утилитой (bin/xcvt) и hex от mplab он должен понимать.

В: Как с помощью программатора "Uniprog" считать/записать "плавающие" биты в УФ ПЗУ? Поскольку в новом ПО есть возможность чтения при произвольном напряжении, и возможность задания многих параметров программирования, то возможность для этого, вероятно, есть.

Считать просто - прочесть м/сх при нормальном напряжении, затем открыть новое окно и прочесть при пониженном, результаты сравнить - где не совпало, там они и есть. Проверить можно откопировав одно из окон в clipboard и произведя 'logic evaluation' из второго - сделать xor буфера и clipboard'а, ненулевые байты в результате будут соответствовать плавающим байтам. Можно найти и начало/конец этого диапазона, написав logic script. Программировать несколько сложнее, но вкратце - надо запрограммировать требуемые байты при пониженном напряжении питания. Это можно сделать запрограммировав сначала диапазон не попадающий в 'плавающие биты' нормальным алгоритмом (возможно в 2 приема, так как диапазон программирования может быть только непрерывным), а затем откорректировав в параметрах алгоритма напряжение Vcc при программировании (для этого надо запускать Uniprog с ключем '=prog.special') зашить область плавающих битов.

В: Попробовал вышеописанную технологию - чтение без особых проблем, а с записью не получилось. Либо, например, при питании 3.1 вольта бит "прошивается" "железно", либо, при 3 вольтах - просто не "шьется". Для экспериментов были использованы КС573РФ2.

В наши микросхемы запись плавающих бит обречена (во всяком случае раньше так было). Кроме того, в импортные тоже не во все можно. Реально надо брать только качественные - фирм Intel, Thomson и некоторых других (сейчас не упомню). Проще говоря, определяется только путем пробы, т.к. даже в некоторые "хорошие" плавающие биты не пишутся принципиально.

В: При редактировании выделение блока происходит за курсором - в результате невозможно выделить последний байт буфера.

По клавише Alt-F10 Local menu- вызываете локальное меню в котором выбираются режимы выделения:
Block type (.)
Stream exclusive ( )
Stream inclusive ( )
Colume ( )
Line Выбирите второй пункт.

В: При редактировании невозможно сделать заполнение (FILL) HEX кодом (например FFh).

Надо вводить 0xFF или 0FFh, т.е. начинать с цифры.