Решил тоже взяться за написание оболочки. В принципе - ничего сложного: стандартная форма с меню и кнопками, ассемблерные вставки из исходника Сержа + драйвер под XP для прямого доступа к портам (под Win98 и он не нужен).
Только пара вопросов:
1. Насколько я понял из исходников на ASM - скорость выдачи сигналов на LPT-порт никак не регулируется самой программой, она определится просто быстродейственностью работы самого порта. Нет ли вероятности Run-Time Error? Не сможет ли порт попросту "обогнать" программируемую микросхему (хотя Flash-память изначально рассчитана на сравнительно высокую скорость считывания для нормального запуска системы, но пусть кто-нибудь поточнее скажет). Что произойдёт если в процессе записи в какой-то момент Windows "тормознёт" (всё-таки он многозадачный), не собьётся ли запись? Где бы почитать поподробнее...
2. Детский вопрос - можно ли "программно" повредить прошиваемую микросхему (в результате ошибки записи например) и есть ли разница между 74HC374, 74HC374D, 74HC374DR, 74HC374N, SN74HC374W (кроме рабочих температур, типа корпуса, производителя и т.п.) все ли их можно применить, или предпочесть отечественный аналог КР1564ИР23?
Удовлетворю любобытство, спаяю схему и возьмусь за программу.
Mad-Converter 1. Почитать можно в документации на любую микросхему flash-памяти с интерфейсом LPC или FWH. Основные параметры для стирания/записи - время записи байта (обычно около 100 мкс) и время стирания (обычно около 0.2 с) - т.е. обычные задержки, но это можно контролировать программно - data polling/toggle bit - производители пишут, что можно использовать любой вариант. По быстродействию LPT-порта: чтение из него может производиться с частотой около 500-600 кГц, по записи не помню. Если Винда тормознет, то ничего страшного не произойдет.
2. Программно можно включить блокировку зоны boot block'а. Разницы между приведенными микросхемами для данной схемы нет, по моему достать 74HC будет проще, чем 1564.
Дааа.... на первый взгляд было всё понятно, но когда начал углубляться в исходники на асме и алгоритмы флешек, то появилась куча вопросов. Сижу, учюсь по малу, хочеться сделать красивую программульку...
А тупо воткнуть ассемблерный код из имеющегося исходника в программу на Си или Паскале не прокатит? (Сам я ещё программатор не сваял, поэтому до выходных программу не начну).
А тупо воткнуть ассемблерный код из имеющегося исходника в программу на Си или Паскале не прокатит? (Сам я ещё программатор не сваял, поэтому до выходных программу не начну).
Я программирую на С... но на сколько я знаю, асм в Си воплощён частично и используется только для решения всякого рода математических операций и не более... поэтому вставить не получится. Я умею кодить под ЛПТ, но вкурить полностью алгоритм пока не получилось... как появится свободное время, попытаюсь ещё разок.
"Есть его схема и архив программ. Всего две программы:
fl2read для чтения двумегабитных LPC/HWB FLASH в файл output.bin, при этом никаких проверок не делается.
fl2write для записи двумегабитных LPC/HWB FLASH из файла input.bin, при этом никаких проверок не делается.
Я специально разнес программы чтения и записи - так меньше вероятность испортить что-либо. "
Нескромный вопрос от новичка: собственно, откуда читаются (где создаются?)
эти самые input.bin и output.bin - с дискеты? Получается, файл с прошивкой от производителя нужно переименовать и разместить на дискете? Пожалуйста, поподробней о самой процедуре прошивки (что, в какой последовательности
запускается), если можно...
[quote="serj"][/quote]
собрал программатор, все перепроверил (по схеме), порт LPT в EPP установил...
на микросхемы 74HC374 и на Flash 49FL002A подал напряжение 3,3 V...
попытался считать данные с Flash от матери GA-8IPE1000...
в итоге читает полный бред.... http://slil.ru/25603826 что я не так делаю?
и еще вопрос... если мне нужно прошить Flash, я скачиваю BIOS с сайта произвадителя и переименовываю в input.bin и прошиваю? ничего рапаковывать не надо?
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
На _полный_ бред это совсем не похоже. Данные меняются осмысленно, хоть и часто одинаковые в пределах 16 байт.
Первое впечатление, что ты ошибся с каким-то выводом адреса, или не подключен.
Ты земли тоже соединил?
Прошивать надо тот файл, который дается нормальной программе 'программной' прошивки BIOS.
на микросхемы 74HC374 и на Flash 49FL002A подал напряжение 3,3 V
Звучит как-то странно, типа "включил рубильник" . По оригинальной схеме присутствует стабилизатор, который и питает регистры и флешку. На LPT в некоторых случаях рекомендуют довешивать подтягивающие резисторы.
Valentin_N писал(а):
ничего рапаковывать не надо?
Если прошивка предоставляется в виде архива, то распаковать все же придется . Тем более распознать архив вроде не так уж и сложно, достаточно поглядеть на расширение файла .
На _полный_ бред это совсем не похоже. Данные меняются осмысленно, хоть и часто одинаковые в пределах 16 байт. Первое впечатление, что ты ошибся с каким-то выводом адреса, или не подключен. Ты земли тоже соединил? Прошивать надо тот файл, который дается нормальной программе 'программной' прошивки BIOS.
вот меня и беспокоил тот факт, что данные часто одинаковае в пределах 16 байт проверив все еще раз, нашол все же косяк в виде замыкание на плате. теперь читает осмысленные вещи но остался нюанс... залил свежую прошивку, потом считал ее с флеша и сравнил в WinHex, получилось не все так радужно, вот лог сравнения http://slil.ru/25608876 вроде закономерности не вижу, кроме как одинаковые данные, в самой прошивке значение BF и DF присутствуют и по другим адресам(которых нет в логе, т.е. все же пишет)... что это может быть? на счет файла прошивки теперь все понятно, спасибо
maco писал(а):
Valentin_N писал(а):
на микросхемы 74HC374 и на Flash 49FL002A подал напряжение 3,3 V
Звучит как-то странно, типа "включил рубильник" . По оригинальной схеме присутствует стабилизатор, который и питает регистры и флешку. На LPT в некоторых случаях рекомендуют довешивать подтягивающие резисторы.
а собственно в чем разница? подключил, припаял, включил через рубильник или через реле? конечно же питаю от стабилизатора по схеме, просто кто то по теме писал что использует 5V, вот я и написал, кабы предупредить известные вопросы По поводу LPT, подтягивающие резисторы нужны только на D0-D7 или на все входы и выходы? номинал резисторов какой должен быть? питание на резисторы должно быть 3.3 или 5 вольт?
maco писал(а):
Valentin_N писал(а):
ничего рапаковывать не надо?
Если прошивка предоставляется в виде архива, то распаковать все же придется . Тем более распознать архив вроде не так уж и сложно, достаточно поглядеть на расширение файла .
вот тут если можно по подробнее, это имеется ввиду zip, rar и т.д.?
или что то другое?[/url]
накидал программку на дельфях под винду xp...
читает, пишет, проверяет... пока только 2 мегабитные Flash
как время будет, планирую добавить 3,4 и 8 мегабитные Flash
Не забудь сделать посекторное стирание вместо erase chip. А, значит схема-то работает?
хм... реализовал Chip Erase... Переделать то не сложно, но чем лучше или для чего нужно Sector Erase? Если Sector Erase, то стирать придется по 4 KByte, а если Block Erase то по 16 KByte для 2 мегабитных и по 64 KByte для остальных Flash- а это время Erase увеличиватся... схема-то заработала
Chip-Erase for PP Mode Only The Chip-Erase operation is initiated by executing a sixbyte Software Data Protection command sequence with Chip-Erase command (10H) with address 5555H in the last byte sequence. The internal Erase operation begins with the rising edge of the sixth WE#. During the internal Erase operation, the only valid read is Toggle Bit or Data# Polling.
Для Intel'овских и Atmel'овских зверюшек erase chip вроде как отсутствует.
P.S. Я только мельком проглядел документацию .
FWH и LPC знаю... а HWB кто есть кто?
поисковик ни чего умного не сказал... можно написать хоть одну модель flash, что бы найти Datashit?
а там узнаем от куда ноги ростут
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения