Прошивка флеш памяти программатором: Страница не найдена — ZetSila

Программатор SPI и I2C микросхем памяти Minpro I V1.3 на CH552G

  Микросхемы памяти серий 24хх (EEPROM), 25хх (Serial Flash) широко используются в электронике. Такие чипы присутствуют в составе практически любой конструкции современной бытовой и промышленной аппаратуры, где есть процессоры и/или микроконтроллеры. Данный программатор имеет возможность работы с обоими типами памяти.


  В комплект поставки входят сам программатор и переходная плата с двумя посадочными местами под микросхемы памяти в SOIC корпусе. Чипы на переходник нужно или припаивать, или попробовать прижать микросхему прищепкой или держателем для бумаг.

  Так-же на переходнике есть посадочное место для разьема PLD-8 (в комплект не входит, я впаял 2хPLS-4), предназначенного для подключения прищепки или шлейфа программирования.

Аппаратная часть (Hardware)

  Печатная плата программатора имеет немного деталей и простую топологию печатной платы.

  Часть дорожек закрыта панелькой ZIF, но их немного и можно попробовать вызвонить их прозвонкой. Итоговая схема у меня получилась такой:

  На схеме не обозначены внутренние подтяжки в контроллере, pull-up резистор 1,5к между выводами UDP USB и V33, и pull-down резистор между выводами RST и GND. Выход отдельного стабилизатора 3,3V в схеме не задействован и выведен только на контакты панельки ZIF. По схеме сразу видно отличие от программатора на Ch441, для программирования микросхем памяти обоих типов (25хх (SPI Flash) и 24хх (I2C EEPROM)) используется только одна половина ZIF панельки, ближняя к ручке:

  Становится понятным и значительное ускорение программирования чипов SPI относительно Ch441, микросхемы памяти этого типа напрямую подключаютcя к аппаратному SPI интерфейсу контроллера. Для чипов I2C EEPROM ускорения не произойдет, аппаратного блока интерфейса I2C в контроллерах CH55x нет, а значит его реализация выполнена программно и управляется через bitbang

.
  Схема подключения питания соответствует даташиту, питание 5V от USB подано на зашунтированный конденсатором вход внутреннего стабилизатора (вывод 15, VCC), его выход (вывод 16, V33) тоже зашунтирован конденсатором.

  Здесь необходимо учитывать, что на I/O каскады контроллера подается питание 5V, а значит и на входах микросхем памяти оно будет соответствовать 5V за вычетом падения напряжения на I/O каскадах контроллера. Это падение будет двойным, т.к. вывод GND микросхем памяти также подключен к выводу I/O. Обычно падение на МОП ключе составляет 0,1-0,4V, а значит на входах микросхем памяти будут присутствовать сигналы с уровнем в пределах 4,2-4,8V. Для микросхем памяти большинства производителей это некритично, т.к. у них входы 5V толерантны, но лучше все-таки сверять по даташитам.
  В даташите описан способ приведения уровней ввода/вывода к 3,3V, для этого надо соединить выводы 15 и 16 контроллера и подать на них 3,3V от внешнего стабилизатора. При этом небходимо учитывать, что для перепрошивки контроллера напряжение на выводе 15 должно быть равным 5V, и при таком включении возможность обновления firmware теряется.

  Если планируется программирование флешек 1.8V через основной разьем необходимо дополнительно приобрести модуль 1.8V-adapter. Бонусом является то, что переделать его для поддержки и уровней 3.3V несложно, надо лишь закоротить вход/выход стабилизатора 1.8V дополнительным джампером.

  Теперь при наличии джампера адаптер работает с логическими уровнями 3.3V, при отсутствии — 1.8V.
Минус тут в том, что стоимость адаптера сравнима со стоимостью самого программатора. Но если он уже есть, почему бы его не использовать по полной?

Программная часть (Software)

  В программную часть программатора входят драйвер и программа-прошивальщик «Minpro I USB High Programmer». На сайте изготовителя можно скачать программу вместе с драйвером в ZIP архиве. Сайт на китайском, справа зеленая стрелка для загрузки.

  После распаковки архива в рабочую папку программы сначала нужно установить драйвер. Для этого вставьте программатор в USB порт, в диспетчере устройств появится устройство «MinPro» с неустановленным драйвером. Щелкнуть по устройству правой кнопкой, «обновить драйвер», выбрать вручную, указать свежесозданную папку программы. Драйвер установится и в диспетчере устройств в разделе «libusb-win32 devices» появится ваш программатор «MinPro».

Внимание, драйвер не имеет цифровой подписи!

Теперь можно запустить саму программу-прошивальщик, файл MinproI.exe.

  Если программа запускается в первый раз, язык интерфейса будет на китайском. В строке меню найдите второе справа меню и выберите последний пункт для переключения на английский. Если программатор подключен, в окне сообщений будет написано об этом, State — Connected.

  Номенклатура прошиваемых микросхем памяти довольно большая, и расширяется с каждой новой версией программы:

список микросхем который поддерживает данный программатор:

********************************** 25 SPI FLASH ********************************
AMIC:
A25L05P A25L05PT
A25L512 A25L10P A25L010 A25L020
A25L20P A25L40P A25L040 A25L080 A25L80P
A25L16P A25L016 A25L032

ATMEL:
AT25F512 AT25F512B AT25F512A AT25F1024 AT25FS010
AT25F1024A AT25F2048 AT25DF021 AT25DF041A AT25F4096
AT26F004 AT26DF041A AT25FS040 AT26DF081A AT26DF161A
AT25DF161 AT26DF161 AT26DF321 AT25DF321A AT25DF321
AT25DF641

EON:
EN25B05 EN25F05 EN25B05T EN25P05 EN25LF05
EN25F10 EN25P10 EN25D10 EN25LF10 EN25D20
EN25LF20 EN25F20 EN25F40 EN25D40 EN25LF40
EN25T80 EN25D80 EN25Q80 EN25F80 EN25P80
EN25Q16 EN25h26 EN25B16T EN25F16 EN25D16
EN25T16 EN25B16 EN25F32 EN25P32 EN25B32
EN25Q32 EN25B32T EN25B64T EN25Q64 EN25F64

EN25B64 EN25F128 EN25Q128

ES:
ES25P40
ES25P80 ES25P16

ESMT:
F25L04UA F25L004A F25L08PA F25L008A F25L016A
F25L16PA F25L32PA F25L32QA F25L64QA

GIGADEVICE:
GD25Q512 GD25Q10 GD25Q20 GD25Q20
GD25D40 GD25Q41 GD25F40 GD25Q40
GD25D80 GD25F80 GD25Q80 GD25T80
GD25Q16 GD25Q32 GD25Q64 GD25Q128

KH:
Kh35L4006E Kh35L8036D Kh35L8006E Kh35L1606E

MSHINE:
MS25X40

MXIC:
MX25V512 MX25L512 MX25L1005 MX25L2005 MX25L2026
MX25U4035 MX25V4035
MX25L4005A MX25V4005 MX25L8005
MX25V8006E MX25V8005 MX25U8033E MX25L8036E MX25V8035
MX25L8035E MX25U8035
MX25L8006E MX25L1636E MX25L1606E
MX25L1633E MX25L1608D MX25L1635E MX25U1635E MX25L1605D
MX25L1608E MX25L1636D MX25L3225D MX25L3237D MX25L3236D
MX25L3206E MX25L3205D MX25U3235E MX25L3208D MX25L3235D
MX25U3235F MX25L3208E MX25L6455E MX25L6408D MX25L6465E

MX25L6408E MX25L6406E
MX25L6445E MX25L6405D MX25L6436E MX25L6406
MX25L12865E MX25L12835E MX25L12836E MX25U12835F MX25L12835F
MX25L12855E MX25L12845E
MX25L12805D MX25L25635E/F
MX25L25639F MX25L25735E/F
MX25U25635F
MX25L2573 MX66L51235F
MX66U5123F

PMC:
PM25LV512A PM25LV010A PM25LV020 PM25LV040 PM25LV080B

SPANSION:
S25FL001 S25FL040 S25FL002 S25FL004 S25FL008
S25FL160 S25FL016 S25FL032 S25FL064 S25FL128

SST:
SST25VF512A SST25VF512 SST25VF010A SST25VF010 SST25VF020
SST25VF020A SST25VF040B SST25VF040 SST25VF040A SST25VF080B
SST25VF016B SST25VF032B SST25VF064C

ST:
M25P05A M25P10A M25P20 M25P40 M25PX80 M25PE80 M25P80
M25PE16 M25P16 M25PX16 M25PX32 M25P32
M25PE32 M25P64 M25PE64 M25PX64 M25P128

WINBOND:
W25P10 W25X10A W25X10AL W25X10L W25X10
W25X20A W25X20L W25X20 W25X20AL W25P20

W25Q40BV W25X40 W25X40AL W25X40L W25X40A
W25P40 W25P80 W25Q80BV W25X80L W25X80A
W25X80AL W25Q80V W25X80 W25X16 W25Q16BV
W25Q16V W25P16 W25P32 W25Q32V W25X32
W25Q32BV W25Q64BV W25X64 W25P64 W25Q128FV
W25Q128BV W25Q256FV

********************************* 24 EEPROM ***********************************
ATMEL:
AT24C01; AT24C01A; AT24C01B;
AT24C02; AT24C02A; AT24C02B; AT34C02D;
AT24C04; AT24C04A; AT24C04B; AT34C04;
AT24C08; AT24C08A; AT24C08B; AT24RF08C;
AT24C16; AT24C16A; AT24C16B;
AT24C32; AT24C32A; AT24C32B;
AT24C64; AT24C64A; AT24C64B;
AT24C128; AT24C128A; AT24C128B;
AT24C256; AT24C256A; AT24C256B;
AT24C512; AT24C512A; AT24C512B;
AT24C1024; AT24C1024A; AT24C1024B;

CATALYST:
CAT24C01; CAT24C02; CAT24C04; CAT24C08;
CAT24C16; CAT24C32; CAT24C64; CAT24C128;

CAT24C256; CAT24C512; CAT24C1024;

CORIGHT:
24C01; 24C02; 24C04; 24C08; 24C16;
24C32; 24C64; 24C128; 24C256; 24C512; 24C1024;

FAIRCHILD:
FM24C01; FM24C02; FM24C03; FM24C04;
FM24C05; FM24C08; FM24C09; FM24C16;
FM24C17; FM24C32; FM24C64; FM24C128;
FM24C256; FM24C512; FM24C1024;

HOLTEK:
HT24C01; HT24LC01; HT24C02; HT24LC02;
HT24C04; HT24LC04; HT24C08; HT24LC08;
HT24C16; HT24LC16; HT24C32; HT24LC32;
HT24C64; HT24LC64; HT24C128; HT24LC128;
HT24C256; HT24LC256; HT24C512; HT24C1024;

ISSI:
IS24C01; IS24C02; IS24C04; IS24C08;
IS24C16; IS24C32; IS24C64; IS24C128;
IS24C256; IS24C512; IS24C1024;

MICROCHIP:
24AA01; 24FC01; 24LC01; 24AA02; 24FC02; 24LC02;
24AA04; 24FC04; 24LC04; 24AA08; 24FC08; 24LC08;
24AA16; 24FC16; 24LC16; 24AA32; 24FC32; 24LC32;

24AA64; 24FC64; 24LC64; 24AA128; 24FC128; 24LC128;
24AA256; 24FC256; 24LC256; 24AA512; 24FC512; 24LC512;
24AA1026; 24FC1026; 24LC1026;

NSC:
24C02; 24C02L; 24C64;

NXP:
PCA24S08;

RAMTRON:
FM24C04A; FM24CL04; FM24C16A; FM24CL16;
FM24C64; FM24CL64; FM24C256; FM24CL256; FM24C512;

ROHM:
BR24C01; BR24L01; BR24T01; BR24C02; BR24L02; BR24T02;
BR24C04; BR24L04; BR24T04; BR24C08; BR24L08; BR24T08; BUL08;
BR24C16; BR24L16; BR24T16; BR24C32; BR24L32; BR24T32; BR24C64; BR24L64; BR24T64;
BR24T128; BR24T256; BR24T512; BR24T1M;

SANYO:
LE26CAP08;

ST:
M24C01; ST24C01; M24C02; ST24C02; M24C04; ST24C04;
M24C08; ST24C08; M24C16; ST24C16; M24C32; ST24C32;
M24C64; ST24C64; M24128; M24256; M24512; M24M01; M24M02;

XICOR:
X24C01; X24C02; X24C04; X24C08; X24C16;

  Схема данного программатора похожа на схему популярного программатора EZP (эта попроще), особенно версий EZP2019, EZP2020 в которых применяется тот-же контроллер CH552G.
  EZP имеет более долгий путь развития и соответственно более широкую номенклатуру прошиваемых микросхем памяти. В инете встречались упоминания о переносе недостающих типов чипов памяти из номенклатуры обслуживаемых, из чип-листа EZP в чип-лист данного программатора MinproI.Dat. Программа EZP поддерживает данный формат файлов, можно редактировать MinproI.Dat.

Перепрошивка программы контроллера (Firmware)

  Для перепрошивки необходимо ввести контроллер в режим DFU (device firmware update) — специальный режим, предназначенный для полной переустановки прошивки устройства. Для входа в этот режим по умолчанию необходимо соединить на контроллере ножки V33 (16) и UDP (12) через резистор ≥ 10k (10-22k). На программаторе сделать это несложно, т.к. эти ножки выведены непосредственно на неиспользуемую часть ZIF панели. Резистор, переключающий в режим программирования, распознаётся микроконтроллером только в момент подачи питания (ресета), когда внутренний резистор 1.5K ещё не подключен (подключается он при программном включении блока USB), а потом просто шунтирует внутренний резистор (поэтому и требование ≥ 10k). Резистор можно оставить постоянно подключенным на все время программирования.

  Я пробовал резисторы 10к и 22к, с обоими уверенно переключается в режим DFU, при этом загорается зеленый светодиод «RUN». Попробовал подключить резистор по другому, к выходу дополнительного стабилизатора 3,3V:

  На первый взгляд кажется, что особой разницы между этими подключениями нет. А вот и есть, второй способ подключения не работает.

  Когда контроллер в режиме DFU у чипа меняется Device ID на шине USB и ему требуется другой драйвер, он есть в комплекте программы-прошивальщика. Без него устройство не распознается.

Для перепрошивки firmware контроллеров CH55x предназначена утилита «WCHISPTool»:

Утилита требует установки в Windows. После установки надо зайти в каталог утилиты и вручную запустить установщик Setup.exe драйвера USB Ch475WDM.INF.

После этого в диспетчере устройств подключенный контроллер в режиме DFU будет виден так:

Идентификатор устройства — VID 4348, PID 55E0. Класс USB устройства — vendor specific class.

Порядок запуска утилиты и вставки программатора в USB разьем значения не имеет. После выбора вкладки и модели чипа он появится в списке устройств.

P.S. Отличия в интерфейсе последней на момент написания статьи версии 2.90 утилиты WCHISPTool. Их не много:

  Добавилась вкладка программирования чипов Ch42F1, и что более интересно, теперь при определении контроллера утилита выводит в Log-окне его UID и версию бутлоудера.

P.P.S. Возможно у кого-то, как и у меня может возникнуть вопрос, допустим программатор мы перепрошили, поигрались, как теперь вернуть прошивку обратно? К сожалению доступ к контроллеру CH552G мы получаем с помощью утилиты WCHISPTool и бутлоадера. Ни тот ни другой не предусматривают доступа к Flash памяти программ для чтения, а значит официально сделать upload программы нельзя.
  Но как говорится, если нельзя но очень хочется, то можно. Считыватель firmware через загрузчик написал участник немецкого форума Thomas. Их там 2 варианта, для загрузчика старой версии 1.1 (freader.zip, с исходниками), и для новой 2.31 (freader2.zip, один ехешник). Оба работают через 5 функций из ch475dll.dll, алгоритм работы следующий. Снимается полный дамп 16-килобайтной области Flash, считывание начинается с конца. Перебором 0..255 по нисходящей идет поиск загрузчика, и потом попытка считывания каждого байта (через верификацию). В программе есть ошибка, последний байт (адрес 0х0000) всегда считывается как 0хFF. Учитывая что это адрес вектора сброса, и там почти всегда стоит команда LJMP, байт 0хFF надо поменять на 0х02.
  Чтобы не возиться с путями лучше просто скопировать флеш-дампер в папку установленного WCHISPTool, подключить программатор в режиме DFU (с резистором), запустить freader.exe, после отработки он создаст 2 файла firmware.hex и firmware.bin.

Microsoft Windows [Version 6.1.7601]
(C) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\WinSoft\WCHISPTool>freader.exe
CH552 Flash Dumper
... Bootloader V2.3 found.
... starting point found at 0x3FE4
... now reading the flash. This may take some time. If bored cancel with ESC
................................................................................
................................................................................
................................................................................
................
C:\WinSoft\WCHISPTool>

  Алгоритм простого перебора быстрым не бывает, у меня на ноутбуке чтение заняло 9:21 сек. Т.к. моя цель была получить и сохранить на будущее только прошивку программатора, нужно открыть firmware.bin в HEX-редакторе (я использовал HxD). Код разделен на 2 части, прошивка (firmware, начало 0x0000) и загрузчик (bootloader, начало 0x3800), между ними 0xFF. По адресу 0x0000 надо заменить байт 0хFF на 0х02, выделить весь код до начала блока 0хFF и сохранить как MinPro_I.bin.
  Осталось проверить, подключаем программатор в режиме DFU (с резистором), загружаем WCHISPTool, в качестве User-файла указываем свежесозданный MinPro_I.bin, запускаем верификацию, отчет:
Device#0 UID:B9-64-4D-43-00-00-00-00, BTVER:02.31
** User file name:D:\TEMP\MINPRO_I.BIN
** Download bytes:10432 B
User file HASH: 9B16D6FF3303C0F029074C4E1E5E7E4E18938872
Via usb download CH552 firmware
Device No.90700408 is started to download
BTVER:02.31
Verifying…
complete
1#device device download is complete
Total verified:1, 1 succeed, 0 failed
time used:0.405s
Запаковал MinPro_I.bin в ZIP, приложил к статье.

Схемы программаторов для биос микросхем. Как прошить микросхему bios на программаторе? Основные программы, которые нам понадобятся

Сегодня мы с Вами рассмотрим работу с таким инструментом, как программатор для биос компьютера. И, что самое главное, выполним с его помошью перепрошивку! Прежде чем начать, запомним следующее: работа с программатором не является чем-то сложным или требующим особых навыков (как ошибочно думают многие) и ничего программировать нам здесь, на самом деле, не нужно:)

Или создайте виртуальную машину, на которой вы написали биографию. Если вы это выясните, вы можете загрузить и взломать. Написал ли вы биос, что вы после? Есть много проблем низкого уровня, которые более полезны и интересны. Замена этой биографии на ваш, скорее всего, будет заменой файла в каком-либо каталоге или с использованием параметра командной строки, чтобы указать альтернативную биографию.

Когда вы хорошо разбираетесь в этом, тогда, если на них все еще есть материнские платы с наследственными биозами, возможно, вы можете взломать свой путь программирования. В некоторых ноутбуках он покрыт черной липкой лентой, которую нужно временно удалить, чтобы получить доступ к чипу. Впереди или в конце могут быть дополнительные буквы, которые важны, когда вы выбираете заменяемый чип, но для того, чтобы найти чип на материнской плате, они не актуальны.

Программатор просто записывает «зашивает» (заливает) предварительно скачанную нами прошивку (микрокропрограмму) непосредственно в микросхему биос. Хотя программаторы выполняют одну и ту же функцию, но выглядеть могут по разному. Вот, например, несколько моделей (нажмите на фото для увеличения):

Обычно это устройства, которые подключаются к USB (LPT или COM) порту компьютера. Для них в систему устанавливается свой драйвер, идущий в комплекте с программатором и после этого они готовы к работе.

Пайка проводов непосредственно на контакты чипа

Это можно выполнить несколькими способами. Используя тонкие изолированные провода, мы можем подключить чип к программисту. Они просты и относительно безопасны для использования на чипе, который сидит в материнской плате. Вероятно, это самый безопасный вариант для большинства людей, хотя он также имеет некоторые ограничения.

Самый безопасный метод: разрезание штифтов

Если вы не заботитесь о сохранении чипа, используемого на материнской плате, то ваша самая безопасная ставка заключается в использовании инструмента для обработки клипа для вырезания или использования небольшого файла, чтобы отфильтровать каждый вывод по одному.

Но обо всем по порядку! Итак, разберем один реальный случай, недавно произошедший у нас на работе. Есть у нас один старый компьютер с установленной на нем Windows 98 и специфической программой, которая только под этой ОС и работает. Короче говоря, именно тот случай, когда и выбросить нельзя и отремонтировать нужно!

А неисправность наша выглядела следующим образом: при загрузке компьютера на монитор выводилось вот такое сообщение.

Если вы пошли с методом «подавать», не забывайте очищать полученную металлическую пыль и стружку от материнской платы. Они могут вызвать короткое замыкание позже, когда питание будет повторно применено. Как только все штифты отрезаны, вы можете использовать свой паяльник для очистки остатков.

Метод специалиста: использование горячего воздуха

После описанной выше процедуры пайка нового чипа будет ощущаться как ветер. При пайке в заменяющем чипе обратите внимание на ориентацию — контакт # 1 отмечен как на старом, так и на новом чипе, убедитесь, что они совпадают. Если у вас есть доступ к паяльной станции горячего воздуха, которую вы можете использовать, вы можете использовать ее, чтобы легко удалить чип. Тем не менее, это довольно опасный способ извлечения чипа, так как паразитное тепло от теплового пистолета может легко отпаять соседние компоненты, создавая беспорядок и, возможно, заканчивая компьютер.


Обычно подобная надпись достаточно недвусмысленно дает понять, что нужно , но тут проблема усугублялась тем, что после этого месседжа компьютер намертво «зависал» и работать с ним дальше было невозможно. Т.е. использовать саму плату для прошивки было нельзя.

Делать нечего, придется использовать программатор для биос. Еще раз повторю: программировать и пользоваться программатором — разные вещи! 🙂

Рекомендуется покрывать окружающие области теплостойкой лентой, оставляя только чип, который должен быть удален под воздействием тепла. Кроме того, вы должны постоянно держать сопло в вертикальном положении, чтобы уменьшить вероятность выдувания соседних компонентов. Этот метод требует высокого уровня знаний и опыта при пайке с использованием горячего воздуха. Легко сделать беспорядок, установив его на слишком высокую температуру слишком сильного воздушного потока.

Традиционный метод: использование старого старого паяльника

Этот метод также требует большого опыта в пайке. После того, как чипы отключены от платы, очистите подушки при подготовке нового чипа. Если вы сделаете это так же быстро, как и я, вы можете повторно использовать старый чип после его перепрограммирования.

Итак, каков наш план действий в данной ситуации? Сначала нужную скачать (желательно — максимально «свежую») прошивку для данной микросхемы биос, затем аккуратно извлечь сам чип флеш-памяти из платы, установить в программатор и записать туда скачанную нами микропрограмму. Как видите, — все просто! 🙂 Приступим, с Божьей помощью!

Итак, для начала нам нужно определиться с моделью нашей . Вскрываем корпус компьютера и заглядываем ему в самую «душу» 🙂

Подробные инструкции по установке и использованию доступны на его веб-сайте. Для выполнения вышеуказанной команды потребовалось около 42 секунд. Для выполнения вышеуказанной команды потребовалось около 70 секунд. Не все из них строго необходимы, многое зависит от вашей конкретной задачи и потребностей.

Синтаксис и основные команды

Когда вы разрабатываете, в какой-то момент вы будете мигать кодом, который не может загрузить вашу материнскую плату. Чтобы преодолеть это, вам понадобятся. Способ получить некоторый результат для получения журналов отладки, чтобы понять, что происходит. Способ перепрофилирования, когда это произойдет. . На этой странице перечислены многие инструменты, которые могут помочь в отладке, повторной фильтрации или обоим.


Между PCI слотами видим обнадеживающую надпись: P6VAA. Не шибко информативно, конечно, но уже кое-что! Теперь, вооружившись надеждой на лучшее, «идем» в Интернет и начинаем его терзать на предмет поиска по этой надписи. Через некоторое время выдает нам результат: данная материнская плата является детищем фирмы Elitegroup Computer Systems (ECS).

Чипы с равным размером, вероятно, заставят вас сломать доску один день. Внешние программисты не всегда необходимы. Вместо этого используйте вашу материнскую плату. Повторите эту вторую часть и попробуйте перезагрузить компьютер. Многие платы позволяют запрограммировать более одного типа вспышки, но явно менее универсальны, чем реальные программисты.

Инструменты и методы обмена чипами

Некоторые программисты не работают и работают с другим программным обеспечением. Обычно вы можете найти их в большинстве магазинов электроники. Оба типа стоят примерно 5-10 евро. Консоль и выходы перечисляют различные способы получения журналов загрузки с преимуществами, требованиями и ограничениями каждого способа.

В описании сказано, что «на борту» у нее установлен чип с биос от фирмы «Award». Что, впрочем, явственно следует из стикера, приклеенного поверх самой микросхемы:

Еще немного «погуглив» в том же направлении, получаем возможность скачать из Всемирной «паутины» подходящий для нашей платы Bios. Вот как выглядел в моем случае этот «счастливый билет»:

В этом случае программист — это устройство, которое программирует чип. Два основных типа программистов — это встроенный программист и традиционный программист. Маленький заголовок идет к соответствующему разъему на монтажной плате, и как только программирование завершено, его можно удалить из схемы. Также преимущество заключается в том, что запрограммированная память не требуется удалять из схемы.

Этот так называемый «битрейдинг» программист. Это также встроенный программник, но он использует последовательный порт компьютера для генерации сигналов для программирования устройства. Другой конец кабеля переходит в запрограммированную схему. И теперь у нас есть классические программисты. Они требуют, чтобы чип был удален из схемы и помещен на самом программистом. Иногда их также называют параллельными высоковольтными программистами.


Как Вы понимаете, говорить о «свежести» данной прошивки биоса не приходится (2001-й год), но и компьютер у нас, что называется, уже «не мальчик» (Pentium 3, однако!) 🙂 Просто скачаем архив с файлом биоса себе на компьютер: пусть пока полежит до подходящего момента.

Здесь у нас есть программист, который программирует чип в сокете. Оно самодельное, и его главным преимуществом является его низкая цена, но, с другой стороны, ему нужен параллельный порт на главном компьютере для работы. Вот еще один программист, в который нужно вставить устройство.

Обычно для этих программистов видны разные типы сокетов, потому что родственные семейства микросхем с аналогичными программными интерфейсами часто доступны в нескольких разных пакетах. Основное различие между этими двумя типами программистов заключается в том, что программистам в цепи в действительности нужен чип, который настроен на принятие программирования. Иногда из-за плохого программирования или по конструкции устройство остается в таком состоянии, что его невозможно запрограммировать в своей собственной схеме.

Итак, сверяемся с нашим планом действий. По нему следующим этапом у нас — извлечь микросхему биос из платы. Вот и сделаем это! Прежде всего, полностью выкрутим саму материнскую плату. В принципе, можно этого и не делать, но если дело у меня доходит до стадии программатора, то поступаю именно так. Вот наша плата от Elitegroup:

В таких случаях он должен быть удален и помещен во внешний программист. Обычно внутрисхемные программисты работают, подключаясь к устройству и используя немного прошивки для загрузки новой прошивки в устройство. С другой стороны, классические программисты могут принудительно записывать непосредственно в память устройства, поэтому его можно использовать даже тогда, когда он не реагирует.

Ну, это зависит от причины ошибки. Хотя это может показаться ложью, в большинстве случаев решение проблемы более чем простое. На большинстве материнских плат имеется перемычка для выполнения этой функции, которая обычно находится рядом с батареей, а метод стирания ограничивается отключением питания, а затем изменением положения этой перемычки. Эта позиция должна поддерживаться в течение нескольких секунд, а затем помещать ее в исходное состояние. Во всяком случае, это не так на всех материнских платах, так что никогда не будет больно смотреть на руководство.

Теперь, как и договаривались, будем «выковыривать» из нее нашу микросхему флеш-памяти bios. Ковырять будем с помощью специальной приспособы, которая называется экстрактор (extractor). В данном случае, вот такой:

Это PLCC экстрактор и служит он именно для извлечения микросхем с форм-фактором PLCC (Plastic Leaded Chip Carrier). Переводится приблизительно как: «безвыводной пластиковый фиксатор чипов». Как это выглядит? А вот так:

Очевидно, что это решение не всегда эффективно. Чтобы применить его, нам понадобится материнская плата точно такая же, как наша, где мы будем перепрограммировать наш неправильный чип. Поэтому, если мы удалим чип с машиной, ничего плохого не произойдет.

Как только мы перезагружаемся, все должно работать нормально, а затем мы можем либо изменить чип, либо оставить его как есть. Таким образом, мы можем легко удалить чип и без риска сгибания или разрыва контактов. Мы можем использовать один или два кронштейна в качестве инструмента, поскольку использование какого-либо слота на материнской плате позволит нам легко удалить чип. Существуют также плоскогубцы, предназначенные исключительно для работы с чипами этого типа.


Как можно наблюдать, чип флеш-памяти как будто «обернут» пластмассовым посадочным гнездом с 32-мя контактами. В народе это гнездо еще называют «кроваткой» или «подушечкой», а 32 его контакта позволяют нам говорить о таком форм-факторе, как PLCC32. Вот именно для извлечения подобных PLCC микросхем (с разным количеством контактных площадок) и предназначен наш экстрактор. Его металлические зажимы имеют на концах небольшие крючки, с помощью которых биос извлекается из платы.

Если всё-таки надо перепрошивать

Мы повторяем: мы должны быть очень осторожны, и мы должны быть расслаблены, чтобы иметь лучший импульс, поскольку в некоторых случаях мы можем сжечь чип. Есть и другие, чья работа основана на отправке команд через терминал. Устройства этого типа довольно дороги, поэтому его покупка не оправдана, если мы должны ремонтировать только материнскую плату. Однако мы можем обратиться к электронному бизнесу, где мы делаем эту работу для более доступной суммы. Также на сайтах онлайн-аукционов есть много людей и компьютерных сайтов, которые предлагают эту услугу.

Примечание: разновидностей (видов) самих микросхем биос бывает несколько. Если говорить о самых «ходовых», то это будут PLCC, DIP, SOP и SOIC. Причем, цифра после названия, как правило, говорит нам об общем количестве выводов (контактов) самого чипа.

Каждый «уважающий» себя программатор снабжен набором соответствующих переходников (адаптеров), обеспечивающих электрический контакт микросхемы с нашим устройством. Проще говоря: позволяющим установить ее в программатор. Другое дело, что эти самые переходники, как правило, продаются отдельно (в виде дополнительных опций) к программатору и все вместе могут достаточно существенно поднять его конечную стоимость. Что поделаешь? За расширение функционала приходится платить!

Прибегать к друзьям, чтобы восстановить его

Например, это может быть связано с тем, что некоторый детонатор напряжения, помимо взятия чипа памяти, также сделал это с некоторым конденсатором материнской платы. Метод, описанный ниже, является рискованным. Вместо этого на этот раз вы полностью подключите его к разъему. Обычно в этих программах всегда есть возможность принудительно программировать. Сделайте это и выполните проверку расписания.

Для сборки нам понадобится

Распаковка электронных схем не рекомендуется для тех, у кого нет опыта в этом. Импортируйте таблицы стилей. Определенные пользователем функции. Создание веб-страниц с сервера. Тема 3: Отправка и получение данных. Формирование форм. Отправка файлов в формы. Обработка информации формы. Тема 4: Введение в базу данных Введение в реляционную базу данных, концепции и основы. Введите данные в таблицы. Запрос, добавление, изменение и удаление записей. Параметрированный поиск из форм.

Для большей наглядности хочу продемонстрировать Вам один их вариантов подобного набора адаптеров (справа на фото можете посмотреть описание каждого из них). Можете нажать на фото для увеличения:


Самые распространенные чипы, с которыми нам, вероятнее всего, придется иметь дело при перепрошивке биоса на программаторе будут выглядеть примерно так:

Создание страниц с информацией из базы данных. Однако, если обновление установлено неправильно или процесс обновления прерван, системная плата может быть постоянно повреждена и компьютер не сможет загрузиться.

  • Обновление устраняет проблему с компьютером.
  • Обновление повышает производительность вашего компьютера.
Если на вашем компьютере нет подключения к Интернету, используйте другой, который необходимо загрузить, и сохраните на съемном носителе.

Основные программы, которые нам понадобятся

Печатная копия этого документа. Посмотрите на тип процессора. Некоторые компьютерные модели могут иметь более одного типа процессора в течение производственного периода. Перейдите на страницу спецификации продукта вашей компьютерной модели. . Нажмите «Загрузить», и при появлении запроса нажмите «Сохранить как», чтобы сохранить файл в удобном месте, например, на рабочем столе.

Примечание: форматы SOP SOIC внешне похожи, но немного отличаются расстоянием между выводами и самим их изгибом. Хотя DIP корпуса не было на большом фото выше, но мы еще вернемся к нему по ходу этой статьи. Если захотите больше узнать про различные корпуса микросхем, то можете скачать себе .

Сейчас нам нужно воспользоваться экстрактором для аккуратного извлечения чипа. Вставляем его в специально предназначенные для этого пазы на разъеме (кроватке):


PLCC экстрактор сконструирован таким образом, что после захвата микросхемы нам не нужно даже тянуть ее на себя. Достаточно просто плавно сдавить боковые секции прибора (свести их вместе) и чип биоса сам выпрыгнет из своего посадочного места. Примерно вот так:


Давайте внимательно посмотрим на освободившееся посадочное место:


Что мы здесь (на фото выше) видим? Видим 32 контакта (PLCC32, помним) для флеш-памяти биос, пазы для установки экстрактора (обозначены треугольниками) и «срезанный» край кроватки (нижний правый угол). Это, так называемый, «ключ», который сделан специально для того, чтобы мы установили микросхему единственно возможным и правильным образом. Видите, на правой части фото такой же «срез» есть на самом чипе bios.

Внимание, волнующий момент! Берем наш программатор для прошивки биос! Лично я когда-то заказал себе вот такую модель:

Это — «NANO USB Programmer», любезно предоставленный нам нашими корейскими друзьями, которые продают его через E-bay. Размером чуть больше флешки! Данный программатор «заточен» именно для перепрошивки биосов материнских плат. Дорогие и «навороченные» модели поддерживают целую кучу других микросхем, не имеющих к компьютерам никакого отношения. Конечно, если есть лишние деньги, то… запас карман не тянет, как говорится:) Мне же нужен был небольшой (относительно недорогой) и простой в использовании программатор именно для прошивки биосов. Поэтому на нем и остановился.

Примечание: если интересно, можете скачать с нашего сайта , который пришел мне в комплекте с устройством и ознакомиться с прибором более подробно. Там есть краткое описание, фотографии, список поддерживаемых им микросхем и т.д.

Стоит подобный программатор 20 долларов, НО — это только в базовой комплектации (без дополнительных опций). Именно такой, как на фото выше. Основные опции — это, как правило, дополнительные модули-переходники, которые расширяют функционал устройства и оно, в итоге, может поддерживать большее количество микросхем и чипов. Одну из «опций» я за три доллара заказал себе сразу вместе с программатором и покажу Вам ее позже.

Итак, устанавливаем в программатор микросхему биос (не забываем свериться с «ключом»).


Вообще, работа с программатором делится на два этапа: физические манипуляции с платой, экстрактором, чипом, самим программатором и, непосредственно, работа с программой-прошивальщиком (флешером), которая и «зашивает» (записывает) bios в чип.

Сейчас мы подошли именно к такому моменту. Давайте же быстро «пробежимся» по основным моментам работы с программным обеспечением нашего устройства. Естественно, что у каждой модели оно свое, но общая схема, как мы и говорили выше, следующая: сначала устанавливаем драйвер для программатора, затем запускаем флешер и «шьем» микросхему флеш-памяти биос.

Итак, распаковываем наш архив с проприетарным ПО и видим набор файлов:

Что здесь присутствует? Директория с драйверами (driver), несколько файлов с документацией (уже давал на них ссылку выше) и сам «exe» файл флешера (программы-прошивальщика).

Как и договаривались, сначала устанавливаем драйвер. В самой процедуре нет ничего сложного или необычного, поэтому на этом отдельно останавливаться не будем. Скажу только, что он успешно ставится как на Windows XP, так и на Windows 7 (x32).

После установки заходим в диспетчер устройств и проверяем результат. В секции «контроллеры USB» мы должны увидеть вот такую картину:


Устройство успешно установлено! Теперь нужно запустить саму программу (файл biosw.exe) и начать священнодействовать! 🙂

Совет! перед применением именно этого программного обеспечения весьма желательно отключить антивирус, так как он, почему-то считает запуск данного приложения потенциально опасным. Ну, по крайней мере, мой Касперский — считает.

Главное окно программы у нас выглядит вот так:


Вот люблю иногда интерфейсы, не страдающие, как говорил один мой знакомый, «излишней функциональностью «! Пять основных кнопок. Причем, можно пользоваться только двумя:)

Примечание : после тыка в любую из кнопок у меня появлялось вот такое окно:

Написано, что устройство подключено к низкоскоростному USB порту или используется не оптимальный режим передачи по шине (OHCI). Правда, я подключал программатор и к внешнему — тот же результат. Так что можно просто нажать ОК и не обращать на это внимания.

Итак, хорошим тоном перед прошивкой биоса на программаторе считается сохранение его текущей версии в отдельный файл (на всякий случай). Вдруг случится так, что мы «залили» новый биос и он не подошел, — , а старого файла прошивки уже нет? Вот чтобы избежать такой «засады» мы и должны вначале «сбросить» исходный код в файл на компьютере. Правда, именно в нашем случае с этого толку мало, так как с имеющейся прошивкой компьютер именно что не работает. Но, для порядка, сделаем все по инструкции!


Здесь нас попросят указать имя для сохраняемого нами образа биоса. Также в поле ниже мы можем видеть, какие форматы файлов поддерживает наш программатор? После того, как мы нажмем кнопку «Сохранить», запустится сам процесс считывания и сохранения данных с микросхемы.


На фото выше можем видеть несколько важных секций. Начнем сверху: «BIOS File Information» — здесь должна показываться информация о файле-образе биоса. Поскольку мы пока файл не загружали, у нас здесь ничего и нет. Чуть ниже вторая секция: «Device Information» — информация по самому чипу. Здесь можем видеть серийный номер, название, производителя, тип микросхемы и т.д. Дальше — визуальный информер о состоянии процесса и название операции, которая выполняется в данный момент (Read — чтение).

После завершения процедуры можем заглянуть на наш диск С: и убедиться, что файл биоса успешно сохранен у нас на :


Теперь, наконец-то, можно приступать к прошивке биоса на нашем программаторе! Нажимаем вторую кнопку «Write» (запись), которая есть в главном окне программы.

Снова откроется окно проводника Windows, но здесь нам уже нужно будет выбрать файл-образ нашего биос, который мы предварительно скачали из Интернета:


Выделяем наш bin файл и нажимаем кнопку «Открыть». После этого появится вот такое окно:


Оно гласит: «Чип будет перезаписан! Хотите продолжить?» Еще бы! Конечно, хотим! 🙂 Нажимаем «Да» и программатор начнет прошивку биос.


Обратите внимание на первую секцию скриншота выше: «BIOS file information» Сейчас здесь появились данные, которые отсутствовали на предыдущих фотографиях.

После завершения автоматически запустится процесс проверки (Verify) целостности и корректности записанных во флеш-память данных.


Еще немного терпения и в строке статуса (в самом низу окна) мы увидим долгожданное: Success (успешно)!


Давайте кратко рассмотрим оставшиеся функциональные кнопки! Следующая за теми, что мы уже опробовали — «Erase» (стереть). Тупо стереть всю микросхему. Зачем нужно? Ну, если имеете доступ к компьютеру младшего брата, можете, когда его не будет, сделать ему этот самый Erase и поставить микросхему обратно. Посмотрите на реакцию, когда он включит ПК! Шутка:)

Кнопка «Verify» (проверить) запустит процесс проверки на корректность записи (мы уже наблюдали ее в работе). И последняя — «Get ID» (получить идентификатор) может, при определенной доле везения, отобразить нам в секции «Device Information» данные об установленном в программатор чипе.

Теперь что нам нужно? Правильно! Выковырять чип из программатора, установить его обратно на плату, собрать все это дело в кучку и попробовать запустить. Экстрактор нам в помощь, как говорится, начали:


Аккуратно, соблюдая «ключ», устанавливаем элемент на плату, собираем и запускаем:


Уже весьма обнадеживает! Еще немного терпения и — вот оно счастье: никогда не думал, что логотип загрузки Windows 98 может вызывать чувство почти полного умиротворения:)

Итак, программатор для биос в очередной раз оправдал оказанное ему высокое доверие, и уверенно подтвердил звание «полезной штуки » для прошивки «той хрени на плате «: цитата другого моего знакомого:)

Теперь давайте немного поговорим о другом распространенном типе модулей биос. Я имею в виду DIP8 микросхемы. На плате они могут выглядеть следующим образом:


Аббревиатура DIP расшифровывается как «Dual Line Package» (корпус с двумя линиями выводов). Что, собственно, хорошо и видно по его внешнему виду. Да, и располагаться биос на материнской плате может в произвольном месте (обычно, в нижней ее части), а не обязательно так, как показано на фото выше!

Доставать (выковыривать) подобные микросхемы также удобно с помощью экстрактора, но уже не PLCC, а DIP. Вот как он может выглядеть:

Главное, немного приподнять флеш-память, а дальше зацепы входят под нее снизу и надежно фиксируют. Аккуратно тянем на себя и извлекаем из посадочного гнезда.


Раньше, до того, как у меня появился Dip-экстрактор, я пользовался зажимом «прикуривателя» для аккумулятора автомобиля (можно приобрести на любой радио-барахолке или магазине электротоваров). Тоже очень удобно! Только концы зажима нужно просовывать не под микросхему bios-а, а прихватывать ее по бокам корпуса. Примерно, вот так:

Зажим должен быть достаточно плотным! Потом просто немного покачиваем чип из стороны в сторону, одновременно вытягивая на себя. Пока он не окажется у нас в руках (в зажиме).


Расположим все «действующие лица» рядом. Здесь есть нюанс, о котором необходимо упомянуть! Помните, мы с Вами говорили о «ключе» на микросхеме биос? У корпуса DIP он тоже есть, но выглядит немного по другому: в виде углубления (или выреза) на корпусе в форме небольшого полукруга.


Внимательно посмотрите на фото выше! Видите, на материнской плате и на самом программаторе тоже есть подобные углубления и вырезы? Это сделано, опять же, для того чтобы мы могли правильно установить флеш-память.

Внимание! В отличие от PLCC корпуса, DIP мы можем установить и неправильно (сам «ключ» нам этому никак физически не препятствует). А при неправильной установке, можно запросто сжечь микросхему! Сам так один раз сделал:) Наша задача перед установкой эти вырезы совместить. «Ключ» также может иметь форму круга на самом корпусе элемента (ма-а-а-ленькое такое углубление или просто более темная область). Будьте внимательны, не спешите!

Подготовленный к работе программатор с установленным DIP элементом может выглядеть вот так:

Дальнейшая процедура ничем не отличается от той, что уже была описана нами выше: запускаем ПО флешера, идущее в комплекте, и «заливаем» новую прошивку.

Хочу порекомендовать Вам один замечательный сервис: datasheet-pdf.com . Здесь собрано большое количество документации (даташытов) на различные электрические компоненты и микросхемы. Если Вас интересует, как работает тот или иной чип, контроллер или транзистор, на какие из их выводов подается напряжение, а на какие — управляющие сигналы, как организована логика работы элемента, то просто вбиваете в поле маркировку (Part Number) интересующего Вас изделия и нажимаете Enter.

Картинка ниже — кликабельна. Как видим, я просто указал парт-номер нашего Dip-элемента флеш-памяти биос и получил вот такой результат.


Производитель — компания «Winbond», тип — Flash Memory, а нажав на значок PDF мы можем просмотреть (или скачать) полную документацию (даташыт) и узнать все характеристики нашего элемента.

Двигаемся дальше! Помните, выше мы говорили о таком типе корпуса биос, как SOP? Вот давайте остановимся на нем немного подробнее. Аббревиатура SOP расшифровывается как «small-outline package» (уменьшенный малогабаритный корпус). Обычно подобное исполнение биоса мы можем встретить на материнских платах ноутбуков и, в отличие от наших предыдущих образцов, он к ней припаивается.

Если сами и разбирали его, то наверняка видели подобные элементы:


В связи с этим, прошивка данного типа биоса, во первых: требует его предварительного выпаивания с платы, а во вторых — соответствующего SOP переходника (адаптера) на самом программаторе. Помните, выше я говорил о том, что приобрел одну дополнительную опцию? Это и был подобный SOP адаптер. Для «Nano USB Programmer» он может реализовываться одним из показанных на фото ниже способов:


Эдакий китайский корейский конструктор «собери себе сам» 🙂 Мой случай — это правая нижняя часть скриншота выше. Инсталлируется это дело примерно так: сначала в штатный Dip8 приемник нашего программатора устанавливаем две «стенки», в них — два ряда контактов.

И все это дело накрываем сверху контактной площадкой с выводами под SOP8 и SOP16 для соответствующих типов корпусов.

Как сюда установить микросхему bios форм фактора «Small-outline Package»? Знаете, ничего лучшего, как прижать ее во время «прошивки» пальцем я не придумал, при всей своей фантазии! 🙂

Правда, есть одна «приспособа», которая позволяет перепрошивать биос без его выпаивания из платы. Выглядит, как металлическая прищепка с проводами и является еще одной опцией к программатору. Естественно, весь этот «шик» — за отдельные деньги! Работает по принципу накидного крепления: просто зажимается сверху, обеспечивая электрический контакт выводов с устройством программирования.

Помните фотографию автомобильного «прикуривателя»? Вот он работает примерно так же, только на клеммах аккумулятора в машине.

Также хотел немного рассказать Вам о том, что при помощи данного программатора можно перепрошивать не только микросхемы персональных компьютеров. Какие еще? Приведу один пример из практики: эта «кроха» как-то помогла нам «оживить» лазерное МФУ Samsung SCX 4650N.

При старте на экране принтера появлялась надпись «Firmware Upgrade Wait Image », после этого устройство не реагировало ни на какие с ним манипуляции. Надпись явно указывала на проблемы с инициализацией прошивки (Интернет это подтверждал). Решили, с определенной долей скепсиса, призвать на помощь наш мини-программатор!

Для этого из принтера была извлечена плата управления, из которой было решено выпаять чип c маркировкой GD (GigaDevice) 25q64 (он же w25q64 — Winbond 25q64).


Это именно та микросхема, в которую «зашит» биос принтера Samsung SCX 4650N. Отпаяв чип с помощью , мы водрузили его через адаптер SOP 8 (о нем выше) на программатор.


После этого приступили к «прошивке». Образ с микрокодом был предварительно загружен нами из Интернета. На фото ниже видим, что микросхема корректно определилась устройством и процесс, как говорится, пошел!


После его окончания, соблюдая «ключ», напаиваем чип обратно на плату управления:


С некоторой доле скептицизма, мы помним, — включаем наш принтер и после непродолжительного раздумья, он действительно радует нас всех, собравшихся возле него, синим светом светодиодной индикации и, даже, благосклонно распечатывает для нас пробную страницу:)


В завершение статьи, предлагаю Вам посмотреть небольшое видео о том, как выглядит типичная несправность материнских плат от «Asus»: хочется сразу и начать искать КЗ на плате, но все не так, как кажется. Достаточно просто перепрошить биос и материнская плата заработает!

На этом будем заканчивать. И так статья получилась объемной. Надеюсь, все было понятно, как всегда, жду Ваших комментариев к материалу. Напоследок же хочу пожелать чтобы программатор для биос стал для Вас надежным помощником при диагностике неисправностей компьютеров!

Не столь давно приключилась со мной одна неприятность. Нужно было обновить BIOS на материнской плате, но в процессе прошивки произошла ошибка, система зависла и перестала отвечать на любые команды. После вынужденной принудительной перезагрузки компьютер включился, крутил кулерами, но на экране ничего не отображалось и не было никаких звуковых сигналов. На лицо повреждение BIOS при записи.

Немного предыстории:

Материнская плата ASUS Commando, без, модного нынче, Dual BIOS. Только Boot Block – небольшая область BIOS, не затрагиваемая записью, которая позволяет, в случае необходимости, инициализировать минимальный набор компонентов, необходимых для включения компьютера, произвести поиск BIOS на съемных носителях. Обычно подходят Floppy или флешка с файлом прошивки, переименованным в AMIBOOT.ROM (зависит от BIOS и материнской платы, точнее написано в инструкции к плате), либо CD с драйверами из комплекта поставки. Обнаружив подходящий файл, boot block запишет его в BIOS и, если все прошло правильно, компьютер после перезагрузки оживет. Неплохая фишка, несколько раз выручала, но в данном случае она не сработала, видимо, оказался поврежден и boot block.

Пришлось искать другие решения. Так как в своем арсенале инструмента у меня не было паяльной станции и стационарного программатора для разных eeprom’ок, пришлось искать более доступные решения. Рассматривая плату, я обнаружил на ней небольшой разъем SPI_J1 , а микросхема флеш памяти как раз с SPI интерфейсом. Поиск в Интернет показал, что существуют вполне приличные заводские девайсы и немало самоделок для прошивки SPI микросхем через USB (об универсальных программаторах с поддержкой SPI даже не говорю, это само собой). Правда, поиск по местным магазинам, СЦ и форумам в отличии от Google ничего не дал, а заказывать и ждать месяц очень не хотелось.

Еще немного поиска, и вот оно, решение – чешского комрада (на чешском) о предельно простом программаторе и софтине к нему для прошивки микросхем флеш памяти с SPI интерфейсом! Ничего сложного, минимум компонентов.

Технически это очень простой способ, и требует лишь базового понимания схемотехники, умения припаять пару проводков и воспользоваться командной строкой (cmd). Но если вы не уверены в своих силах, лучше не рискуйте. Кроме того, всегда можно попросить друга, дружащего с паяльником.

Сборка устройства

Для сборки нам понадобится:

  • 1 разъем DB25P, можно отрезать от ненужного шнура от принтера
  • 4 шт. резисторы по 150 Ом
  • 1 любой электролитический конденсатор емкостью 100 мкФ или более и рабочим напряжением на 6.3 В или больше (нужен при запитке от БП)
  • Кусок плоского шлейфа с IDC разъемом на 10 контактов (он идеален при наличии SPI разъема на плате)
  • Штекер molex (как на жестких дисках ATA), либо гнездо для батарейки CR2032

Ничего дефицитного нет, все можно найти в куче хлама или за копейки в любом радиомагазине. В худшем случае, можно попробовать обойтись вообще несколькими кусками провода, подсоединив контакты с SPI напрямую к LPT, однако, в данном случае нужно быть предельно острожным, да и правильность записи гарантировать сложно.

Программатор SPIPGM может использоваться и для микросхем флеш-памяти с рабочим напряжением 1.8 Вольт . Автор применяет для этого дополнительный модуль (своего рода переходник), который подключается к основному модулю и состоит из дополнительных резисторов для гашения напряжения и каскада усиления на транзисторах BC547 для выходного сигнала чипа (схемы на сайты автора по ссылке выше). Ниже приводится адаптация схемы подключения, сразу предназначенная для работы с чипами на 1.8В. Для получения напряжения питания в 1.8 Вольта применен делитель напряжения (на схеме серые резисторы, желательно 1/4 Ватт), делитель при желании может быть пересчитан на другие номиналы (я указываю варианты 10 и 12 Ом, или 100 и 120 Ом), а еще лучше заменен подходящим DC-DC преобразователем (например, TLV70018). Диоды любые, нужны они для минимизации ошибок и, в принципе, можно обойтись без них.

Мы же будем подключать программатор не к чипу, а к разъему SPI_J1.

Если разъем 7 контактный, то подключается к нему следующим образом:

1. -> питание +3.3v
2. -> земля от питания и вывод 18 на LPT
3. -> резистор -> LPT 7
4. -> резистор -> LPT 8
5. -> резистор -> LPT 10
6. -> резистор -> LPT 9

Так же, на некоторых материнских платах бывают 9 контактные разъемы, там схема подключения немного отличается:

Разъем DB25P хорош тем, что внутри него можно разместить все необходимые детали. Желательно использовать максимально короткую длину кабеля, иначе будут ошибки записи. Неплохо было бы закрыть провода экраном, либо от антенного кабеля, либо просто обмотав фольгой от шоколадки, не забыв подсоединить экран к земле (GND).

При питании от батарейки конденсатор можно исключить. Лично я брал с +5 шины блока питания (красный провод), подключив к нему через разъем molex и погасив напряжение диодами до ~3.3v (двух-трех диодов будет достаточно).

Блок питания все же надежней батарейки. Имея отдельный БП можно запитать напрямую от шины +3.3 (оранжевый провод ATX разъема). Чтобы запустить блок питания без компьютера нужно замкнуть зеленый и черный провода.

Девайс в сборе:

Программа SPIPGM

Теперь можно переходить к программному обеспечению.

Программа поддерживает большое количество чипов (полный список в файле Readme.txt) и по заявлению автора работает быстрей аналогов. Скачать свежую версию можно с сайта автора , либо отсюда:

Проект, кстати, развивается и по сей день, автор частенько выкладывает обновленные версии программы с информацией о новых чипах, доработками и исправлениями.

В архиве следующие файлы:

SPIPGM – исполняемый файл для Linux

SPIPGM.EXE – исполняемый файл для DOS/Win9x

SPIPGMW.EXE – исполняемый файл для Win9x/NT/2k/XP/Vista/7 (только х32 , поддержки х64 нет)

IOPERM.DLL – библиотека для низкоуровневого доступа в Win9x/NT/2k/XP/Vista/7(без UAC)

Надежней всего прошивать из DOS, загрузившись с Hiren или любого другого подходящего загрузочного CD/Flash. Но можно и из Windows.

Синтаксис и основные команды:

Синтаксис: spipgmw / [имя файла] [адрес] [размер]

Основные команды:

i – идентификация флеш памяти
d имя файла – считать содержимое флеш памяти в файл
p имя файла – записать флеш память из файла прошивки (без стирания)
v имя файла – сравнить содержимое флеш памяти с файлом прошивки
e – полное стирание флеш памяти
b – проверка стирания флеш памяти
u – разблокировать защиту от записи (зависит от сигнала WP#)

Имя файла — полное имя файла, например: file.bin , file.rom и т.п. Расширение роли не играет, главное чтобы это был корректный файл образа и правильно указано имя.

Прошивка BIOS через SPI:

spipgmw /i – идентификация чипа. Для проверки все ли правильно подключено, программа должна определить тип установленной памяти. Если этого не происходит, проверьте правильность подключения и поддержку чипа программой.

spipgmw /d BIOS.bak – если нужно сохранить резервную копию имеющегося BIOS.

spipgmw /u – разрешение записи.

spipgmw /e – стирание.

spipgmw /p FILE.rom – запись прошивки («FILE.rom» – имя файла прошивки, нужно чтобы файл находился в одной папке с программой)

…ждем процесс записи…

spipgmw /v FILE.rom – сравниваем записанные данные с файлом прошивки. Либо можно сделать дамп spipgmw /d test.rom и сравнить его содержимое с оригинальным файлом прошивки в каком-нибудь Hex-редакторе.

Возможно наличие небольшого количество ошибок. Зависит от длинны кабеля, стабильности питания, типа памяти. Конечно, желательно, чтобы ошибок не было вовсе, но даже с некоторым количеством ошибок компьютер скорей всего запустится, а там уже можно прошить BIOS штатными средствами.

Данный способ подходит не только для прошивки BIOS материнских плат, но и любых других устройств, имеющих SPI разъем, либо напрямую, любой поддерживаемой микросхемы.

RDC2-0026A, USB программатор FLASH, EEPROM, iButton. Совместим с SigmaStudio, ChipDipDac

Руководство пользователя

USB-программатор предназначен для записи и чтения микросхем памяти серий 24хх, 25хх, 93хх, 95хх. На плате установлена панель для микросхем в корпусе DIP-8, предусмотрены посадочные места для микросхем в корпусах SOIC-8 и SOIC-16 (для серии 25хх). Все необходимые для работы с микросхемами сигналы выведены на разъемы.

Для записи микросхем памяти необходимы файлы формата .bin. или .Hex сформированного программой SigmaStudio. Для преобразования файлов из других форматов рекомендуется использовать утилиту SRecord.

Характеристики

поддерживаемые серии микросхем памяти: 24хх, 25хх, 93хх, 95хх
поддерживаемые корпуса: DIP-8, SOIC-8, SOIC-16 (для серии 25хх)
максимальная тактовая частота: 24хх — 1 МГц; 25хх / 95хх — 24 МГц; 93хх — 2 МГц
напряжение питания микросхем памяти: 3,3 В
формат файла для записи / чтения: .bin
чтение / запись регистра состояния микросхем памяти
хранение шаблонов микросхем памяти в формате .txt

Микросхема памяти

Для работы с микросхемой памяти необходимо выбрать тип памяти, объем, размер страницы, организацию (для микросхем Microwire), тактовую частоту и способ подключения микросхемы к программатору. Для удобства параметры микросхем памяти можно сохранять (кнопка «Сохранить») как шаблоны в формате . txt. При выборе шаблона (кнопка «Выбрать») загружаются предустановленные в нем параметры микросхемы.

Действия

Проверить подключение

Выполняется подключение к микросхеме памяти. Недоступно для памяти Microwire. Для памяти SPI FLASH выполняется команда «0x9F — чтение ID».

Стереть

Выполняется стирание содержимого микросхемы памяти. Для памяти SPI FLASH выполняется команда «0xC7 — chip erase». Для остальных типов памяти выполняется запись всего объема значением 0хFF. Все данные стираются без возможности восстановления.

Внимание! Перед стиранием SPI-микросхем памяти необходимо убедиться, что в микросхеме не установлена зашита от записи. Эта информация содержится в регистре состояния микросхемы.

Проверить на чистоту

Выполняется проверка микросхемы памяти на содержание данных.

Записать

Выполняется запись микросхемы памяти данными из выбранного файла. Если размер файла меньше объема памяти микросхемы, оставшаяся часть памяти будет стерта (заполнена значением 0xFF). Если размер файла больше объема памяти микросхемы, будет выполнена запись объема данных, равного объему памяти микросхемы.
Для действия «Записать» доступна опция «Проверить после записи». Если она выбрана, после записи будет выполнено чтение микросхемы памяти и сравнение ее содержимого с указанным для записи файлом.

Внимание! Перед записью SPI-микросхем памяти необходимо убедиться, что в микросхеме не установлена защита от записи. Эта информация содержится в регистре состояния микросхемы.

Внимание! Для памяти SPI FLASH перед записью необходимо выполнить стирание.

Прочитать

Выполняется чтение памяти микросхемы и запись прочитанных данных в указанный файл. Если указанный файл не существует, выполняется создание нового файла с указанным именем. Если указанный файл существует, выполняется его замена новым файлом.
Для действия «Прочитать» доступна опция «Сравнить с». Если она выбрана, после чтения будет выполнено сравнение содержимого микросхемы памяти с указанным файлом. Если размер указанного файла не равен объему памяти микросхемы, сравнение будет выполнено до последнего адреса меньшего объема.

Запись и чтение регистра состояния

Действия «Запись» и «Чтение» регистра состояния доступны для SPI-микросхем памяти и выполняются для одного байта регистра состояния.
Если регистр состояния микросхемы памяти имеет размер более одного байта, запись и чтение будут выполняться только для первого байта. При этом во время записи возможно обнуление остальных байтов регистра состояния (подробную информацию необходимо смотреть в описании на конкретную микросхему).
Чтобы прочитать регистр состояния, в области «Регистр состояния» нажмите «Чтение». В поле напротив кнопки «Чтение» отобразится прочитанное значение в десятичном виде. Чтобы выполнить запись регистра состояния, в области «Регистр состояния» в поле напротив кнопки «Запись» введите новое значение в десятичном виде и нажмите «Запись». При записи регистра состояния содержимое поля, соответствующего действию «Чтение», удаляется.

Файл SigmaStudio

Для записи в микросхему памяти файла .hex SigmaStudio выберите опцию «Файл SigmaStudio». В этом случае программа позволит выбрать файлы E2Prom.Hex При нажатии кнопки записать налету преобразует их в формат .bin и запишет в выбранную микросхему памяти.

Это открытый проект! Лицензия, под которой он распространяется — Creative Commons — Attribution — Share Alike license.

Программатор Ch441A. Рассказ о том, как я, совершенно не разбираясь в теме, восстановил мёртвую IP камеру.

Это не совсем обзор программатора, потому что мои познания в данной области, мягко скажем, ограничены моими умственными способностями. Но это повествование о том, как будучи полным «чайником» в данной теме, тем не менее, немножко разобравшись, можно справиться, на первый взгляд, с абсолютно безнадёжным делом.
Понимаю, что многие наши гуру электроники с Мусек, починили бы эту камеру, возможно, просто силой мысли. Но тут особый случай, потому что за дело берётся человек не особо в этом разбирающийся и обладающий минимальными знаниями в том, что собирается делать.
И если это сделал я, то могут сделать и другие, не шарящие люди. Возможно этот недообзор, кому-то пригодится. Если вы например убили китайскую камеру неудачной прошивкой.
В общем это очередное моё ОНО — обзор не обзорщика. Подробности под катом.

Предыстория

История этого обзора уходит своими корнями в далёкий 2019 год, как раз в то время, когда только-только в наши страны начинал проникать короновирус. И к делу это никакого отношения не имеет.
Заказал мой друг себе комплект видеонаблюдения на Али. Взял регистратор на 8 каналов и несколько уличных видеокамер. Заказывал он в магазине Besder. Я несколько раз брал там камеры и регистраторы, и проблем не было. В общем получили мы посылочки, всё подключили (на столе разумеется) и начали прописывать камеры в регистраторе. И одна камера не завелась. То есть она была вообще мёртвая. Регистратор её не определял, утилиты, которые ищут IP камеры в сети по Onvif или другому протоколу, тоже её не находили. На фишке RJ45 у камеры есть светодиод «пинга», и он тоже не светился и не моргал. В общем кирпич.
Мы отсняли подробное видео для китайца, в качестве доказательства и китаец ответил, что нет проблем, пришлю другую камеру. И собственно прислал. Нормальную и работающую.
Камеру мы конечно разбирали и долго тупили глядя на печатную плату. Визуально с ней было всё ок. Подкидывали провода от другой камеры. Не помогло. Так эта камера и лежала мёртвым грузом. Периодически мы возвращались к идее её оживления. Одним из явных вариантов было заказать на Али плату с матрицей и всем остальным. Но плата со схожими характеристиками стоит около 80% стоимости от камеры. Есть варианты и подешевле, но с более слабыми параметрами. Но это всё были размышления моего товарища. У меня же мысли шли в другом направлении. Я был уверен, что проблема в прошивке камеры. И я предлагал более авантюрный вариант. Выпаять микросхему флеш памяти из работающей камеры, считать с неё прошивку, и залить в флеш память неработающей камеры. И таким образом, ушатать ещё и рабочую камеру)))
Подкреплялась моя уверенность в успехе ещё и тем, что камера, как мы выяснили, пингуется через командную строку по своему стандартному из коробки IP адресу, 192.168.1.10. А это значит, что часть прошивки, которая не меняется при обновлении, живая. Да и светодиоды подсветки в камере включались без проблем, если закрыть датчик. То есть проблема, явно программного характера.
Периодически я возвращался к этой теме и вот в один из таких моментов, когда захотелось оживить, по сути, бесплатную камеру, я наткнулся на пост на 4pda, где человек, на много и во много раз умнее меня, восстановил видеоглазок. Который он «окирпичил» неудачной прошивкой. Симптомы в результате он получил схожие. Камера пингуется, но web-интерфейс, а с ним и всё остальное недоступны. Так вот, этот умный товарищ смог оживить свою камеру, примерно таким же методом, над которым я размышлял в теории. Только он не клонировал чип с другой камеры, а собрал вручную дамп прошивки. Звучит всё это дико сложно, для человека, который в этом не разбирается. То есть для меня. Теоретически, в общих словах, мне понятно что он сделал. Но вот применить на практике — это совсем другое дело. К тому же он использовал там программатор, который стоил около полусотни баксов. Что тоже ставило под сомнение и без того сложное, для меня, дело.
Но потом, он дополнил свой пост, что эти микросхемы можно прошивать и дешёвым программатором, если его чуть-чуть допилить. А дешёвый программатор стоил 5$, что на фоне камеры и программатора за 50 это просто пыль на сапогах, поэтому я его не задумываясь сразу же и заказал.
Программатор был заказан и пришёл на удивление очень быстро. Менее чем за две недели. Вот собственно и он




Я заказывал полную комплектацию, с адаптером и прищепкой. Как вы уже могли догадаться фундаментального обзора от меня на программатор ждать не стоит. Только применение на практике, для своей задачи. В конце обзора я выложу ссылки на инструкцию на программатор и весь необходимый софт.
Итак, в чём собственно состоит суть оживление камеры. Объясню «колхозным» языком, как умею. У камеры есть флеш память. Это микросхема XT25F6B-S. Их можно купить на Алике, десять баксов за десяток. Туда записывается прошивка камеры. И когда вы прошивку обновляете она записывается поверх старой, но есть одна область, которая при этом не перезаписывается. В этой области хранится MAC-адрес камеры, сетевые и другие настройки. А также серийный номер камеры, по которому она регистрируется на облачном сервере. В нашем случае это облако Xmeye. И если бы я перезалил прошивку с другой камеры, то у нас бы получился полный клон. И я не знаю смог бы он работать в одной сети или нет. Понятное дело, что одинаковые IP адреса конфликтуют. Но адрес можно сменить. А МАС-адрес нельзя. И конфликтуют ли одинаковые МАС-адреса в одной сети, я если честно точно не знаю, но по идее проблемы могут возникнуть. Но нам собственно это и не нужно. Мы же будем собирать дамп прошивки вручную.
Так вот, если предположить, что в нерабочей камере, вот эта область прошивки живая, то её можно взять и вставить в рабочую прошивку, которыми обычно и прошиваются камеры. И такая прошивка у нас есть. Продавец присылал её моему товарищу, когда у него лагала одна из камер. Звучит сложно, но на самом деле всё не так страшно. Если немножко вникнуть и разобраться. Начнём.
Итак, вот наша камера




Уличная камера на 3Мп, в алюминиевом кожухе, с ИК подсветкой и вариофокальным объективом 2.8-12 мм. С очень удобной регулировкой. Не нужно откручивать «морду» камеры, всё регулируется винтиками прямо на кожухе.
Вот плата камеры

Наша флеш память, это маленькая микросхема слева на 8 ножках

Её нужно выпаять и вставить в прищепку. Без выпаивания считать-записать не получится. Поскольку я раздолбай, то не сфоткал микросхему в прищепке. Поэтому это иллюстрационное фото, взятое в инструкции

Оставим пока микросхему в покое и вернёмся к программатору. Его нужно немного доработать. По словам умных людей с 4pda программатор не работает с микросхемами на 3.3В. И в официальном софте нашей микросхемы нет. Зато она есть в софте NEOPROGRAMMER. А для того что бы всё работало прекрасным образом, нужно 28 ножку микросхемы на программаторе, перекинуть на проходящую рядом дорожку. Вот эта дорожка уже зачищенная

Ножку разумеется нужно припаять

Получилось так себе, но проверка мультиметром показала, что всё ок. Со старым контактом ножка не коротит и контакт доходит куда надо.
Подключаем программатор к компьютеру и заходим в диспетчер устройств

Автопоиск драйверов в сети тут не поможет. Нужно вручную указать путь к папке с драйверами. Весь необходимый софт и драйвера, будут по ссылкам в конце обзора.
После установки драйверов имеем следующее устройство

Теперь нужно подключить прищепку с микросхемой к программатору. И тут нужно соблюсти ряд правил, что бы не напутать куда идут какие контакты. На программаторе есть два слота. Для микросхем 25-й серии и 24-й. Нам нужен для 25-й, он ближе к USB. Устанавливаем туда комплектный адаптер, как на фото

Обратите внимание на нумерацию клемм. 1 это первая ножка микросхемы. На шлейфе это красный провод. Соответственно втыкаем шлейф в адаптер так, что бы красный провод был на 1-й клемме

Микросхему тоже нужно вставить правильно в прищепку. На микросхеме первая ножка обозначена точкой на корпусе

Эта ножка должна совпадать с красным проводом со стороны прищепки. Теперь перейдём к программной части. Запускаем NEOPROGRAMMER

Нажимаем кнопку Поиск

Выбираем нашу микросхему

И нажимаем на пиктограмму «Читать чип», на панели справа от кнопки сохранить. Начинается считывание прошивки

Если прошло всё хорошо, а у меня прошло без проблем, получаем такой результат

Сохраняем скачанную прошивку на жёсткий диск. Далее нам нужно собрать дамп. Запускаем программу Dump builder, указываем там размер флешки 8 Мб и нажимаем Create dump и указываем путь и имя файла для сохранения


Далее нам нужно добавить рабочую прошивку для камеры (полученную в нашем случае от китайца). Нажимаем Open frimware и выбираем файл прошивки

Нажимаем добавить и все компоненты прошивки добавляются в наш дамп и он автоматически сохраняется

Закрываем Dump builder. Далее нам нужен любой HEX редактор. Я взял Free Hex Editor Neo. Он условно бесплатный. Работает 14 дней. Но прежде чем в нём что-то изменять в дампе, нужно подтвердить пробный период. Например открыть файл прошивки (любой), повыделять там, покопировать и повставлять, пока не выскочит окно в котором нужно будет подтвердить или купить. После этого закрыть редактор и открыть заново два раза. Ну лично я делал так. На одном мониторе открыл одно окно на втором другое. Он без проблем запускается параллельно. В одном редакторе мы открываем созданный нами в программе Dump builder дамп

Во втором открываем скачанную в NEOPROGRAMMER и сохранённую прошивку с микросхемы. В сохранённой прошивке мы выбираем «крипту», это как раз тот раздел, в котором прописан МАС-адрес и прочее. Находится этот раздел по адресу 0002fc00 — 0002fff0. Выделяем его полностью. Нажимаем правой кнопкой мыши и выбираем копировать

Возвращаемся к первому окну, где открыт наш дамп, и находим там этот же адрес строки 0002fc00. Кликаем правой кнопкой по первой ячейке и выбираем Вставить

Скопированная часть прошивки переносится в наш дамп

Далее сохраняем нашу сборку на диск. Запускаем NEOPROGRAMMER и опять находим нашу микросхему. Здесь же кликаем на пиктограмму Открыть и выбираем только что сохранённую сборку. И находим пиктограмму Записать

Нажимаем на треугольник рядом с ней

Здесь нужно поставить галочки
Снять защиту
Стереть
Проверка на чистоту
Записать

Сравнить содержимое — галочку убрать. Далее нажать на саму пиктограмму Записать. Начнётся процесс записи на флеш память. По окончанию записи будет выглядеть так

После всей проделанной работы, мы впаяли микросхему обратно на плату

Да, выглядит корявенько, но это паял не я, а мой товарищ. Его же камера. Так что с меня взятки гладки. Закончив с пайкой и собрав камеру, мы подали на неё напряжение и подкинули патч-кордом к ноутбуку. Приятным для нас сигналом был светящийся диод на разъёме RJ45 на шнуре камеры. Первым делом я пинганул камеру через командную строку

Камера пингуется. Потом запустил утилиту от Geovision и она определила камеру по Onvif

Ну а далее ввёл адрес в IE и с радостью увидел до боли знакомую картину

Камера заработала

Мы пожали руки и поздравили друг друга с удачей.
Ну, а если, у кого то после прочтения, закрались мысли, что автор, а это я, шибко-больно умный, раз раскидывается тут разными мудрёными понятиями и прочим непонятным. То я спешу вас успокоить. Я просто начитался в этих ваших интернетах всякого, на умных форумах. А с языка этих слов уже не снимешь, поэтому и выпендриваюсь тут перед вами.

Итог. Мой друг получил абсолютно бесплатную рабочую камеру (за программатор платил я), а она на скидках стоила больше тридцатки. Я получил программатор, который возможно пригодится мне в будущем, скилл в прошивке микросхем и сборке дампа, а так же материал для дилетантского обзора. На этой позитивной ноте, пожалуй, и закончим.

Ссылки:
Тема посвящённая программатору Ch441A на 4pda
Ссылка на пост автора со схожей проблемой (с которой я собственно и начинал)
Инструкция к программатору (на русском)
Драйвера для программатора
Официальный софт для программатора
Не официальный софт NeoProgrammer 2.2.0.7
Dump builder
Free hex editor

Всем спасибо за внимание

программатор flash [Архив] — Speccy


Просмотр полной версии : программатор flash




2011-10-31: Времени и желания заниматься у меня больше нет. Проект закрыт.

Сей девайс — результат моей борьбы с флешью ;). Пыталься сделать как можно проще: используется только mega8515, max232 и панелька (с нулевым усилием). Для связи с пц использует протокол wake. Выкладываю все исходники пользуйтесь. (Для некоммерческих целей ессно)

Фьюзы: avreal32 +mega8515 -v -n -aft2232 -e -w -fCKSEL=F,SUT=1 flasher.hex

Использование. В программе есть буфер 00000..80000, его содержимое можно видеть и править в редакторе. Цифровые поля под редактором: первая — адрес в буфере программы (с этого адреса работают load/save), вторая — адрес во флешке, третья — объем передаваемых данных в байтах. Первые две сделаны для склейки образов пзу, можно их оставить в 0. После изменения значения в окошке нужно жать enter.
Например: открываем 4 файла по 16Кб — sys.rom, trdos.rom, 128.rom, 48.rom. В результате получается один образ 64Кб.

В данный момент девайс дошел до такого состояния, когда улучшить малой кровью не получится, а функций вполне хватает, что бы пару раз в месяц перепрошить пентагон…

Проверено на микрухах:
WINBOND W29EE011-15, W29C020C-90B, W29C020-90, AT29C512, AT29C010, V29LC040,
SST 29EE010, 29EE020-120, 39SF020, 29F010

Спасибо Mikka_A за бета-тестирование и идеи по переработке интерфейса!
Спасибо zst за donate! (ZXkit-008, флешки, переходники)

Добавил разводку от Zoidberg. Thanx!
Добавил поддержку 24С01..24С16, переделал модуль iic. Проверено: 24C01, 24C16, 24C256, 24C512.
Добавил тест 62256 ОЗУ.
Добавил чтение РЕ3 и РТ4.

Здесь http://zx.pk.ru/showthread.php?p=334173 можно приобрести конструктор для сборки: ZXkit-008.
Здесь вариант (http://zx.pk.ru/showpost.php?p=426453&postcount=400) флешера для прошивания УФ-ПЗУ 27Схх


Все последовательные можно шить с сом-порта ч-з 3 резистора


жаль что не для спека


2 ASDT: Делалось для флешек, а iic получилось как бесплатное дополнение.

жаль что не для спека
А можно и для спека сделать: 19200 8N1, CTS/RTS не используется, вполне потянет.


Полезная штучка. TXD — RXD вешается на PD0 — PD1?
Можно чуть подробней о подключении MAX?


А MAX то зачем? 🙂 Пары транзисторов хватит …


Придется видимо рисовать 😉 MAX по типовой схеме подключен, схему ZX-multicard например можно посмотреть.


Придется видимо рисовать
А куды бечь? 🙂
Бронепоезд навстречу: КОМ-порт в самом деле можно подключать к АВР через резисторы, сверхнагрузки на МК при этом не возникает. Как насчет этого?
Кстати, флеши какие — 28, 29?


Да легко, просто на моей макетке есть max и разъем от материнки.


Ждемс полного даташита, чтоб не гадать «и чито же это я собрал?» 🙂
В дополнение, на всякий случай закину схемку сопряжения АВР и КОМ-порта (штатный адаптер для прошивания АВР в Algorithm Builder)


Выложил схему в первый пост.


Спасибо за схему, кой какие нюансы разъяснились. Собираю. 🙂


Немного про управление:
1. в программе есть буфер на 64 кб — file->open/save работа с этим буфером. Ньюанс: open грузит файл с ТЕКУЩЕГО адреса и до конца буфера (сделал для более удобной склейки ромов). Шьет только в нулевую банку (А16-А18=0), в связи с этим ВОПРОС: как лучше сделать переключение?
2. read/write работают довольно медленно — 64 кб шьется 2 минуты 🙁 (нету кварца для точной настройки usart — скорость обмена 19200)


ВОПРОС: как лучше сделать переключение?
Поставить «радиобатоны» в менюшке — 0-64, 64-128 и т.д. Выборка старших адресов у тебя, судя по схеме, заложены в МК.


Обновил прогу в первом посте.


Обновил прогу в первом посте.

клева!
но у мя так и не запустился сам программатор.
ни с первой версией,ни со второй… 😮 🙁


Поменял кварц, теперь скорость 115200 🙂


Поменял кварц, теперь скорость 115200 🙂

Ухты! :v2_clapp:
какой поставил?
ты эта,появись как нить в асе или намыль мне…
просто девайс простаивает… :v2_down:
консультация нунна… :v2_wink2:


Обновил прошивку и программу.
Теперь нормально работает запись iic (на высокой скорости).


Выложил обновления.


что-то я только ни из программы, ни из схемы не понял, оно какие флэши шьет? 27cXXX возьмет? а винбондовский EEPROM W27CXXX?


Orionsoft

27.11.2006, 00:07

винбондовский ничем не отличается от обычных , а что его стереть , надо
24 ножку не соединять с программатором а соединить с 22 , затем зашить
пустой файл (ff) достаточно запрограмировать пару байт и оно сотрётся
потом соединитьь как надо .


что-то я только ни из программы, ни из схемы не понял, оно какие флэши шьет? 27cXXX возьмет? а винбондовский EEPROM W27CXXX?

не шьет он 27 серию.

там 12 вольт нада,а оно пока что не реализовано.

но планы есть…. :v2_wink2:


Да, действительно 27 серию не шьет. Но есть у меня одна схемка…


«Девица нот фаунд», хоть ты убейся…
Прошивка и прога — 0.6, 11.0592 кварц.
Какая таблица фузов?
«Сбросил» (включил) сторожевую собаку и CKOPT. Не помогает…


Спасибо Mikka за бета тестирование и идеи по переработке интерфейса!

не зачто…. :v2_wink2:

сегодня опять все потестирую потерзаю
может еще какие новости придумаю….


не зачто…. :v2_wink2:

сегодня опять все потестирую потерзаю
может еще какие новости придумаю….
Приветствуем благие намерения 🙂
Для разработчика:
Пользую для разработки «своего» Algorithm Builder 4.7.
Более года.
Прекрасная среда IDE, встроенные отладчик и программатор.
Для «чужих» хексов» юзаю ByteBlasterNV от Альтеры с AVReal.
При «запихивании» чистого хекса имеем ошибки в верификации (от 4 и до 1394).
Удаляя первые строки в хексе (с номерами 2хххх) получаем «чистое» прошивание без ошибок, но проша не идет. Грешил на МАХ232, но, похоже, дело не в ней. Чтобы отсеять возможные траблы (это относится ко всем прошивкам для МК АВР), предлагаю давать (как Камиль) карту фузов.
До сих пор не запустил программатор. Есть изменения в схеме — вместо DIP40 использую PLCC44, разъем 32пин вместо Зифа. Открой исходники, Билл! 🙂


До сих пор не запустил программатор.

Я вчера его запустил.
точнее перешил атмегу под новую весию…
Ой кривизнаа….
Может конечно руки кривые или еще что..
но косячит просто пипец.
единственно что он корректно делает — это пишет FF — тоесть по русски стирает.
а потом.. ужоснах… :v2_jawdr:
Вообщем Андрей я не знаю что там не так,но сегодня буду дрля чистоты эксперимента пробовать вернуться к версии 1 с 8 мгц.


Romanich

06.12.2006, 05:20

Да, действительно 27 серию не шьет. Но есть у меня одна схемка…

Насколько я знаю, 27-я серия это не плеш, а OTP EPROM — One time programming Electronic Program ROM, т.е. шьётся раз и навсегда большими напряжениями (12-25В)


Насколько я знаю, 27-я серия это не плеш, а OTP EPROM — One time programming Electronic Program ROM, т.е. шьётся раз и навсегда большими напряжениями (12-25В)

Правильно знаешь,но несовсем.
их две модификации — отп,и уф — ультрофиолетовое стирание.

но шьются,как ты правильно заметил 12 вольтями и те и те.

отп из рязряда дешевых одноразовых ( стоият меньше бакса ).


Правильно знаешь,но несовсем.
их две модификации — отп,и уф — ультрафиолетовое стирание.Практически это одни и те же кристаллы в разных корпусах.
Например:
AM27C512-150PC — в пластиковом корпусе, однократно программируемый;
AM27C512-70DC — керамический корпус с окном, с ультрафиолетовым стиранием.
Программируются одинаково, при Epp = 12.75+-0.25 в.
Цена первого в Промэлектронике = 26 р., второго там же = 51 р.
Winbond выпускает электрически стираемые кристаллы с маркировкой
W27C512-45 в пластиковом корпусе.
Программирование требует подачи Vpp = 12+-0.25 в.
Для стирания подается напряжение Vpe = 14+-0.25 в.
Стоимость в Промэлектронике = 35 р.


Практически это одни и те же кристаллы в разных корпусах.
Например:
AM27C512-150PC
AM27C512-70DC

W27C512-45 .

а ты вот,скажем,навскидку способен чтото ответить про разницу алгоритма программирования?

например в флешере,коий является топиком ветки,не хотят шиться амдшные чипы.
вчера столкнулся с этим.

причем хитрО — если шить FF — то запросто,а код — хрен!
затык на первой же ячейке отличной от FF.

атмел шьется,винбонд шьется…
других пока не надыбал для экспериметна ….


Придется значит 12В добавлять, чтобы идентификацию нормальную сделать…


Придется значит 12В добавлять, чтобы идентификацию нормальную сделать…

я забыл упомянуть…. гы.. у меня то было 29 серия,а не 27…. :v2_blush:

я вообще про отличие программирования AT29Сххх ( от атмела ) от AM29Fххх ( от амд )


Придется значит 12В добавлять, чтобы идентификацию нормальную сделать…

кстати а что у тебя происходит с А18 — я про 29с040….


Romanich

07.12.2006, 02:16

я забыл упомянуть…. гы.. у меня то было 29 серия,а не 27…. :v2_blush:

я вообще про отличие программирования AT29Сххх ( от атмела ) от AM29Fххх ( от амд )

ИМХО АМД лучше — у него количество стираний/записи около 1000000, у Атмела всего 1000-10000


Перебрал 0.6 версию, вроде глюков поубавилось 😉 С понижением скорости вероятность записи возрастает 🙂


Перебрал 0.6 версию, вроде глюков поубавилось 😉 С понижением скорости вероятность записи возрастает 🙂

завтра получишь результаты….=))

( добавлено )

так а где она лежит то?


очередное…
сделал поддержку амд, но пока в виде отдельной прошивки 😉
и теперь стирание чипа «нормальное»


очередное…
сделал поддержку амд, но пока в виде отдельной прошивки 😉
и теперь стирание чипа «нормальное»

люди!
ну тестируйте же!
тестируйте!!!!!

а что я один мучаюсь.
может толпой мы победим баги!!! :v2_clapp:


Подскажите пожалуйста можно ли этим программатором шить biosовские флешки, например winbond W49F002U (обновлять биос т.е)?
И чем лучше шить megу?


49 он не шьет, и не планируется. только 28/29. а зачем? ведь биос можно на самой маме прошить.
по поводу меги: схем разных много, если есть желание нормальный программатор собрать, то лучше STK200. например вот здесь: www.ln.com.ua/~real/avreal/description.html
для пущей визуальности юзай pony (STK тоже поддерживает): www.LancOS.com


Люди, есть даташит на такую флешку: MX (логотип) 28F1000PPC-12C4?


falanger

16.01.2007, 21:46

Вот, медитирую над мегабайтом FLASH памяти с организацией 128 кб х 8 бит в количестве 8 штук.
Флэшки надёрганы со списанных и сданных на драгметаллы (есть такое веселоё дело в В/Ч, сдавать аппаратуру на драгметаллы) плат компов Р1.
Я вот огб чём бумаю — как оные флэшки можно прикрутить к Спектруму по ZX-BUS в качестве своеобразного «блока долговременной памяти»?
Микросхемы: SST 29EE010 — 5 шт. INTEL P29F001 — 1 шт. Winbond W29EE011-15 — 1 шт. INTEL(?) AT29C010A — 1 шт.
ИХМО все 8 микросхем могут «шится» как 12 В так и 5 В. Время доступа достаточно невелико.
Конечно ресурс циклов перезаписи не особо велик и потому полноценным накопителем данные
микросхемы быть немогут, но вот содержать «сервисные» наиболее нужные программы помещающиеся
в объём 1 Мб вполне могут там «обитать» так сказать «на ПМЖ». 🙂
Еслиу кого есть наметки как стадартизировать и по каким адресам данное дело в виде самопальных
флэш-модулей по портам и т.д. то высказывайтесь.
Сжема подключения вродебы достаточно простая. Я видел такую когда-то использовавшуюмся для подключения микросхем статического ОЗУ к древнему самодельному компьютеру «ЮТ-88».
Отсканирую схему и выложу тута. 🙂


Orionsoft

16.01.2007, 22:14

Люди, есть даташит на такую флешку: MX (логотип) 28F1000PPC-12C4?
http://www.alldatasheet.com/datasheet-pdf/pdf/74476/MCNIX/MX28F1000PPC-12C4.html


«ЮТ-88» 🙂 помню такое чудо, даже собрать хотел 😉
для спека есть готовое решение от Иноземцева. ссылку дать к сожалению не могу, но на virtual trdos оно лежит. посмотри там как раз флешки используются, да к тому же тырдос поддержен 🙂


2 Orionsoft: пасиб 🙂


Scorpion(lv)

18.01.2007, 01:31

помню такое чудо, даже собрать хотел
для спека есть готовое решение от Иноземцева. ссылку дать к сожалению не могу, но на virtual trdos оно лежит. посмотри там как раз флешки используются, да к тому же тырдос поддержен

Меня тоже интересует ета схема. Ктонибудь её делал? Можно ли если она работает модернезировать до SRam чтоби можно било и писать в них с тырдоса. После отключки в режим с батарейкой.(Какойнибудь ZX-Windows лежалби там красиво :v2_thumb: )


falanger

18.01.2007, 01:40

Меня тоже интересует ета схема. Ктонибудь её делал? Можно ли если она работает модернезировать до SRam чтоби можно било и писать в них с тырдоса. После отключки в режим с батарейкой.

А более подробные материалы по вопросу? По тому ПО под которое оно делалось и т.д.


Scorpion(lv)

18.01.2007, 01:48

К какому по у меня вопросы? Не понял я вопрос твой . Меня интересует конкретно ёта схема!


что-то от темы уходим 😉 предлагаю перейти сюда: http://zx.pk.ru/showthread.php?t=1262. не поймите не правильно, мне тема про дисковод тоже интересна.


насчёт самого простого и универсального программатора — willem.org
сам собирал, лутом плату делал, супер…


Выладываю все исходники.
Последняя стабильная версия 0.10b


Выладываю все исходники.
Последняя стабильная версия 0.10b

исходники исходниками,а простому смертному нужен ЕХЕшник и ХЕКСник…

Будь бобер — приаттач и их.:v2_wink2:


Выложил 0.12 версию с исходниками.


ILoveSpeccy

06.04.2007, 23:19

Привет всем!

Кто нибудь пробовал программатор Willem на http://www.willem.org ???
Накатал утюгом плату версии 3.1 🙂
Интересны мнения о нем…


Дык это, собери да расскажи 😉


Немного поправил алгоритм…


Извините, УФ ПЗУ ZX он переварит?


Иван

25.06.2007, 09:43

TomCaT, смотри сообщение #23 на первой страницы топика. Насколько я понял, ответ на твой вопрос — НЕТ.
Я собрал себе Willem. Недорого, и проверил в работе. Работает 🙂


Извините, УФ ПЗУ ZX он переварит?

Он шьет ТОЛЬКО флеш ( читай — 5 вольт онли )


ILoveSpeccy

25.06.2007, 12:02

Я себе тоже собрал Willem (www.willem.org). Просто супер :v2_rolley


Иван

25.06.2007, 14:57

Он шьет ТОЛЬКО флеш ( читай — 5 вольт онли )
Эээм.. Миша, 27ххх — 5-вольтовые. Но тем не менее.


это для чтения надо 5в, а для записи как раз 12 и более 🙂


Иван

25.06.2007, 22:05

Ах, виноват :v2_conf2:


Ах, виноват :v2_conf2:

Вот вот!!!

:mad_std:

:v2_tong2::v2_tong2::v2_tong2:


Добряки,

а чем можно поглядет PCB файлик ? только просмотреть, вобщем вьювер какойнть.
10х

Добавлено через 5 минут

Добряки,

а чем можно поглядет PCB файлик ? только просмотреть, вобщем вьювер какойнть.
10х

я просто чет не вижу чтобы была картинка платки виллема гденть — гиф там или жпег или тиф — пцб остается только (?)


ILoveSpeccy

09.08.2007, 00:52

я просто чет не вижу чтобы была картинка платки виллема гденть — гиф там или жпег или тиф — пцб остается только (?)

Вот схема: http://se-ed.net/mpu51/eprom/pdf/willem_SCh4Bx.zip

А вот плата: http://se-ed.net/mpu51/eprom/pdf/willem_PCB3b.zip


Вот схема: http://se-ed.net/mpu51/eprom/pdf/willem_SCh4Bx.zip

А вот плата: http://se-ed.net/mpu51/eprom/pdf/willem_PCB3b.zip

вот спасибо то! 🙂


Сей девайс — результат моей борьбы с флешью ;). Пыталься сделать как можно проще: используется только mega8515, max232 и панелька (с нулевым усилием). Для связи с пц использует протокол wake.
Можно шить флешь и iic (24Cxx).
Спасибо Mikka_A за бета тестирование и идеи по переработке интерфейса!
Выкладываю все исходники, пользуйтесь 😉

мильпардон. 🙂
а чем так сказать дело то кончилось?
и чегото на схеме както не так как на живой плате :confused_std:


а чем так сказать дело то кончилось?
Девайс дошел до такого состояния, когда улучшить малой кровью не получится, а функций вполне хватает, что бы пару раз в месяц перепрошить пентагон :).

и чегото на схеме както не так
Так там еще и другие устройства напаяны, отладочная плата…


Так там еще и другие устройства напаяны, отладочная плата…
аааа, понЯл. 🙂

В качестве «попробовать SprintLayout» попробовал поразводить эту схему в один слой… мдааа… чума получилась какаято :biggrin:


аааа, понЯл. 🙂

В качестве «попробовать SprintLayout» попробовал поразводить эту схему в один слой… мдааа… чума получилась какаято :biggrin:

А ты попробуй в Eagle, достаточно простенький и схему нарисовать и печатку развести.


А ты попробуй в Eagle, достаточно простенький и схему нарисовать и печатку развести.

А ссылка на него есть какая?

Попробовал тут ДипТрейс — так вроде ничего себе. Но разводит както … както не так короче 🙂


А вот и ссылочка: http://www.cadsoft.de/. пилюлю сам наверно найдешь, нет помогу. Там ограничение на размер разводимой платы 160х100 мм.

Добавлено через 3 минуты
Кстати, оптимальная версия на данный момент 4.15, та что на сайте у меня почеме-то глючит. Могу впринципе подкинуть именно эту версию, там около 9 метров.


Alex_kapfa

03.10.2007, 15:51

skyther, Добрый день. Хочу собрать программатор по Вашей схеме. Никогда ранее на микроконтроллерах ничего не собирал. Купил ошибочно 8515L. Пожалуйста, подскажите новичку, можно ли вместо микроконтроллера ATmega8515 применить 8515L, у которого граничная частота 8 MHz. Если применение 8515L возможно, то какие изменения при этом необходимо внести в схему и прошивку микроконтроллера (например, кварц заменить на 8 MHz и т.д.)?


… можно ли вместо микроконтроллера ATmega8515 применить 8515L, у которого граничная частота 8 MHz.Можно. Буква L означает возможность работы при пониженном напряжении питания (от 2.7 до 5.5 В).
При этом частота не меннее 8 Мгц обеспечивается во всем диапазоне питающих напряжений.
При питании 5В такой кристалл прекрасно работает и при 20 Мгц.

Если применение 8515L возможно, то какие изменения при этом необходимо внести в схему и прошивку микроконтроллера (например, кварц заменить на 8 MHz и т.д.)?Схема не изменяется.


Alex_kapfa

03.10.2007, 17:18

caro, Большое спасибо за консультацию!

Добавлено через 1 час 11 минут
Mikka_A, Михаил, добрый день. Вы один из тех, кто собрал и пользуется описываемым здесь программатором. Быть может, Вы знаете, возможна ли корректная работа данного программатора при подключении к USB порту компьютера через переходник USB to RS232 (Com)?
to ALL: Если кто пробовал подключать какой-нибудь простейший программатор (типа Pony prog), который рассчитан на работу с COM портом, через переходник к USB, расскажите удалось ли вам это?
В Интернете я нашел информацию, что тот же «Пони прог» из-за своей «некорректной» работы с COM портом, работать через переходник USB-Com не будет.


Простейшие скорее всего работать не будут, там времянки програмно задаются, и на страндартный 232 это очень не похоже. У меня все времянки в контроллере, а по 232 данные гонятюся в обычном режиме.


Не прошло и года, и мой флешер зарработал. 🙂
Собран на платке 55х45мм (мегу я использовал в корпусе PLCC, панелька для ПЗУ — DIP-40).
Попробовал прошить две пзушки — AM29F010B-70JI и W29EE011P-90 (PLCC-32).
Винбондовская читается, стирается, шьется на 115200! Просто шикарно 🙂
А вот с АМДэхой — косяки…
Стирается нормально, шьется только на минимальной скорости (да и то, периодически проскакивает ЭРРОР), верификацию не проходит совсем 🙁
Абыдна аднака. Флешка приехала аж из Харькова…


У меня нет флешек от АМД — химичит не с чем. С Mikkой пытались отработать алгоритм по почте, не очень получилось, но покрайней мере шьет 😉
А вообще есть вопросы — лучше в аську.


Извини, тезка, вопрос закрылся сам собой 🙂
Просто контакты ПЗУшки надо чаще просматривать на дефектность…
После косметического ремонта все заработало, АМДэшка шьется прекрасно, правда на «средней» скорости. Вопрос немножко не в тему — у тебя на Скорпи ПЗУ стоит 128 или 256кб? Если 128, то закинь, пожалуйста, бинарник на ewgeny7(gav-gav)mail.ru или в «ПрофПЗУ на дискретах». В сетке рабочей проши такого размера я не нашел 🙁
Заранее спасибо!


у тебя на Скорпи ПЗУ стоит 128 или 256кб?
это ко мне вопрос? у меня вообще-то пентагон 😉


это ко мне вопрос? у меня вообще-то пентагон 😉
Упс… Не пейте люди пиво вместо завтрака!
:v2_biggr:Извини!


Вот вопрос в тему… можно ли прошить этим программатором MX29LV160T-B-_MX29LV160AT-AB вот эту флешку??? с учетом уменьшения напряжения до 3 вольт и переведением флешки в режим 8 бит?????


алгоритм похож, может заработать


алгоритм похож, может заработать

давай попробуем….

напиши процедурку….

скажи что переделать, я переделаю и попробуем-с….


Попробуй пока winbond-овский…


Попробуй пока winbond-овский…

тупо завалить питалово на 3 вольтя, а шить винбондовым алгоритмом?


ага, только не знаю как мк на 3.3 заработает…


ага, только не знаю как мк на 3.3 заработает…

тогда надо попробовать извратиться…. МК типа припитать чтонить от 4….. а флешу от 3…..

ой, пля , колхоз…..:v2_conf2::v2_smile::v2_smile:


Посмотри повнимательней на свою Мегу. Если она 8515-L, то питалово для нее — от 2,7в.


Подскажите 8515-8Mhz заведется на 11Mhz?


Заведется по любому. А если она еще и без индекса L (как я писал выше) то разгоняется до 16 (по паспорту) и даже выше.


у меня с индексом «L», я так понимаю это напряжение питания 2,7-5,5В. Значит заведется. ewgeny7 Спасибо за ответ.


у меня с индексом «L», я так понимаю это напряжение питания 2,7-5,5В. Значит заведется. ewgeny7 Спасибо за ответ.

L таки я понял не есть частотная характеристика, а питательная…..

Да, Жень?


Могу под 7.3728МГц перекомпилить, но такого кварца у меня нет, проверять будете сами 😉


Могу под 7.3728МГц перекомпилить, но такого кварца у меня нет, проверять будете сами 😉

нах… есть 8 есть 11.0хх…..

все схвачено! 😀

а еще есть,кстати, нутренний осциллятор…..

вот под него надо прошу заточить, и, соответственно, народу рассказать ,какие фузы ставить надо…..

чтобы как я, не залочить пяток атмег….:v2_scare::v2_blush::v2_biggr:


Внутренний нет смысла использовать — ошибки сом-порта полезут.


Внутренний нет смысла использовать — ошибки сом-порта полезут.

с чего бы?

если сделать 57600 — не думаю….


ewgeny7, а можно под 4Mhz перекомпилить?


можно, но работать не будет


L-ка нормально работала у меня на кварце 11.0592… Ничего страшного от превышения частоты не произошло. А питалово — я уже упоминал, 2.7 — 5 вольт. Однажды выдал ей более 7 вольт. Заметил далеко не сразу. МК даже не поперхнулся 🙂


Подскажите пожалуста карту фузов, а то читает нормально, а писать на хочет, может в фузах накосячил?


Поздравляю со сборкой! 😉
Если фьюзы не правильно выставить, сомневаюсь что вообще девайс заработал бы. А раз комп его видит, мобыть дело в флешке. Попробуй ей unlock + erase сделать, и тип сообщи — может она и не поддерживается вовсе.


Тип флешки AM29F040, она записалась нормально(но только первый раз), но стереть теперь нельзя, при попытке что то записать выдает ошибку записи с первого адреса.


Попробуй с этой прошивкой сделать erase.



Сегодня перепрошил мегу, работает но как то загадочно, с первого раза прошил
AT29F040 полностью и прошла верификация, а потом отказался чить, раза с 15-го после unlock, erase и включения/выключения 2 раза прошил, но до 70000 адреса, дальше write error. Пишет только на минимальной скорости, читает и верифицирует на любой. Пробовал шить W29C020C-90 (новую) — вообще никак.
Может что то с MAX232, как проверить?
В програмке flasher почему то когда выбираеш тип микросхемы, скорость и порт, напротив выбранного галочка не появляется (в версии 08 появлялась).


C W29C020C-90 у меня тоже проблемы, часть микрух прошивает, часть нет. Кондеры по питанию навешал?


Кондер один на меге, есть осцилограф могу померять пульсации по питанию.


Женя, а у тебя не мелькала мысля еще чуть-чуть наворотить флешер на тему записи 27Сххх?
Минимальную доработку я вижу как: внешний БП с 12/25в для Vpp и пересылка байтов в ПЗУ с МК по самой тормозной времянке (для гарантированного прошивания).
Как насчет такой мыслИ?


Если есть желание потестить — сделаю прошивку, а у меня УФ лампы нет.


Есть желание.
Для образца предлагаю поюзать TS27C64A-25CP (есть в наличии).


Выложи даташит, найти че-то немогу.


Black_Cat

09.03.2008, 01:09

внешний БП с 12/25в для Vpp
Vpp бывает 12В, 21В, 25В


Победил W29C020! Проверяйте.

Vpp бывает 12В, 21В, 25В
Так оно, пока придется лабораторный бп пользовать.


Ээээ…. а ничего, что вместо 29 серии у меня 27?


я понял, даташит выложи


Будем смеяться, но даташита на нее нет. Даже у китаяйцев, которые ее производят. Единственное, что нашел — это некий Specsheet (???), который привожу:

TS27C64A25CP
ST Microelectronics :: One-Time Programmable (Windowless) EPROM

Specsheet / Datasheet

Number of Words=8k
Bits Per Word=8
t(a) Max. (s) Access Time=250n
Output Config=3-State
Number of Chip Selects=1
Program Voltage (V)=12.5
Nom. Supp (V)=5
Package=DIP
Pins=28
Military=N
Technology=CMOS

Полезной инфы — только Vpp 12.5v.


Почитал даташить от 27с64. При программироавни надо Vcc до 6.5В подымать, как бы контроллеру не поплахело…

Добавлено через 34 минуты
Странно, во всех прогерах какие нашел Vcc как на 5в висело таки висит…


Странно, во всех прогерах какие нашел Vcc как на 5в висело таки висит…
Есть такое. По схемам просто пуляем на Vpp высокое, а уровни программирования на входах — обычные TTL.


Black_Cat

11.03.2008, 03:02

во всех прогерах какие нашел Vcc как на 5в висело таки висит…ты либо не разобрался, либо это такие убогие прогеры для чайников.. если шить на 5в, то чтение информации из ПЗУ будет очень зависеть от напряжения питания и кроме того долговечность записи не гарантируется


Вот такой вариант:


skyther, большое Вам спасибо за эту разработку.
Заработала сразу, проблем не возникло.

http://boy.vano.googlepages.com/P4200059.JPG


Заработала сразу, проблем не возникло.
С чем тебя и поздравляю! 🙂


balu_dark

20.04.2008, 23:37

Vano а чего пожадничал на разьем с нулевым усилием или на крайняк — на цанговый разьем? стандартные очень быстро сдыхают 🙁


Vano а чего пожадничал на разьем с нулевым усилием или на крайняк — на цанговый разьем? стандартные очень быстро сдыхают

Я собирал для прошивки Speccy2007, на пару раз хватит. 🙂


skyther, А не замечалось глюков прошивки 12 под WIN98?
Странно как-то, модель-порт-скорость внизу не отображаются, чип эрасится нормально. Загрузка файла .ром во флешер не идет — по всему полю стоят нули…
Кварц правильный, 11.0592…


Проверял только на 2к и хр


Подтверждаю, что глюки есть. Правда, и машин под 98 уже мало осталось…


skyther, хочу запрограммировать M27256, для этого нужно что-то (http://zx.pk.ru/attachment.php?attachmentid=7658&d=1205742045) из поста 124 этой темы (для LPT порта) — так как распиновка с 27C64 совпадает, или есть что-нибудь с меньшим числом деталей, как в посте 1? (нет, я понимаю, что можно переделать, и могу в принципе, но интересует наличие или отсутствие готовых наработок). Даташит в студии:


В первом посте программатор для флеш пзу, он не шьет уф.


Вот его и переделаем… Думаю, тремя транзисторами и парой входов питания 12 и 6,5 ВВ обойтись удастся…


balu_dark

15.09.2008, 14:32

смотри схему коммутации Willem prog. если по ссылке о нем и речь то — хорошо.


Доброе время суток, Skyther.
Выложите пожалуйста карту фьюзов контроллера. И не понятно, толи я не правильно фьюзы шью то ли мой USB to com виртуальный сом порт глючит с мегой.
Пишет девайс не обнаружен. Может сигналы тх и рх надо инвертировать через буфер дополнительный? Хочу убедиться сперва правильно ли я фьюзы выставил, может мк у меня от внутреннего генератора стартует или частотка не та выставленна. И есче , шью поней. В какую область шить нех дамп. В облать программ или еерром? Извиняюсь за такие вопросы, но расжуйте мне все по полочкам пожалуйса.


Фьюзы вечером прочитаю поней и выложу картинку.
usb2com какие уровни выдает? ТТЛ или +\-12? Если ттл, то мах232 лучше убрать и подать напрямую. Инвертировать ничего не надо. Прошивку естественно шить в область программы.

Фьюзы: CKSEL=1110 CKOPT=1


skyther, Чего то у меня ничего не получается с этим девайсом. Фьюзы с цифрой 1 , это у тебя прошитые поней с галочкой или без?
Пробовал эмулировать твою прошивку, тоже не катит.
В чем написана прога для мк?


Выложил 0.13 версию. Добавлен бутлодырь, следующую прошивку можно будет грузить без программатора.


skyther, собрал наконец то девайс. Все вроде бы работает, но как то не стабильно. ЕЕРРОМ 24 хх читаются, верифятся но не пишутся. Глюки есть.
кондерами все обвешал. Толку мало. скорости пробовал разные.
Не пому в чем пока проблемы.
И ече, если можно, то выложи проект целиком от АВР студии для мк. А то че то не могу хексник там запустить.
Будем тестить. Да вот есче что. Могут ли ошибки всякие вылазить от того, что мы используем разные компы, времяки и приоритеты ведь разные для разных машин.
Может нужно приоритет процессу (программе) присвоить или калибровку какую замутить.


Все времянки находятся в мк и от компа не зависят.
Проекта делал в блокноте 😉 так что для студии ниче не могу выложить.
Марки ЕЕРРОМ скажи, какие не пишутся.


Не шьются AT 24 c 02, 24 c 04, 24 c 08.


Попробуй эту прошивку


Вот выложил маленький набросочек интерфейса, как мне бы хотелось видеть. Скутер и есче, предлагаю по ка что выкинуть все девайсы из программы, кроме I2c и заточить сперва работу этого девайса. Потом другие чипы.
Необходимо точно определять длинну микросхемы и отключить пока склейку ромов. Отражено в меню опции.

У меня запись происходит только после второго раза нажатия на чтение.
т.е два раза читаеш только потом можно записать. где то глюк.
давайте отладим сперва I2c 24схх а потом за другие.

Да простит меня Скутер за дебаг кода….:biggrin:


skyther, Ну не хочет он писать и читать 24 с 02, 24 с 04. Какая самая стабильная прошивка мк. И есче, TWI от интел для мк отличается от i2c.
Что то там не так работает по фронтам старта и аска. Где то читал, найду выложу.
И есче, оставь в прошивке мк только I2c, если не трудно, а то че то не могу я сырцы в авр студио откомпилить,не очень знаком с авр. Но очень интересный проект. Респект и уважуха …


Огрызки выкладывать не буду, так-что предлагаю просто отладить куски для iic.
Alhim, зачем в клиентской части отключил автодетект портов??? А структуру кадра зачем поменял? Или в прошивке для авра тоже? Почему тогда не выложил?


Версия с переключателем адресации iic. Не тестировал — не на чем! Alhim, проверь плиз.


skyther, ну не пишет у меня i2c 24хх. Ни в какую. ничего пока не пойму.
Запустил код мк в АВР студио. Разбираюсь.


Вот немного переделал TWI. Как проверить на занятость SDA линию пока не догнал, но это доделать надо, т.к у всех производителей микрух внутренний цикл записи разный по времени.


эээ, и оно работает???


Zoidberg

07.01.2009, 19:58

Чо-то я не понял, а зачем гнездо под дип-40? 3,4 и 40 выводы её куда-то подключены, но не обозначены. А переключение, например vcc/a17 программно происходит? круто — долой переключатели!!! А кто-нидь приспособил все-таки прогер под уф-пзу?


Stav na 32 nogi.
Pitanie na PZU podaetsa programmno pryamo s AVR.
Pod UV-ROM avtor ne «prisposablival».


ZIF-40 поставил потому что другой не было. Для УФ переделывать пока не планирую.


Zoidberg

12.01.2009, 03:02

Спаял флешер. Пытаюсь залить прошивку в мегу, которая в начале выложена. Пользую codevision avr через 5 проводков и ЛПТ порт. мега прошивается, но на этапе верификации выдает ошибку, мол прочитанное не соответствует исходному файлу. Подскажите, пожалуйста, в чем грабли?


И только с это прошивкой так? 😉


Zoidberg

12.01.2009, 14:11

И только с это прошивкой так? 😉

Нет, и с другими тоже, сейчас попробовал. Мега битая что-ли? Только вчера купил. Мож байтбластером попробовать через авреал, или разницы нет?

Блин, похоже спалил мегу:v2_down:. Как это я так? :v2_conf3:


Zoidberg

22.01.2009, 16:28

Так. Борьба с программатором продолжается. Жду не дождусь, когда смогу прошить первую флэш. Вопщем мегу поменял, прошил байтбластером через авреал без проблем. теперь при запуске программа не пишет «девайс нот фаунд». При чтении ПЗУ весело горит светодиод, чего-то там читается. Но не пишется ничего — write error, хоть ты тресни! Пытался записать winbond29ee011-15 и w29co20c-90z. Много раз пытался сделать анлок-эрайз. Прошивка 0.13. Какие должны быть конденсаторы по питанию и куда их вешать — на мегу и на макс? Вообще очень критично отсутствие этих конденсаторов?


winbond29ee011-15
У меня одна из рабочих лошадок именно она. Шьется нормально. Блокировочных конденсаторов нет вообще. Скорость при записи/стирании ставь поменьше.


Zoidberg

22.01.2009, 21:15

У меня одна из рабочих лошадок именно она. Шьется нормально. Блокировочных конденсаторов нет вообще. Скорость при записи/стирании ставь поменьше.
Спасибо. Попробую завтра новую из магазина микруху прошить, мож у меня флэхи битые? А скорости я разные пробовал.


Zoidberg

01.02.2009, 16:03

Ура! Все, победил программатор. Виной всему оказалась моя кривая разводка печатной платы. Проверил и усомнился в своем здоровье — несколько проводников наоборот присоединил. Дороги порезал, подпаял куда надо, заработало без проблем, без блокировочных конденсаторов, на максимальных скоростях. Спасибо, skyther за разработку и публикацию.


Zoidberg

01.02.2009, 16:12

Вот, исправленная версия рисунка платы, мож пригодится кому. В железе не проверял, но вроде должно работать. Разъем для программирования меги делал под байтбластер.


Случилась проблемка…
Флешер прошивает всё подряд, что ему не подсунь. На «ура» пошли даже некие SST. Но скис на Атмелевской флешатине AT29C512-70. Чем она так отличается от прочих — не понял 🙁
Дата_shit прилагаю:


balu_dark

21.02.2009, 02:15

возможно Software Data Protection мешает — ее снимать надо перед работой типа записи.


возможно Software Data Protection мешает
Не, унлок делался. И после этого также нормально прошла erase. А write — отказывается.


balu_dark

21.02.2009, 16:16

анлок надо делать и перед ерайзом и перед райтом


анлок надо делать и перед ерайзом и перед райтом
Ничего не изменилось. На бОльших скоростях записи сразу выдает ЕГГОГ, на минимальной ошибки не выскакивает, но в ПЗУ остаются одни FF. 🙁


Программатор 49LF002A прошьёт?


Дмитрий

22.02.2009, 23:31

Но скис на Атмелевской флешатине AT29C512-70.
Ты меня убил… я как раз оную получил 🙁


Ты меня убил… я как раз оную получил
Не убивайся раньше времени. Моей флешатине… лет 5-7. Жестоко выдрана (холодным способом, правда) из старого винчестера.
Современная может и пойдет.


Дмитрий

25.03.2009, 08:42

Залутил и даже вчера почти собрал флешера… но, случилась проблемка — как оказалось забыл купить кварц на 11,0592МГц 🙁 Я так понимаю к кварцу тут жесткие требования, т.к. времянки программно генерятся… Можно ли перекомпилить прошивку под 8МГц, 14 МГц или 14.318МГц? МК ATmega8515-16PU.

Добавлено через 8 минут
Седня еще схожу в один маг, но там слишком все дорого и не факт, что есть кварцы, а так придется аж в пятницу на рынок ехать, а хотелось бы уже запустить…


В ранних версиях использовался кварц 8Мгц. Попросим аффтора выложить? 🙂


Дмитрий

25.03.2009, 15:59

да, хотя бы чтоб проверить, а со временем и нормальный кварц найду.
skyther, будь добр, выложи прошивку, которая на 8МГц работает 😉


Такой кварц выбран для точной настройки посл. порта.


Дмитрий

28.03.2009, 03:27

В общем нашел кварц на 11.0592МГц, спаял схемку на залутенной ПП из этой темы, спаял байтбластер и через avreal32 прошил хекс 0.13, используя комстроку:
avreal32.exe -p1 -ab +mega8515 -w -fCKSEL=E,CKOPT=1 -c flasher.hex
Надеюсь все верно…
По команде верифицировать дамп МК с файлом — тест проходит на ура, т.е. байтбластер работает (хоть что-то работает):

Command: -p1 -ab +mega8515 -v -c flasher.hex
Device connected, mega8515 detected
Chip not locked
Fuses
OSCCALs = AF AE A5 A4
BODLEVEL = 1
BODEN = 1
SUT = 2
CKSEL = E
BLB1 = 3
BLB0 = 3
S8515C = 1
WDTON = 1
CKOPT = 1
EESAVE = 1
BOOTSZ = 0
BOOTRST = 1
Verifying CODE memory
… passed
done (0.4s)
Total time 0.7s
Reset pin released
Adapter disabled

Однако флешер заводиться не желает 🙁
Вставил в панельку флешку W27F256, запустил flasher.exe, а тот в ответ мне «Device not found» 🙁
Я так понимаю, эта надпись означает что флешер не обнаруживается?
В чем могут быть косяки? Что сигнализировать должен светодиод? Процесс прошивки?
Я правильно понял, что RX — 2, TX — 3, a Gnd — 5 контакты в ком-порте? платку перерыл — КЗ отсутствуют.


Попробуй CKSEL=F,SUT=1


Дмитрий

28.03.2009, 10:06

skyther, Не помогло — девица нот фаунд и все тут…


Смотри эхо терминалкой, с максом и без.


Дмитрий

28.03.2009, 14:47

Смотри эхо терминалкой
А вот с этого места по-подробнее, плз 😉

Добавлено через 1 час 30 минут
Какую прогу можно для этого поюзать? Гугль на запрос «Эхо терминал» и «echo terminal» выдает нечто неудобоваримое и в основном tux-овое.


гипер-терминал виндовый вполне подойдет
замкни tx и rx после макса и понажимай кнопки в терминалке, если эхо есть, значит макс живой и дело в контроллере.


Дмитрий

28.03.2009, 18:28

даже более того — замкнул 2-3 контакты на разъеме com-порта — в гипертерминале 0 эмоций…
Придется раскручивать комп 🙁


Дмитрий

30.03.2009, 09:14

Подключил на другом компе флешер — заработал. Однако имеется еще вопросы:
Имеется микросхема Winbond W27F256-12, чтение проходит нормально, а запись — пытается сделать 10 попыток и выдает ошибку.
Флешер работает с этой микросхемой?

Операция чтения при каждом чтении продолжает с текущего адреса, т.е. считало 8000 байт с адреса 0, следующая операция будет считывать (записывать) с адреса 8000… может добавить команду принудительного сброса счетчика адреса?

Добавлено через 1 час 42 минуты
Плата изготовлена ЛУТом по дизайну Zoidberg-а, добавил лишь 7805 и кондер к ней. Вроде работает, но найти микруху, которую он бы записал — не могу… Под рукой только W29F256, вроде как Flash, однако не шьется flasher-om… да и читается корректно только в режиме EEPROM. если выставить режим Winbond, то данные, которые записаны на флеш, появляются в дампе с адреса h30000… даташит на микруху найти не могу — секретная какая-то?


следующая операция будет считывать (записывать) с адреса
Это сделано для склейки образов в один файл.
А микруха похоже 12-и вольтовая…


Дмитрий

30.03.2009, 11:18

А микруха похоже 12-и вольтовая…
ОбЫдно 🙁

Добавлено через 6 минут
Фотки моего девайса:
http://s43.radikal.ru/i100/0903/68/0b7d1e09215dt.jpg (http://radikal.ru/F/s43.radikal.ru/i100/0903/68/0b7d1e09215d.jpg.html) http://s55.radikal.ru/i149/0903/0e/8d21d4b277b0t.jpg (http://radikal.ru/F/s55.radikal.ru/i149/0903/0e/8d21d4b277b0.jpg.html)

skyther, а атмеловскую 29c512 сможет зашить? Есть возможность достать ее, по даташиту она 5V CMOS FLASH


атмеловскую 29c512
Фух, только что ковырялся с ней.
Может, покупай. Режим — винбонд, 19200. AT29C512. Удачи!


Дмитрий

31.03.2009, 18:16

Нашел на барахолке материнку с биосом на флешке Winbond W29C020-12, по маркировке совпадает с одной из проверенных не считая скорости (см. первый пост). Читается флешка на ура, даже на 115К, а вот с записью облом 🙁 даже на минимальной скорости…
мож я чего жму не правильно?
1. Порт СОМ1
2. Скорость 19200
3. Device->Type->winbond
4. Device->Unlock
5. Device->Erase
7. File->Open
6. Device->Unlock
7. Device->Write
и вижу запись 0000 попытка 1…10 и ошибка записи 🙁
Упущение шагов с Unlock тот же результат дают…


Упущение шагов с Unlock тот же результат дают…
Унлочить можно один раз и более не трогать…
Режим АМД пробовал?


Дмитрий

31.03.2009, 18:28

ewgeny7, пробовал — те же грабли 🙁


Ты объем ПЗУ реальный ставишь? Для 020 должно быть 40000. Ради эксперимента попробуй стереть/записать на 10000. У меня 29С010 не хочет это делать если объем большой ставишь.


Дмитрий

31.03.2009, 19:50

Ради эксперимента попробуй стереть/записать на 10000.
Завтра попробую на работе — дома ком-порт чего-то не пашет 🙁

Добавлено через 1 минуту

Ты объем ПЗУ реальный ставишь?
При открытии файла параметр size обретает значение длины файла… сколько раз я выставлял его вручную — он перебивался либо длину файла, либо если файл не был открыт, в 80000


При открытии файла параметр size обретает значение длины файла…
Это да, я имею ввиду как раз момент унлок/стирание.


Дмитрий

01.04.2009, 08:54

Это да, я имею ввиду как раз момент унлок/стирание.
Нифига 🙁 Установил самую маленькую скорость — 19200. Ставлю size = 10000, стереть, затем прочитать, а на флешке то же самое, что и было записано…
Пробовал стирать в режиме winbond и amd, размеры ставил и 10000, 08000, 20000 и 40000. В первом режиме на долю секунды диод загорается и тухнет — сообщений ни каких не выводится, во втором — при разных size прога ведет себя по разному — то немного задумывается, при этом диод горит секунды 2, и затем выдается сообщение «Error»; то никаких сообщений не выводится вовсе.
Соответственно и не пишется ни в том ни в другом режимах — после 10 попыток выдает ошибку.


that inside

01.04.2009, 15:43

Нашел на барахолке материнку с биосом на флешке Winbond W29C020-12,
маркировка флэшей биосов где после цифер идет -12 (как у тебя) означает что данная микросхема требует для записи 12 вольтового напряжения вместо 5 вольт на вывод програмирования
я это вот о чем у тебя вроде там на программаторе токо 5 имеется или я неправ


Дмитрий

01.04.2009, 15:54

that inside, даташит на микруху W29C020 (а в нее входят -90, -12 и т.д.) гласит:

The W29C020 is a 2-megabit, 5-volt only CMOS flash memory organized as 256K х 8 bits.
The device can be written (erased and programmed) in-system with a standard 5V power supply.
A 12-volt VPP is not required.
В первом посте темы указано:

Проверено на микрухах:
WINBOND W29EE011-15, W29C020C-90B, W29C020-90
Тут же 90В не подавали, и даже 9В тоже…
Имхо, у флеш, как и у ПЗУ, после маркировки идет скоростная характеристика — время отклика.

Добавлено через 4 минуты
Из даташита:

PART NO. ACCESS
TIME
(nS)
W29C020-90 90
W29C020-12 120

Других различий между W29C020-90 и W29C020-12 я не нахожу…

Добавлено через 8 минут

я это вот о чем у тебя вроде там на программаторе токо 5 имеется или я неправ
Прав, ибо это программатор флешек, которые 5ю вольтами шьются… и флешку я вставляю, которая по даташиту шьется 5ю вольтами… вот в чем собака порылась — понять не могу


that inside

01.04.2009, 16:06

там все в даташите должно быть написанно но точно знаю одно што такая вещь присутствует именно на биусных чипах и есть как 5ти так и 12ти вольтовые с одинаковой маркировкою «вапрос как отличать 12в от 5в приборов»
канкретно маркировка зависит от производителя (но вродеб изготовители онных решили помечать 12вольтовые а 5ти нет)

ты знаеш лутше не гадать а провереть для начала цепь програмирования на той матери с каторой ты снял флэшку нужно определить точно ли там она прощивается 5ю вольтами я сталкивался с такими каторые шются не 5ю а 12ю и все они из писишных матерей


Дмитрий

01.04.2009, 17:12

(но вродеб изготовители онных решили помечать 12вольтовые а 5ти нет)
так вродеб или точно? про -12 и -90 в даташитах написано, что это скоростная характеристика. на ПЗУ так и писалось Vpp=12.5V (на ST).

канкретно маркировка зависит от производителя
Имеется в виду конкретный производитель — Winbond.


that inside

01.04.2009, 17:27

да дело в том што я точно непомню конкретно где я в первые вычетал про то што в начале для совместимости были 12 вольтовые флэши патом пашел переходной процесс на 5 вольт в итоге всего в старых писюковых матерях встречаются одинаково помечанные но разновольтажные флэш биосы к счасть преоблодающая часть 12 волтовок в дип корпусах под замену 27ой уф серии по этой причине и может быть трабл так как все прочии ограничения (типа 10000 перепрограмирований флэшей) в писишных матерях недостигаются да к томуже заштиа биоса от стирания может присутствовать в виде переключающегося вольтажа
почему и имеет смысл смотреть обвязку на материнке 5в чтение 12 запись
да и про «вродеб помечать» непонятная тема но впечатление такое што именно цифра 12 означает не время а вольтаж все другие цифры означают время и 5 вольтовый режим програмирования


Обновимся немного.
Переделал модуль iic, сейчас работает и с 8и битной адресацией. Соответственно 2 типа: iic8 для 24С01..24C16 и iic16 для 24C32..24С512. Проверил только 24C01, 256 и 512.
Исходники и бинарники в первом посте.
Мелкая плата с qfp микрухой — программатор и сом порт в одном флаконе. http://www.ln.com.ua/~real/avreal/adapters.html


Михайла

28.06.2009, 09:42

Нарисовал платку под atmega8515 в tqfp. Рисовал в proteus 7.5 sp3.
В архиве файлы проекта, и экспорт платы в графику:
top.mdi — верхний слой(перемычки),
montash_top.mdi — монтажная схема,
bottom.mdi — нижний слой платы.
Зеркалить не надо — «как есть».


В программе ошибка!!! При попытке прочесть 32 байта (нужно было считать 155РЕ3) считывает 128 байт) Лишнее я то конечно отрезал, но все же)


оно со всеми работает блоками по 128 байт


А не пробовал ли кто использовать какой нить китайский USB дата кабель от сотового вместо MAX232 при изготовлении программатора? По идее практически все дата кабели как раз предоставляют на выходе сигналы TXD и RXD? И стоят довольно дешево…


Почитай тему… Пробовал и даже работает…


alsp,
А зачем? используй нормальный КОМ-порт и не парься!


Дмитрий

30.07.2009, 22:46

Andrnow, Легко сказать, к примеру, у меня на мамке уже нет ком-порта 😉 А на ноутах так тем более они отсутствуют.


Дмитрий,

Легко сказать, к примеру, у меня на мамке уже нет ком-порта
А чем же ты думал, когда ее (мамку) покупал?


Собрал сегодня программатор…(для будущих экспериментов с Phoenix и ПрофПЗУ) завелся с первого раза.
Пока протестил на двух микрухах:
CAT28F020P-15 (SCI)
AT28C010-12PC (ATMEL)
багов вроде не обнаружил.


Дмитрий

02.08.2009, 22:01

Andrnow, а тем, что она была одна единственная в тот момент на складе 🙁


Alex_kapfa

29.09.2009, 12:06

skyther, БОЛЬШОЕ СПАСИБО за Вашу разработку! Собрал программатор и прошил ПЗУ для Speccy2007. Единственно хотелось бы пожелать, чтобы к схеме была бы краткая инструкция, в которой бы указывалось, что, например, при прошивке микросхем ATmel в меню Device необходимо выбирать Winbond. Я сначала ошибочно выбирал EEPROM, полагая, что это относится ко всем остальным типам микросхем (т.е. если микросхема не Winbond и не AMD).


Добавил тест статики 62256.


Alex_kapfa

01.10.2009, 15:14

skyther, в 15-ой версии в появился также ATmel. Спасибо! Скажите, а нет ли у Вас в планах добавить возможность программировать еще и PIC контроллеры (в частности, 16F84, который ранее достаточно часто встречался в схемах)?


PIC контроллеры
нет, только 5в чипы.


Добавил тест статики 62256.
А блоки по 256байт для 29С040 добавил? 😉


Alex_kapfa

01.10.2009, 19:00

А блоки по 256байт для 29С040 добавил? 😉

+1. Для меня этот вопрос тоже важен, так как в результате поисков микросхем в DIP корпусах, я нашел только 2 «раритета» — AT 29C010, которую уже использовал, и AT29C040.


А блоки по 256байт
нет еще


Добавил тест статики 62256.

проверено в бою.

реально работает.
у меня были заведомо живые и мертвые.
100% попадание!

респект!

теперь надо внедрить регистры ( ир 10,16, 22,23 ) и мультиплексоры ( кп11,12,13 ) — и будет мегасупердевайс!!!:v2_thumb::v2_cla p2:

а в идеале еще счетчики ( ие5,7 ) и триггера ( тм2,8,9 )….. 🙂


перезалил
сделал индикацию битого адреса (только первого встреченного) при проверке озу


AHTuXPuCT

14.10.2009, 10:17

Уважаемый skyther! скажите а АТМЕGA32 можно использовать в программаторе?



sergey2b

21.10.2009, 03:59

подскажите пожалуйста какими flash можно заменить стандартное ПЗУ и ПЗУ с tr-dos в ленинград-1 (контролерра дисковода пока нет поэтому хочу вначале заменить стандарное ПЗУ а когда соберу контролер просшить flash с tr-dos)

основные криетрии
что бы работало без проблем
можно было использовать данный программатор для программирования flash


подскажите пожалуйста какими flash можно заменить стандартное ПЗУ и ПЗУ с tr-dos в ленинград-1 (контролерра дисковода пока нет поэтому хочу вначале заменить стандарное ПЗУ а когда соберу контролер просшить flash с tr-dos)

основные криетрии
что бы работало без проблем
можно было использовать данный программатор для программирования flash

например самые распространенные

29c 010,020,040 ( атмел , винбонд )
29f 010,020,040 ( амд )

главный критерий — 5ти вольтовое питание и 5ти вольтовое программирование


040 текущая версия не шьет!


Alex_kapfa

21.10.2009, 11:47

Вопрос о работе данного программатора с ПЗУ с УФ- стиранием в этой теме периодически возникает, но затем снова «затухает». Может, все-таки, кто-нибудь пытался доработать данную схему для программирования таких ПЗУ?


Вопрос о работе данного программатора с ПЗУ с УФ- стиранием в этой теме периодически возникает, но затем снова «затухает». Может, все-таки, кто-нибудь пытался доработать данную схему для программирования таких ПЗУ?

не имеет смысл, имхо… переработка потребует внедрение ключей на +12 ( 27сХХХ ) либо +21 ( 573РФх ) — а это геморно и не к чему… проще найти флеш.

040 текущая версия не шьет!

+1
забыл..:v2_conf2: кстати да, не шьет…


Alex_kapfa

21.10.2009, 12:35

не имеет смысл, имхо… переработка потребует внедрение ключей на +12 ( 27сХХХ ) либо +21 ( 573РФх ) — а это геморно и не к чему… проще найти флеш.

Как оказалось, найти в DIPе 5-ти вольтовую флэш- ПЗУ совсем непросто, а вот 27СXXX купить не проблема, да и есть еще дома УФ- ПЗУ (но «шить» их нечем пока). Можно, конечно, собрать Willeprom (как самый доступный из универсальных программаторов), но у программатора Skyther-а, на мой взгляд, есть преимущество в том, что его можно, путем небольшой доработки или применив переходник USBtoCOM, подключить к USB порту компьютера (в частности, ноутбука).


Как оказалось, найти в DIPе 5-ти вольтовую флэш- ПЗУ совсем непросто, а вот 27СXXX купить не проблема, да и есть еще дома УФ- ПЗУ (но «шить» их нечем пока). Можно, конечно, собрать Willeprom (как самый доступный из универсальных программаторов), но у программатора Skyther-а, на мой взгляд, есть преимущество в том, что его можно, путем небольшой доработки или применив переходник USBtoCOM, подключить к USB порту компьютера (в частности, ноутбука).

я покупаю вот здесь (http://www.terraelectronica.ru/catalog.php?ID=313&IDm=b&InHave=&InNew=), и не за дорого…


Михайла

21.10.2009, 16:46

Флешек полно в модемах, на материнских платах, в сдрома’ах(правда в plcc)… Тоже считаю что много проще флеш поставить чем мудрить с уф-пзу.


29c 010,020,040 ( атмел , винбонд )
29f 010,020,040 ( амд )
Не забываем при этом, что 040 бывают с размером блока памяти в 256байт. А флешер расчитан только на 128байт. Запись winbond 29С040 поэтому не прокатит. 🙁

———- Post added at 20:17 ———- Previous post was at 20:13 ———-

я покупаю вот здесь, и не за дорого…
Ты туда на трамвайчике ездишь? 😉


kiryllcrack

22.10.2009, 09:09

здравствуйте! скажите, пожалуйста, подойдет ли этот программатор для программирования памяти M29F200BB70M3 ?


нет, она даже в панельку не влезет


Не забываем при этом, что 040 бывают с размером блока памяти в 256байт. А флешер расчитан только на 128байт. Запись winbond 29С040 поэтому не прокатит. 🙁

———- Post added at 20:17 ———- Previous post was at 20:13 ———-

Ты туда на трамвайчике ездишь? 😉

есть такая организация, не поверишь, пошта россии! 😉


Отчитаюсь о проделанной работе =)
Ввиду того что в ноуте нет COM порта + любовь к законченным устройствам сподвигли меня на разводку платы программатора под конкретный корпус и возможностью работать со стандартным USB дата кабелем для сотового. Результат в аттаче…
PS: использованный дата кабель USB кабель на чипе OTI-6858, питание программатора от USB, переключение на стандартный COM порт — двумя перемычками.
PPS: какая должна быть скорость работы программатора в режиме 115200? За сколько примерно он должен прошивать 256Кб флешку?


PPS: какая должна быть скорость работы программатора в режиме 115200? За сколько примерно он должен прошивать 256Кб флешку?
секунд 20


секунд 20Значит переходник глючит со скоростью — у меня заливается минут 10 — или в чем то еще может быть проблема?


Значит переходник глючит со скоростью — у меня заливается минут 10 — или в чем то еще может быть проблема?

как щелкают адреса видно?
там ингода,когда не шьется видно количество попыток прошить ячейку- все нормально там?

а читается с какой скоростью?


как щелкают адреса видно?
там ингода,когда не шьется видно количество попыток прошить ячейку- все нормально там?

а читается с какой скоростью?
Да все видно. Ошибок нет =) точнее я их видел на флешке AT29C020 ибо там 256 байтные сектора… чтение тоже медленно — такое ощущение что порт работает на совсем маленькой скорости…


balu_dark

24.10.2009, 14:37

пробуй в настройках порта поиграться с размером буфера.
а вообще — все проблемы от реализации работы с ком портом в управляющей программе. частенько сталкивался с подобными вещами при написании програм на Delphi.


пробуй в настройках порта поиграться с размером буфера.Поигрался — не помогло… Скорость не зависит от настроек (не буфера не скорости порта) и для чтения равна — 0x1000 байт за 9 сек… буду пробовать прямое соединение — через стандартный COM порт (без USB)


Поигрался — не помогло… Скорость не зависит от настроек (не буфера не скорости порта) и для чтения равна — 0x1000 байт за 9 сек… буду пробовать прямое соединение — через стандартный COM порт (без USB)

у мну переходник УСБ-ком — никаких проблем….


буду пробовать прямое соединение — через стандартный COM порт (без USB)
Опробовал на нормальном КОМ порте — скорость существенно возросла…
Видимо проблема все-таки в дата кабеле… обидно. Надо будет попробовать какой нить другой при возможности.
Вопросик — на скоростях выше 19200 регулярно проскакивают ошибки и чтения и записи — это нормально — или проблема?


регулярно проскакивают ошибки и чтения и записи — это нормально — или проблема?
зависит от ПЗУ. Некоторые только на 19200 и шьются.
Винбонды как правило хорошо шьются на 57 с чемто.


Alex_kapfa

23.11.2009, 11:46

Skyther, пожалуйста, подскажите, можно ли при помощи «флэшера» прочитать К556РТ4А и К155РЕ3? Нельзя ли добавить в программу, возможность читать такие микросхемы? Мне важно правильно вычитать особенно К556РТ4А (у меня есть контроллер BDI с этой микросхемой).


прочитать К556РТ4А и К155РЕ3
могу добавить, но проверю только для рт4


Alex_kapfa

23.11.2009, 12:39

могу добавить, но проверю только для рт4

Большое спасибо! Мне ее как раз и нужно прочитать. Я думаю, что такой дополнительный функционал (чтение «однократок») может пригодиться не только мне, т.к. такие микросхемы ранее использовались достаточно часто.


Может у кого есть опыт работы с flash P28F001? Ни в какую не могу запрограммировать. Какие могут быть подводные камни? Подавал уже на 1 ногу отдельно напряжение, удалось только записать нули :(.


могу добавить, но проверю только для рт4

было бы классно!
я бы тоже кой чего бы зачитал….
ну и, скажем, РТ11 до кучи ( благо оно , насколько я понимаю, аналог РТ4, с бОльшим объемом )


Alex_kapfa

23.11.2009, 15:34

было бы классно!
я бы тоже кой чего бы зачитал….
ну и, скажем, РТ11 до кучи ( благо оно , насколько я понимаю, аналог РТ4, с бОльшим объемом )
РТ 11 по объему такая же, как и РТ4, но у нее выход с тремя состояниями (у РТ4 — выход с ОК):


Может у кого есть опыт работы с flash P28F001
А она не 12-вольтовая случаем? 😉


А она не 12-вольтовая случаем? 😉

Питание 5 вольт, а напряжение программирования на выводе 1 может быть +12вольт.
В нете встречал что при программировании данного корпуса есть какие-то нюансы, но какие так и не нашел.


напряжение программирования на выводе 1 может быть +12вольт
Скорее всего. У меня есть флеша 28F… Отдыхает.


У 28F001 действительно Vpp=12V, но она еще специфична тем, что имеет аппаратно-защищенный boot-block, поэтому при операциях boot block prog/erase на вход powerdown (RP#) подается unlock voltage 11,4-12,6V (кроме этого есть еще альтернативный метод, где используется вход OE#). Не зря поэтому в адаптерах типа ezoflash выводы 1 и 30 закорочены, да и сам софт вроде предупреждает об этой перемычке…


Powered by vBulletin® Version 4.2.5 Copyright © 2022 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot

USB FLASH и EEPROM программатор Ch441A | Приборы

 

Для примера, вот только некоторые типы микросхем:

 

ATMEL

AT25DF041A, AT25DF321, AT25F004, AT25F512A, AT25F2048, AT25F4096, AT25F1024A, AT25FS010, AT25FS040, AT26DF081A, AT26DF161A, AT26DF321, AT26F004

 

EON

EN25B05, EN25P05, EN25B10, EN25P10, EN25BF20, EN25P20, EN25F20, EN25B40, EN25P40, EN25F40, EN25B80, EN25P80, EN25F80, EN25T80, EN25B16, EN25P16, EN25B32, EN25P32, EN25B64, EN25P64

 

Excel Semiconductor Inc

ES25P10, ES25P20, ES25P40, ES25P80, ES25P16, ES25P32

 

ST

M25P05A, M25P10A, M25P20, M25P40, M25P80, M25P16, M25P32, M25P64, M25PE10, M25PE20, M25PE40, M25PE80, M25PE16, M25PE32, M45PE10, M45PE20, M45PE40, M45PE80, M45PE16, M45PE32

 

MXIC

MX25L512, MX25L1005, MX25L2005, MX25L4005, MX25L8005, MX25L1605, MX25L3205, MX25L6405,  MX25L6445, MX25L6405(SOP16)

 

NexFlash

NX25P80, NX25P16, NX25P32

 

Chingis Technology Corporation

Pm25LV512, Pm25LV010, Pm25LV020, Pm25LV040, Pm25LV080, Pm25LV016, Pm25LV032, Pm25LV064

 

Saifun Semiconductors

SA25F005, SA25F010, SA25F020, SA25F040, SA25F080, SA25F160, SA25F320

 

WINBOND

W25P10, W25X10, W25Q10, W25P20, W25X20, W25Q20, W25P40, W25X40, W25Q40, W25P80, W25X80, W25Q80, W25P16, W25X16, W25Q16, W25P32, W25X32, W25Q32, W25P64, W25X64,W25Q64

 

и другие

 

Не менее важная вещь для программатора — сама программа (Soft). Программа постоянно совершенствуется от версии к версии. Предоставляется бесплатно. Работает в операционных системах: WIN98, WINME, WIN2K, WINXP, VISTA, WIN7-32.

 

Программа для USB FLASH программатора (версия 1.18)
Архив под паролем. Пароль для архива: второй месяц года. Естественно, русскими символами, в нижнем регистре.

 

Программа для USB FLASH программатора (версия 1.29) (RUS), на русском языке
Архив под паролем. Пароль для архива: второй месяц года. Естественно, русскими символами, в нижнем регистре.

Просьба программу в паблик не выкладывать! Иначе, новых версий вы здесь не увидите. Причина паролирования русскими символами — ограничить распространение бесплатной программы в китайском интернете. Программа бесплатная только для русских. Надеемся на понимание.

 

 

Для удобства использования рекомендуем приобрести кабель удлинитель USB разъема или кабель удлинитель USB 2.0 разъема с фильтром, либо кабель удлинитель USB 2.0

 

 

Цвет текстолита изделия может быть синим, черным, красным, зеленым, в зависимости от текущей поставки с завода. Вид некоторые элементы могут незначительно отличаться от фото. Завод постоянно модернизирует изделие.

Цифровое телевидение Как из дампа MStar сделать USB-прошивку

Напомню, что теперь даже ребенок, не вскрывая, может выполнить Сохранение дампа флеш-памяти приставок на MStar. Это готовый дамп — для программатора.

И также из дампа легко сделать файл для аварийного восстановления (а точнее автоматического обновления прошивки) — flash.bin. Подробно рассказано в конце: Восстановление приставки на MStar после неудачной прошивки.

Но — реагировать или нет на flash.bin — определяется текущей прошивкой, находящейся в приставке.
Если в ней изначально отключена реакция на flash.bin, то этот файл будет проигнорирован.


Некоторые пользователи (например, прошившие чужой прошивкой приставку и при этом она загрузилась) хотели бы иметь возможность не искать программатор, выпаивать флеш-память, прошивать дамп и запаивать обратно, а попробовать — из уже имеющегося дампа — сделать обычную прошивку для USB.

Кроме того, USB-прошивку можно заливать не только через меню, но и подключившись к UART процессора, ведь у многих, чужая прошивка приводит к тому, что приставка уже не загружается до конца, останавливаясь на заставке.

Ранее о формировании USB-прошивки в общих чертах уже не раз было рассказано. Да и многие давным-давно всё это умели и умеют.

На первый взгляд может показываться, что всё очень сложно, потому что так много всего написано, но на самом деле — всё легко, и это можно сделать буквально за 15 минут. И описать в 3 предложениях.

Просто это своего рода — Инструкция, поэтому всё так подробно, с картинками и примерами.

Сначала будет рассмотрено воссоздание USB-прошивки для процессоров MSD, как наиболее известное:

Структура USB-прошивки для MSD:

• Заголовок, 4096 байт.
• Данные.
• Контрольная сумма Заголовка + Данные, CRC32 (4 байта, в обратном порядке).

А во второй части — для новых процессоров MSA, но действия примерно те же, вплоть до парадоксальных (на осознание несуразности которых ушло время).

Для всего этого потребуется любой HEX-редактор.


Итак, в чём особенность приставок на процессоре MStar: файл USB-прошивки имеет Заголовок, в котором находится загрузочный скрипт, содержащий команды для загрузки прошивки в приставку.

Все эти команды хранятся в обычном текстовом виде.

Сразу подчёркнуты самые важные 3 числа (а 4 = 3), которые и предстоит найти.

Например, 323b7cобъём Данных (это без учёта 0x1000 (4096) байт Заголовка и 4 байт CRC32).

или всё тоже самое в более привычном для чтения виде:

cusid 169b 3b 1 SMC_U01 0x0CFF 1244054
spi_wrc 0x80001000 0 323b7c
setenv usb_complete 1
setenv usb_upgrade 0
setenv bootcmd ‘ spi_rdc 0x80b00000 0x7001c 0x2b3b60; LzmaDec 0x80b00000 0x2b3b60 0x80000180 0x81000000; go 0x80000224;
saveenv
reset

Вот примерно подобное и надо создать, но только уже без первой строки cusid (поэтому и перечеркнуто).

cusid — команда проверки «свой-чужой», поэтому лучше воссоздать USB-прошивку уже без неё.

Проблема восстановления в том, что после исполнения загрузочного скрипта, Заголовок USB-прошивки — нигде в дампе не сохраняется.

Поэтому основная задача — воссоздание заголовка для будущей прошивки — из той текстовой информации, которая всё-таки есть в дампе.

Несмотря на то, что заголовок текстовый, создавать его надо только в HEX-редакторе.

В конце дампов процессоров MSD/MSA можно увидеть текстовые данные — это переменные окружения.

Искать лучше всего, например, по команде — spi_rdc

Пример переменных в дампе от MSD:

или всё тоже самое в более привычном для чтения виде:

bootdelay=0
baudrate=115200
preboot=echo;echo Type «help» for more commands.
MS_BOARD=BD_MST204A_D01A_S
stdin=serial
stdout=serial
stderr=serial
logo_cmd=boot_logo 0 0 1 1
bootcmd=usb exit;spi_rdc 0x80B00000 0x5001C 0x2DE303; LzmaDec 0x80B00000 0x2DE303 0x80000180 0x81000000; go 0x80000224;
info_exchange=spi
CUSTOMER_OUI=0x169B
AP_SW_MODEL=0x0001
AP_SW_VERSION=0x0001
HW_MODEL=0x0001
HW_VERSION=0x0001

Выделенные числа как раз и являются одними из важных для заголовка. Но тут нет самого 1 числа — объёма Данных.

Раньше получить 1 было очень просто: 2 + 3 (например, как видно у заголовка в самом начале).

Но в современных прошивках стали добавлять ещё какой-то дополнительный блок данных, связанный с сетевыми приложениями.

И если повезёт, то среди переменных окружения будет готовая — общая длина файла будущей USB-прошивки:

filesize

Например, filesize=336DF8 (это уже с учётом 0x1000 (4096) байт Заголовка + 4 байта Контрольной суммы).

И, соответственно, разыскиваемый нами объём блока Данных [1] = filesize–0x1000–4

Но наличие переменной filesize большая редкость, поэтому придётся прикинуть просто на глаз примерное окончание блока Данных в дампе, на собственное усмотрение.

Дамп лучше листать — с конца (не обращая внимание на пустышки с повторяющимися 00, FF или какой-то рыхлый мусор) до тех пор, пока не начнётся плотный поток различных кодов:

В качестве конца блока Данных сам выбрал 36BB2C — теперь это и есть объём блока Данных. А весь остальной выделенный хвост дампа, начиная с 36BB2C — теперь можно и нужно удалить.

При желании можно оставить 00 и побольше (допустим несколько 00-строк), главное, запомнить Смещение (Offset).

Итак, определили все 3 числа, поэтому создаём файл Заголовка длиной 4096 байт и вбиваем в него эти числа:

Пример этого файла заголовка в архиве.

И добавляем заголовок в начало нашего уже обрезанного с конца дампа. Ешё раз напомню:

Структура USB-прошивки для MSD:

• Заголовок, 4096 байт.
• Данные.
• Контрольная сумма Заголовка + Данные, CRC32 (4 байта, записанные в обратном порядке).

У общего файла Заголовка + Данные подсчитываем его контрольную сумму CRC32.

Подсчет можно сделать с помощью одной из программ или же в Интернете, выбрав вариант CRC-32B:
нажимаем кнопку Выберите файл и указываем на подготовленный файл:

и затем внизу нажимаем кнопку Преобразовать файл:

После загрузки подготовленного файла и подсчёта CRC-32 результат будет выглядеть примерно так:

HEX: B8C5126C

Теперь полученные 4 байта: B8 C5 12 6C добавляем к файлу в обратном порядке: 6C 12 C5 B8:

Всё, прошивка готова.




А теперь для процессоров MSA. Напомню, ключевое отличие — Заголовок стал длиной 16384 байта.

Структура USB-прошивки для MSA:

• Заголовок, 16384 байт.
• Данные, выровненные до ближайшего старшего адреса (как правило, до 0x*****000).
• Контрольная сумма Заголовка, CRC32 (4 байта, записанные в обратном порядке).
• 20 нулевых байт (0x00).

Парадокс, над которым пришлось долго ломать голову, в том, что здесь считается Контрольная сумма только Заголовка.

По привычке, пытался подсчитать CRC32 у различных вариантов Заголовка + Данные, но приставка упорно ругалась — Error: CRC error!
Потому что, как оказалось, у прошивок MSA проверяется только целостность Заголовка.
Видимо, целостность самого блока Данных проверяется позже.

Итак, как и у MSD, в заголовке у MSA — текстовый загрузочный скрипт, но с гораздо бОльшим числом команд и различных переменных.

Сразу отмечу наиболее важные, которые потом и предстоит определить из дампа.

И это всё те же самые — 3 числа:

или всё тоже самое в более привычном для чтения виде:

fatload usb 0 80000000 $(ForceUpgradePath)
spi_wrc 80004000 0 3bc000

setenv usb_complete 1
setenv usb_upgrade 0
setenv OAD_NEED_UPGRADE 0
setenv OAD_TRIGGER_TYPE 0
setenv bootcmd ‘ spi_rdc 0x80b00000 0x39028 0x338f16; LzmaDec 0x80b00000 0x338f16 0x80000180 0x81000000; go 0x80000224;
setenv upgrade_mode null
setenv MstarUpgrade_complete 1
setenv bl_jpd_read_addr 0x01f1c800
setenv bl_jpd_read_size 0x00100000
setenv bl_jpd_write_addr 0x0201c800
setenv bl_jpd_write_size 0x003fc000
setenv bl_jpd_inter_addr 0x02418800
setenv bl_jpd_inter_size 0x00630000
setenv bl_dfb_framebuffer_addr 0x01b28000
setenv ve_buffer_addr 0x02a48800

saveenv
reset

Сразу оговорюсь о последних 8 переменных: во многих официальных прошивках их значения равны 0x00000000, при этом потом уже в дампе — они имеют конкретные значения, т.е. сама прошивка всё равно знает их значения (можно посмотреть и через команду printenv). Поэтому не вижу смысла восстанавливать их значения из дампа. Но кто желает, может вбить точные значения из дампа.

Итак, как обычно, идём в конец дампа или просто через Поиск строки, например, spi_rdc

Находим область с переменными окружения и видим там нужные нам 2 и 3 число:

Также как у MSD, если повезёт, то среди переменных окружения будет готовая — общая длина файла будущей USB-прошивки:

filesize

Например, filesize=3C6018 (это уже с учётом 0x4000 (16384) байт Заголовка, 0x4 (4) байт Контрольной суммы и 0x14 (20) нулевых байт).

И тогда, разыскиваемый нами объём блока Данных [1] = filesize–0x4000–0x4–0x14

Но, как уже отмечалось, наличие переменной filesize большая редкость, поэтому также как и с MSD, просматривая с конца дампа, ищем плотный поток различных кодов:

Но, в отличие от MSD, у MSA официальный конец Данных — ближайший старший адрес строки, как правило, оканчивающийся на 0x*****000:

В данном случае, это — 0x3C2000, а весь остальной выделенный хвост, начиная с 0x3C2000 — отбрасываем.

Итак, все 3 числа определили, вбиваем их в файл заголовка длиной 16384 байта:

Пример этого файла заголовка в архиве.

Подсчитываем контрольную сумму CRC32 файла Заголовка. В данном случае — 4D 95 D9 32.

Ещё раз напомню:

Структура USB-прошивки для MSA:

• Заголовок, 16384 байт.
• Данные, выровненные до ближайшего старшего адреса (как правило, до 0x*****000).
• Контрольная сумма Заголовка, CRC32 (4 байта, записанные в обратном порядке).
• 20 нулевых байт (0x00).

Итак, всё собираем вместе: добавляем Заголовок в начало нашего уже обрезанного с конца дампа,
затем сзади добавляем 4 байта CRC32 в обратном порядке (т.е. 32 D9 95 4D ) и ещё 20 нулевых байт.

Т.е. концовка получившийся USB-прошивки выглядит вот так:

Если что-то непонятно в структуре начала и конца USB-прошивок и дампов MSD и MSA, то можно посмотреть на различные заводские прошивки и слитые дампы.


Напомню, что прошивки можно загружать не только в полностью работающую приставку через меню, но и подключившись с помощью любой терминальной программы с обычными параметрами порта 115200 8N1 — через любой преобразователь TTL-RS232 (например, в программаторе Ch441A) — к контактам UART процессора MStar.

В момент включения приставки быстро нажимать, например, Enter и попадём в консоль загрузчика.

Загрузка USB-прошивки процессора MSD:

« MStar »# setenv usb_upgrade_path usb_MSD.bin
« MStar »# setenv usb_upgrade 1
« MStar »# saveenv
« MStar »# reset

Название файла прошивки может быть любым.

Загрузка USB-прошивки процессора MSA:

k5ap# usb start 0
k5ap# fatload usb 0 80000000 usb_MSA.bin
k5ap# spi_wrc 80004000 0 3c2000 (где 3c2000 — длина блока Данных [1] прошивки, видна в заголовке)

offset 0x0, size 0x3C2000
initialization done!
Erasing…
Writing…
Verifying…

k5ap# setenv usb_complete 1
k5ap# setenv usb_upgrade 0
k5ap# setenv upgrade_mode null
k5ap# setenv MstarUpgrade_complete 1
k5ap# saveenv
k5ap# reset

т.е. по сути сделать всё то же самое, что указано в заголовке.

На всякий случай, напомню, что у MSA команда help не работает:

k5ap# help
Unknown command ‘help’ — try ‘help’
k5ap# ?
Unknown command ‘?’ — try ‘help’

Стандартное обновление через меню или же через UART помогает и в тех случаях, когда микросхема флеш-памяти — слишком новая и программатор о ней ещё ничего не знает, дамп не прошивается, приходится пытаться указывать другие какие-то более известные микросхемы и пробовать.
А когда обновляете через приставку, то она об этом типе флеш, естественно, знает.

После любых прошиваний не забудьте — сбросить в заводские настройки.


Все вышеуказанные операции проводить с флешкой, отформатированной FAT32.
Если что-то не получается, пробовать с другой флешкой, отформатированной FAT32.

И как всегда стоит ещё раз напомнить:

ВСЁ, ЧТО ВЫ ДЕЛАЕТЕ СО СВОЕЙ ПРИСТАВКОЙ, ВЫ ДЕЛАЕТЕ НА СВОЙ СТРАХ И РИСК!

Если что-то пойдёт не так и приставка вообще не загрузится, то всегда надо быть готовым обратиться к программатору: Восстановление приставки на MStar после неудачной прошивки.


Офф-топ: О работе приложения IPTV

У новых процессоров MSA среди переменных окружения (printenv) появилась интересная:

IPTV_data_size=23644

Если её там нет, то при запуске приложения IPTV будет ошибка:

get IPTV_data_size Failed!!

и она будет создана автоматически.

А если она уже была, то при запуске IPTV будет показано:

szbuf = 23644

Судя по названию, связана с размером какого-то буфера IPTV, но смущает очень маленький размер.

В любом случае, теперь появилась возможность для экспериментов с размером буфера, заходя в консоль и устанавливая свой размер, например:

k5ap# setenv IPTV_data_size 64000
k5ap# saveenv
k5ap# reset

и при запуске IPTV видно:

==== Memory usage====================
u32PoolSize = 0x95ae40
u32FreeSize = 0x8c4a90
u32LargestFreeBlockSize = 0x8c4a84
max usage = 0x8c4a90
min block free size = 0x0

Start decode DB …Decodesize = 0x8
szbuf = 64000

Причём, например, если у приставки изначально размер IPTV_data_size был 292 байта, то после загрузки плейлиста на 107 каналов стало:

parsing file…
szbuf = 230424

Но когда подставил плейлист уже на 282 канала, то размер буфера так и остался прежним:

szbuf = 230424

Пока сложно сказать однозначно за какой именно буфер IPTV она отвечает. Но тот факт, что IPTV_data_size добавили в переменные окружения, говорит о том, что она действительно важна.

И эта же переменная используется для приложения YouTube:

==== Memory usage====================
u32PoolSize = 0x8ca000
u32FreeSize = 0x836ec0
u32LargestFreeBlockSize = 0x836eb4
max usage = 0x836ec0
min block free size = 0x0

Start decode DB …Decodesize = 0x38534
szbuf = 230708



ObjLoader_init exit
ObjLoader_Demo
object file had loaded !!
FFMPEG VERSION : 3.4.2
eYoutubeCb = 0x7000E
http code:200
szbuf = 230708

Задать вопросы о цифровом телевидении можно на форуме DVBpro

Автор: Александр Воробьёв, 29 Июн 2019 | Постоянная ссылка на страницу: http://dvbpro.ru/?p=26443

FLASH-PROGRAMMER Инструмент для программирования | TI.com

SmartRF Flash Programmer 2 можно использовать для программирования флэш-памяти в маломощных радиочастотных микроконтроллерах Texas Instruments на базе ARM через отладочный и последовательный интерфейсы.

Программатор SmartRF Flash Programmer может использоваться для программирования флэш-памяти маломощных радиочастотных микроконтроллеров Texas Instruments 8051, а также для обновления прошивки и загрузчика на оценочной плате SmartRF05, оценочной плате приемопередатчика SmartRF (TrxEB) и CC -Отладчик.

SmartRF Flash Programmer и SmartRF Flash Programmer 2 включают в себя графический интерфейс пользователя и интерфейс командной строки.

  • Программирование образов ПО на маломощных радиочастотных беспроводных MCU
  • Программирование/обновление микропрограммы и загрузчика на USB MCU оценочной платы
  • Добавление образа программного обеспечения к существующему программному обеспечению на устройстве hex или ELF (elf и bin только для ARM-устройств)
  • Проверка образа ПО на устройстве по файлу
  • Программирование битов блокировки флэш-памяти
  • Чтение/запись MAC-адресов (IEEE EUI64/48/BLE) адресов
  • Чтение информационной страницы на устройстве
  • Интерфейс командной строки

Установка

SmartRF Flash Programmer и SmartRF Flash Programmer 2 работают на 32- и 64-разрядных версиях Microsoft® Windows 7 и Windows 10.

Рекомендации по установке:

  • Загрузите ZIP-файл на жесткий диск.
  • Разархивируйте файл.
  • Прочтите файл манифеста для получения информации о выпуске.
  • Запустите установочный файл и следуйте инструкциям.

Установка SmartRF Flash Programmer должна выполняться с правами администратора, чтобы разрешить установку USB-драйвера. При запуске программы установки появится диалоговое окно «Контроль доступа пользователей».Если у пользователя есть права администратора, нажмите кнопку «Да», чтобы продолжить установку. Если у пользователя нет прав администратора, для продолжения необходимо ввести идентификатор пользователя и пароль с этими правами.

Пользователи Linux и Mac могут использовать инструмент Uniflash. См. страницу продукта Uniflash: https://www.ti.com/tool/uniflash.

Поддерживаемые отладчики

SmartRF Flash-программист

  • SmartRF04EB
  • SmartRF05EB
  • SmartRF TrxEB
  • CC отладчик

SmartRF флэш-программист 2

  • XDS100v3
  • XDS110
  • XDS200
  • Последовательный COM-порт

Аппаратный взлом: чип-офф для начинающих

Введение во взлом оборудования

Прежде чем запачкать руки аппаратным взломом, давайте начнем с краткого введения в флэш-память, компонент, который мы очень часто будем находить в печатных платах, которые мы будем анализировать.Флэш-память предназначена в основном для чтения и разработана как усовершенствование более традиционной памяти EEPROM. Флэш-память можно найти в различных электронных устройствах, включая персональные компьютеры, бытовую технику и флешки. Одним из их наиболее распространенных применений является использование в качестве хранилища прошивки, и поэтому знание того, как сделать дамп его содержимого и проанализировать полученный файл, является желательным навыком для аппаратного хакера.

Существует несколько способов сделать дамп содержимого флэш-памяти. Если нам повезет, анализируемая плата может иметь открытые порты отладки (JTAG, SWD…), которые мы могли бы использовать для взаимодействия с платой, а в некоторых случаях даже для выполнения пошагового выполнения прошивки. и дамп памяти в файл.Однако во многих других случаях эти порты могут быть отключены или вообще не существовать, но сама флэш-память может быть внешней и отображаться как автономный компонент. В этих случаях некоторые программаторы EEPROM имеют тестовый зажим, который можно прикрепить непосредственно к флэш-памяти, не отпаивая его от платы.

Тем не менее, бывают случаи, когда единственный выход — отпаять компонент от платы. Эти запоминающие устройства обычно представляют собой устройства для поверхностного монтажа (SMD), поэтому насосы для отпайки могут не сработать.Несмотря на то, что использование фитиля припоя с паяльником было задокументировано, этот метод сильно ограничен размером паяных соединений и подходит для сценариев с большими контактными площадками или компонентами THT. Во всех остальных случаях использование термовоздушной ремонтной станции, как правило, является более разумным решением.

В этом посте мы описываем, как физически удалить флэш-память с платы, чтобы извлечь ее содержимое, метод, называемый «чип-офф», с использованием ремонтной станции с горячим воздухом. Мы будем использовать эту технику для двух FTA-ресиверов спутникового телевидения, проанализированных в ходе предыдущего расследования, проведенного Tarlogic в отношении протоколов IKS и пиратства спутникового телевидения.Для этого нам понадобится:

  • Термовоздушная ремонтная станция: включая термофен и платформу для предварительного нагрева.
  • Инструменты для пайки: пинцет, увеличительное стекло и флюс для очистки паяных соединений.
  • Совместимый программатор flash/EEPROM
Станция горячего воздуха с плитой предварительного нагрева и термофеном Программатор EEPROM

Аппаратный взлом – чип-офф

Поиск воспоминаний

Первым шагом всегда является определение интегральной схемы, в которой находится флэш-память, которую мы хотим извлечь.Поскольку эти запоминающие устройства, как правило, неотличимы от любой другой интегральной схемы невооруженным глазом, удобно просмотреть техническое описание любого компонента, подозреваемого в том, что он является флэш-памятью. Обычно простой поиск по номеру детали в Google выдает техническое описание первым результатом.

Winbond W25Q128FVFG 16-контактная флэш-память GigaDevice GD25Q32B 8-контактная флэш-память

Эксплуатация станции горячего воздуха

Работа термовоздушных станций проста: струю горячего воздуха (более 200ºC) направляют на деталь, которую мы хотим извлечь, так, чтобы места пайки расплавились и деталь можно было извлечь пинцетом.Однако такие параметры, как температура воздуха, скорость или расстояние до сопла, необходимо регулировать в зависимости от извлекаемого компонента.

Другим важным аспектом, о котором следует помнить, является влияние дифференциального нагрева на плату. Когда на печатную плату подается струя горячего воздуха при комнатной температуре, большая часть тепла рассеивается в более холодные участки, что делает нагрев интересующей области неэффективным. Может возникнуть соблазн увеличить температуру струи. Однако это опасно: компонент подвергается повышенным термическим нагрузкам и увеличивается температурный градиент вдоль платы.Разница температур на плате будет вызывать различное тепловое расширение в разных точках, вызывая механическое напряжение, которое может повредить плату.

Альтернативой является предварительный нагрев платы, для чего существует несколько методов. В этом примере мы будем использовать ремонтную станцию ​​MLINK H6 с горячим воздухом, которая оснащена платой предварительного ИК-нагрева, поверх которой размещена печатная плата.

Чтобы отпаять компонент от печатной платы, мы начинаем с размещения платы на платформе поверх пластины предварительного нагрева и закрепляем ее, поворачивая винты платформы, регулируя ее положение так, чтобы струя горячего воздуха попадала прямо на компонент. мы хотим извлечь.

Пистолет горячего воздуха над печатной платой

Затем мы включаем пластину предварительного нагрева, ожидая, пока пластина предварительного нагрева достигнет желаемой температуры. Оптимальная температура зависит от размера компонента, материала припоя и состояния схемы. В данном случае некоторые тесты проводились на старых платах с извлечением мелких компонентов и интегральных схем.

Для большинства мелких компонентов достаточно температуры предварительного нагрева 240°C. Для более старых плат или плат с соединениями, изготовленными из различных припоев, может потребоваться температура до 280°C.В любом случае использование флюса может помочь снизить требуемую температуру и предотвратить повреждение.

Для более крупных интегральных схем может потребоваться несколько более высокая температура в диапазоне от 280°C до 300°C. В этих случаях большую помощь всегда окажут сопла термофена соответствующей формы и ориентации. Кроме того, было обнаружено, что регулировка высоты, на которой удерживается термофен, полезна для компонентов с большей поверхностью, хотя с этим нужно обращаться осторожно, чтобы не повредить окружающие компоненты.В случае, если плотность электронных компонентов была слишком высока, и направить струю на один компонент было невозможно, мы можем закрыть окружающие компоненты термолентой, чтобы они не перегревались.

Термолента

Извлечение аппаратных компонентов

Как только платформа достигает желаемой температуры, включается термофен. Мы поддерживаем поток воздуха до тех пор, пока компонент не будет извлечен пинцетом, максимум 20-30 секунд.

Для небольших интегральных схем и других компонентов пинцет помещают вертикально на компонент, захватывая его, не касаясь контактов.Для компонентов большего размера, в которых пинцет не может обеспечить безопасный захват, нам может потребоваться захватить компонент за угол, не касаясь штифтов и применяя мягкое давление для его извлечения. Результат должен быть чистым, без следов на контактах компонентов.

Извлеченная память Winbond

Выбор программатора

Для считывания флэш-памяти был выбран программатор EEPROM EZP2019+ из-за его простоты и низкой стоимости. В зависимости от упаковки памяти потребуется соответствующий адаптер.В нашем случае для памяти Winbond (16 контактов) использовался адаптер SOP16 300mil, а для памяти GigaDevice (8 контактов) — SOP8 209mil. В комплект программатора входит компакт-диск с драйверами и необходимым ПО в ZIP-архиве.

Сброс прошивки

У каждого программиста свои особенности, и нет простого инструмента, который работал бы для всех. В случае с EZP2019 помимо установки программного обеспечения, содержащегося на компакт-диске, также потребовалась установка соответствующих драйверов.Инструмент (содержится в исполняемом файле EZP2019+.exe) напоминает обычный шестнадцатеричный редактор с различными дополнительными опциями для работы с программатором.

EZP2019 программист

К счастью, память, которую мы извлекли, изначально поддерживается приложением, что избавит вас от необходимости устанавливать параметры памяти вручную. В этом случае нам нужно было только предоставить:

  • Тип памяти: может быть EEPROM, серии 24, 25 или 93 или флэш-память, как описано в этом примере.
  • Производитель: Winbond и GigaDevice
  • Модель: W25Q128 и GD25Q32B соответственно

С другой стороны, отсутствие документации на эти устройства является большим препятствием для их эксплуатации. Кроме гарантийного талона и комплекта руководств в формате PDF по программному обеспечению дампа (а не самому программатору), инструкций по адаптерам чипов не прилагалось. В частности, хотя во многих случаях можно было легко угадать правильный адаптер для каждой памяти (это было в случае с памятью WinBond, поскольку был только один 16-контактный адаптер), правильную ориентацию памяти приходилось определять экспериментально, увеличивая риск повреждения компонента.

Ориентация памяти в адаптере

Был сделан вывод, что первый пин, обозначенный круглой меткой в ​​одном из углов упаковки, должен быть совмещен с углом адаптера с равнозначной меткой совмещения на нем, а адаптер должен быть подключен к программатору так, чтобы метка направлена ​​в сторону USB-разъема. Правильную ориентацию можно проверить, просто нажав кнопку «Тест» в программе создания дампа памяти, которая выдаст сообщение об ошибке, если ориентация неверна.

Хотя инструмент хорошо справляется с самостоятельной настройкой параметров считывания устройства, рекомендуется проверить правильность размера памяти, размера страницы и скорости чтения. Эти параметры можно найти в соответствующем техпаспорте. В нашем случае память Winbond имела объем 16 МБ и размер страницы 256 байт, а память GigaDevice также имела объем 4 МБ и размер страницы 256. В обоих случаях мы подтвердили, что скорость чтения 12 МГц вообще не приводит к ошибкам считывания.

Для того, чтобы прочитать содержимое подключенной памяти, мы можем просто нажать на кнопку «Прочитать» на панели инструментов приложения, и, если все параметры были правильными, в строке состояния будет показан ход считывания.

Считывание памяти Winbond

Если скорость чтения слишком высока, считывание может завершиться ошибкой и дать ошибочные результаты. Вот почему рекомендуется проверить содержимое дампа данных, нажав Проверить и визуализировать его содержимое в главном окне.Выгруженные данные можно сохранить в файл, просто нажав Сохранить .

Подведение итогов

Хотя мы можем подумать, что сохранение содержимого дампа в файл является последним шагом перед тем, как приступить к реверс-инжинирингу прошивки, может быть желателен некоторый предварительный анализ данных.

Одна из первых вещей, которую мы можем захотеть проверить, это то, сжата ли прошивка или зашифрована, что мы можем сделать, запустив энтропийный анализ с помощью таких инструментов, как binwalk.Если энтропия в целом низкая, также может быть интересно проверить порядок следования байтов данных, поскольку слова данных могут быть перевернуты, если порядок следования байтов в памяти не совпадает с порядком байтов встроенного процессора. Мы можем сделать это, ища ASCII-строки в прошивке и пытаясь их прочитать. Если печатный текст не читается, но характеризуется одиночными заглавными буквами в середине слова (такие вещи, как «nihTl sgeokisiht»), есть вероятность, что порядок байтов слов в некоторой степени двойки изменен на противоположный.

Узнайте о нашей работе и услугах по кибербезопасности на www.tarlogic.com

Инженер по программному обеспечению SSD

— Radian Memory Systems

Должностная инструкция

Radian ищет разработчика прошивки и операционной системы экспертного уровня для работы над основной программной технологией компании для усовершенствованного хранения данных в памяти. В первую очередь будет проектировать, разрабатывать и отлаживать сложные микропрограммы на C в усовершенствованной многоядерной системе на кристалле. Также будет разработана соответствующая внутренняя часть ядра x86 Linux на стороне хоста и драйверы блочных устройств, ориентированные на передовые архитектуры систем хранения.

Станьте частью быстрорастущего, динамично развивающегося стартапа. Работайте с экспертной технической командой над одним из самых требовательных приложений в отрасли.

Требуемые навыки

8+ лет опыта на экспертном уровне в следующих областях:

  • Программирование на С
  • Многоядерные архитектуры
  • Параллельная обработка
  • Тяжелая многопоточность и параллелизм
  • Сложные и тесно интегрированные кодовые базы

Желаемые навыки:

  • Уровни преобразования флэш-памяти (FTL)
  • Внутреннее устройство ядра Unix/Linux
  • Встроенные операционные системы
  • Процессоры System-on-Chip (SoC)
  • Стек хранения Linux (уровень блоков ядра, управление памятью ядра, драйверы блочных устройств)
  • Интерфейсы/протоколы хранения (оптоволоконный канал, SCSI, SAS, SATA, PCIe, NVMe)
  • Знакомство с методами защиты данных и восстановления после ошибок, такими как RAID, кодирование стирания или LDPC
  • КИСЛОТНЫЕ принципы
  • Разработка диагностического кода и модульное тестирование
  • Знакомство с инструментами и средами тестирования (jenkins) или скриптами (python)

Radian предлагает лучшее из обоих миров… участие в стартапе, опционы на акции на ранней стадии и невероятная команда, работающая над передовыми технологиями, но со стабильностью компании после получения прибыли, которая достигает роста продаж на миллионы долларов в годовом исчислении.

Доступные должности для этой должности в Сан-Хосе, Калифорния. офис или Калабасас, ок. офис.

Отличная зарплата, опционы на акции компании и премиальная медицинская страховка.

Резюме по электронной почте [email protected]

Radian Memory Systems не пользуется услугами агентств по трудоустройству и не принимает заявки от третьих лиц. Radian Memory Systems — работодатель с равными возможностями.

Комплект разработчика Dediprog SF600 | Программирование прошивки SPI Flash

Возврат и возмещение
Описание права потребителя на «период обдумывания» указано в разделе «Дистанционные соглашения — права потребителей» в Условиях обслуживания.

Для всех продуктов из стандартного ассортимента в их оригинальной упаковке, еще невскрытой (также применимо для обложек компакт-дисков/программного обеспечения), ISS Group принимает возврат и возмещение в течение четырнадцати (14) дней с даты выставления счета. Для товара, у которого повреждена или исчезла оригинальная упаковка, отсутствуют компоненты и/или товар был в употреблении, вариант возврата и возмещения недействителен. Возврат и компенсация не принимаются для программного обеспечения, изображений или аудиофайлов, на которых была нарушена пломба (включая технические пломбы, например, серийные номера), или продукты, которые были заказаны по индивидуальному заказу.По всем запросам на возврат и возмещение обращайтесь в отдел обслуживания клиентов ISS Group, посетив веб-сайт The LAB eShop. Когда запрос будет получен, по электронной почте будет отправлен номер RMA, который будет использоваться для возврата товара. Во всех случаях возврата и возмещения расходы по доставке несет покупатель.

Обратите внимание, что получение номера RMA не означает, что запрос на возмещение был одобрен. Номер RMA действителен в течение четырнадцати (14) дней, в течение которых продукт должен быть доставлен на склад ISS Group, указанный в примечании RMA.Для любой обратной отправки стоимость доставки оплачивается покупателем, копия заказа и счета-фактуры, а также номер RMA должны быть отправлены вместе с товаром. Товар должен быть надлежащим образом подготовлен, с использованием упаковочного материала, одобренного перевозчиком (например, гофрокартона). Возвраты, поступающие на склад ISS Group в конверте или с использованием внешнего упаковочного материала, не одобренного перевозчиком, будут возвращены без каких-либо действий, так как они не могут быть приняты к возврату и возмещению.Если стоимость доставки не была предварительно оплачена или отсутствует номер RMA или любая необходимая информация и документы, применяется та же процедура.

Возврат и компенсация утверждаются после того, как Группа ISS получит товар и проведет необходимые проверки, чтобы убедиться, что продукт исправен и все условия, упомянутые выше, соблюдены.

 

%PDF-1.3 % 1380 0 объект > эндообъект внешняя ссылка 1380 164 0000000016 00000 н 0000003655 00000 н 0000003794 00000 н 0000007615 00000 н 0000007862 00000 н 0000007949 00000 н 0000008037 00000 н 0000008147 00000 н 0000008315 00000 н 0000008384 00000 н 0000008569 00000 н 0000008638 00000 н 0000008770 00000 н 0000008891 00000 н 0000008960 00000 н 0000009093 00000 н 0000009162 00000 н 0000009299 00000 н 0000009368 00000 н 0000009437 00000 н 0000009569 00000 н 0000009638 00000 н 0000009738 00000 н 0000009828 00000 н 0000009897 00000 н 0000010009 00000 н 0000010078 00000 н 0000010193 00000 н 0000010262 00000 н 0000010369 00000 н 0000010438 00000 н 0000010552 00000 н 0000010621 00000 н 0000010727 00000 н 0000010796 00000 н 0000010865 00000 н 0000011040 00000 н 0000011109 00000 н 0000011297 00000 н 0000011366 00000 н 0000011475 00000 н 0000011571 00000 н 0000011640 00000 н 0000011766 00000 н 0000011835 00000 н 0000011967 00000 н 0000012036 00000 н 0000012175 00000 н 0000012244 00000 н 0000012421 00000 н 0000012518 00000 н 0000012587 00000 н 0000012656 00000 н 0000012725 00000 н 0000012879 00000 н 0000012948 00000 н 0000013085 00000 н 0000013195 00000 н 0000013299 00000 н 0000013368 00000 н 0000013437 00000 н 0000013563 00000 н 0000013632 00000 н 0000013760 00000 н 0000013829 00000 н 0000013956 00000 н 0000014025 00000 н 0000014094 00000 н 0000014283 00000 н 0000014352 00000 н 0000014526 00000 н 0000014595 00000 н 0000014694 00000 н 0000014830 00000 н 0000014931 00000 н 0000015033 00000 н 0000015102 00000 н 0000015212 00000 н 0000015281 00000 н 0000015412 00000 н 0000015481 00000 н 0000015550 00000 н 0000015672 00000 н 0000015741 00000 н 0000015859 00000 н 0000015928 00000 н 0000015997 00000 н 0000016066 00000 н 0000016242 00000 н 0000016311 00000 н 0000016466 00000 н 0000016642 00000 н 0000016745 00000 н 0000016814 00000 н 0000016883 00000 н 0000016999 00000 н 0000017113 00000 н 0000017182 00000 н 0000017251 00000 н 0000017379 00000 н 0000017448 00000 н 0000017517 00000 н 0000017678 00000 н 0000017747 00000 н 0000017854 00000 н 0000018020 00000 н 0000018120 00000 н 0000018222 00000 н 0000018291 00000 н 0000018411 00000 н 0000018480 00000 н 0000018549 00000 н 0000018691 00000 н 0000018760 00000 н 0000018878 00000 н 0000018947 00000 н 0000019064 00000 н 0000019133 00000 н 0000019262 00000 н 0000019331 00000 н 0000019459 00000 н 0000019528 00000 н 0000019641 00000 н 0000019710 00000 н 0000019828 00000 н 0000019897 00000 н 0000019966 00000 н 0000020035 00000 н 0000020142 00000 н 0000020210 00000 н 0000020305 00000 н 0000020453 00000 н 0000020521 00000 н 0000020589 00000 н 0000020720 00000 н 0000020788 00000 н 0000020856 00000 н 0000020926 00000 н 0000021062 00000 н 0000021419 00000 н 0000022211 00000 н 0000022234 00000 н 0000022967 00000 н 0000022990 00000 н 0000023618 00000 н 0000023641 00000 н 0000024198 00000 н 0000024221 00000 н 0000024845 00000 н 0000024868 00000 н 0000025460 00000 н 0000025483 00000 н 0000026066 00000 н 0000026380 00000 н 0000027080 00000 н 0000027103 00000 н 0000027736 00000 н 0000027759 00000 н 0000028433 00000 н 0000031098 00000 н 0000032845 00000 н 0000032986 00000 н 0000003935 00000 н 0000007591 00000 н трейлер ] >> startxref 0 %%EOF 1381 0 объект > эндообъект 1382 0 объект őCϠ$CA6EȱA*@cSg) /П-12 /В 1 >> эндообъект 1542 0 объект > поток 8qھ[email protected]$ac P5W ʢx&]W*ظl_聑[N]ֲ,*WT=A[)E2 =De$/‡nwtא`bbTN헹

Pololu — 9.Обновление прошивки

Программа, работающая на USB-программаторе AVR (прошивка), может быть обновлена ​​путем исправления ошибок или добавления новых функций.

Версии прошивки
  • Версия 1.00 , выпущена 02.06.2009: Это оригинальная прошивка для программатора. Все программаторы, поставленные Pololu до 17 декабря 2009 г., поставлялись с этой версией.
  • Версия 1.01 , выпущенная 17 декабря 2009 г.: эта версия содержит два исправления ошибок, связанных с последовательным портом TTL программатора.Программисты, отправленные из Pololu в период с 18 декабря 2009 г. по 29 февраля 2012 г., получили эту версию.
  • Версия 1.03 , выпущенная 22 декабря 2010 г.: эта версия микропрограммы инвертирует управляющие сигналы последовательного порта TTL таким образом, что 0 В соответствует 1, а 5 В соответствует 0.
  • Версия 1.04 , выпущенная 29 апреля 2011 г.: В этой версии микропрограммы исправлена ​​ошибка, из-за которой, если сумма минимального измеренного целевого VDD и максимально допустимого диапазона целевого VDD превышает 8160 мВ, программист ошибочно полагает, что AVR не запитан должным образом и отказывается его программировать.В этой версии также устранена проблема с дополнительными выходами сигналов управления RTS и DTR на линиях A и B.
  • Версия 1.05 , выпущенная 07 июля 2011 г.: В этой версии микропрограммы добавлена ​​поддержка AVR с 256 КБ флэш-памяти и увеличен период ожидания программирования с 350 мс до 1400 мс.
  • Версия 1.06 , выпущенная 16 сентября 2011 г.: В этой версии прошивки добавлена ​​поддержка AVR Studio 5.0 путем изменения подписи программиста с «AVRISP_2» на «STK500_2».
  • Версия 1.07 , выпущенная 29 февраля 2012 г.: В этой версии микропрограммы добавлена ​​поддержка AVR Studio 5.1 и более поздних версий путем сообщения целевого напряжения по запросу.
  • Версия 1.08 , выпущенная 28 апреля 2016 г.: В этой версии микропрограммы исправлена ​​проблема, из-за которой программатор не мог работать в macOS 10.11 или более поздней версии.
Специальные модифицированные версии встроенного ПО

Эти специальные модифицированные версии прошивки заставляют программатор отображаться как один виртуальный COM-порт вместо составного устройства с двумя виртуальными COM-портами и родным интерфейсом USB.Эти версии встроенного ПО не поддерживают последовательный порт TTL, SLO-scope или утилиту настройки. Эти версии были предоставлены для поддержки Mac OS X 10.6 или более ранней версии.

  • Специальная модифицированная версия 1.01nc , выпущенная 9 декабря 2010 г.: Эта версия основана на стандартной версии прошивки 1.01.
  • Специальная модифицированная версия 1.02nc , выпущенная 21 декабря 2010 г.: эта версия очень похожа на 1.01nc, но в ней улучшена поддержка более старых версий Mac OS X.
  • Специальная модифицированная версия 1.06nc , выпущенная 16 сентября 2011 г.: Эта версия основана на стандартной версии прошивки 1.06.
  • Специальная модифицированная версия 1.07nc , выпущенная 29 февраля 2012 г.: Эта версия основана на стандартной версии прошивки 1.07.
Определение версии прошивки

Вы можете определить версию микропрограммы, выполнив следующие действия.

Для определения версии прошивки программатора в Windows: Если вы видите только одну запись для программатора в Диспетчере устройств, значит у вас специальная модифицированная версия прошивки.Если вы видите несколько записей для программатора, то у вас одна из стандартных версий прошивки и вы можете определить точный номер версии, выполнив следующие действия:

  1. Дважды щелкните запись «Pololu USB AVR Programmer» в списке «USB-устройства Pololu».
  2. На вкладке «Сведения» выберите свойство «Идентификаторы оборудования» в раскрывающемся списке.
  3. Первое отображаемое значение должно быть примерно таким: USB\VID_1FFB&PID_0081&REV_0101&MI_04 .Номер после REV_ — это код вашей версии. Если код версии «0001», значит, у вас версия прошивки 1.00. В противном случае версия вашей прошивки определяется путем вставки точки в середине кода версии. Например, код версии «0107» соответствует версии прошивки 1.07, а код версии «0101» соответствует версии прошивки 1.01.

Для определения версии прошивки программатора в Linux: Если при подключении программатора к компьютеру появляется только одно устройство с именем, соответствующим /dev/ttyACM* , то у вас специальная модифицированная версия прошивки.Если вы видите два таких устройства, значит, у вас одна из стандартных версий прошивки и вы можете определить точный номер версии, выполнив следующие действия:

  1. Выполните следующую команду: lsusb -v -d 1ffb:0081 | grep bcdDevice
  2. Это должно вывести строку с номером. Этот номер является кодом ревизии. Если код версии «0.01», значит у вас версия прошивки 1.00. В противном случае версия вашей прошивки совпадает с кодом ревизии.

Для определения версии прошивки программатора в Mac OS X: Если при подключении программатора к компьютеру появляется только одно устройство с именем, соответствующим /dev/tty.usb* , то у вас специальная модифицированная версия прошивки. Если вы видите два таких устройства, значит, у вас одна из стандартных версий прошивки и вы можете определить точный номер версии, выполнив следующие действия:

  1. Выполните следующую команду: ioreg -p IOUSB -n "Pololu USB AVR Programmer" | grep bcdDevice
  2. Это должно вывести строку с номером.Если число равно 1, значит, у вас версия прошивки 1.00. Если число находится между 257 и 511, то у вас версия прошивки 1. x , где x равно числу минус 256. Например, если число 263, то у вас версия прошивки 1.07. Если число 264, то у вас версия прошивки 1.08.
Обновление прошивки

Чтобы обновить прошивку вашего программатора, выполните следующие действия:

  1. Если вы изменили какие-либо настройки программатора в утилите конфигурации или с помощью PgmCmd , запишите свои текущие настройки, поскольку в процессе обновления микропрограммы настройки будут сброшены.
  2. Загрузите нужную версию прошивки здесь:
  3. Переведите программатор в режим загрузчика. Если вы используете Windows и ваш программатор имеет стандартную прошивку, это можно сделать, нажав кнопку «Запустить загрузчик» в левом нижнем углу утилиты настройки.

    Если вы не можете использовать кнопку «Запустить загрузчик» по какой-либо причине (например, вы используете другую операционную систему, установили специальную модифицированную прошивку или ваша прошивка была повреждена при попытке обновления), то вам потребуется чтобы использовать прокладки загрузчика программатора, чтобы перевести его в режим загрузчика.Для этого сначала отключите все от вашего программатора. Замкните две контактные площадки загрузчика, выделенные ниже, прикоснувшись к ним проводом, отверткой или другим токопроводящим инструментом. Пока колодки закорочены, подключите программатор к USB. Это может занять несколько попыток. Вы можете перестать закорачивать пэды после того, как программатор подключен к USB.

Прокладки загрузчика Pololu USB AVR Programmer.

  1. Когда программатор перейдет в режим загрузчика, он появится на вашем компьютере как новое устройство под названием «Загрузчик Pololu pgm03a».
    • Windows 10, Windows 8, Windows 7, Vista, Linux и Mac OS X: Драйвер загрузчика будет установлен автоматически, и вы можете перейти к следующему шагу.
    • Windows XP: При отображении «Мастера установки нового оборудования» выполните шаги 4–6 в разделе 3.a, чтобы драйвер заработал.
  2. После того, как драйверы загрузчика установлены должным образом, зеленый светодиод должен мигать в двойном ритме, и должна быть запись для загрузчика в списке «Порты (COM и LPT)» диспетчера устройств вашего компьютера в Windows. .
  3. Используйте терминальную программу (такую ​​как [email protected] Terminal или screen ) для подключения к виртуальному последовательному порту загрузчика. В Windows вы можете определить имя порта загрузчика (например, COM5), заглянув в Диспетчер устройств. В Linux вы можете определить имя порта (например, /dev/ttyACM0 ), запустив dmesg . В Mac OS X вы можете определить имя порта (например, /dev/tty.usbmodem00022331 ), запустив ls /dev/tty.usb* . Вы можете использовать любую скорость передачи данных.
  4. Введите следующие строчные буквы в программе терминала, чтобы отправить их загрузчику: fwbootload . После отправки каждой буквы загрузчик должен вернуть версию этой буквы в верхнем регистре. После того, как вы закончите вводить эту последовательность, вы должны увидеть «FWBOOTLOAD» в качестве вывода загрузчика в вашей терминальной программе, а желтый светодиод программатора должен гореть.
  5. Теперь отправьте строчные буквы « s ». Загрузчик потратит несколько секунд на удаление текущей прошивки и настроек, а затем отобразит в верхнем регистре S .Не отключайте программатор от компьютера после этого момента, пока обновление не будет завершено.
  6. Теперь отправьте содержимое загруженного файла обновления прошивки в загрузчик. Файл обновления микропрограммы представляет собой обычный текстовый (ASCII) файл, поэтому вы можете открыть его в текстовом редакторе (например, в блокноте), скопировать целиком, а затем вставить в программу терминала. Терминал [email protected] имеет кнопку «Отправить файл», которую вы можете использовать.
  7. Во время отправки файла загрузчик будет отправлять обратно символы точки («….»). Этот процесс займет около 5 секунд. Когда обновление прошивки будет завершено, загрузчик должен отправить символ вертикальной черты («|») и включить красный светодиод.
  8. Теперь вы можете отключить программатор, снова подключить его к компьютеру и использовать новую прошивку.

Если у вас возникли проблемы во время или после обновления прошивки, возможно, вы случайно испортили прошивку на вашем программаторе. Решение этой проблемы — повторить процедуру обновления прошивки.Даже если ваш программатор вообще не опознается вашим компьютером и вы не видите от него никаких признаков жизни, вы можете вернуть его в режим загрузчика, следуя инструкциям шага 3.

Seite wurde nicht gefunden. — EnOcean

Seite wurde nicht gefunden. — EnOcean

Извините, мы не смогли найти то, что вы ищете.

www.enocean.com/en/

Leider konnte der Server die von Ihnen angegebene Seite nicht finden.

www.enocean.com/de/
Вечный

Мир сбора энергии – прочтите журнал для клиентов

Блог EnOcean

Узнайте больше от евангелистов беспроводных технологий сбора энергии

Информационный бюллетень EnOcean

Оставайтесь на связи с EnOcean и подпишитесь, чтобы получать последние новости

Мы используем файлы cookie, чтобы оптимизировать ваш опыт работы в Интернете.Пожалуйста, согласитесь на использование файлов cookie на нашем веб-сайте. Вы можете индивидуально определить, какие файлы cookie мы можем использовать во время вашего посещения, в настройках файлов cookie. Если вам еще не исполнилось 16 лет, и вы хотите дать согласие на дополнительные услуги, вы должны спросить разрешения у своих законных опекунов. Мы используем файлы cookie и другие технологии на нашем веб-сайте. Некоторые из них необходимы, в то время как другие помогают нам улучшить этот веб-сайт и ваш опыт. Персональные данные (например, IP-адреса) могут обрабатываться, например, для персонализированной рекламы и контента или измерения рекламы и контента.Более подробную информацию об использовании ваших данных вы можете найти в нашей политике конфиденциальности. Вы можете отменить или изменить свой выбор в любое время в настройках.

Этот веб-сайт использует файлы cookie

Этот веб-сайт использует файлы cookie

Если вам еще не исполнилось 16 лет, и вы хотите дать согласие на дополнительные услуги, вы должны спросить разрешения у своих законных опекунов.Мы используем файлы cookie и другие технологии на нашем веб-сайте. Некоторые из них необходимы, в то время как другие помогают нам улучшить этот веб-сайт и ваш опыт. Персональные данные (например, IP-адреса) могут обрабатываться, например, для персонализированной рекламы и контента или измерения рекламы и контента. Более подробную информацию об использовании ваших данных вы можете найти в нашей политике конфиденциальности. Вы можете отменить или изменить свой выбор в любое время в настройках. Мы используем файлы cookie, чтобы оптимизировать ваш опыт работы в Интернете. Пожалуйста, согласитесь на использование файлов cookie на нашем веб-сайте.Вы можете индивидуально определить, какие файлы cookie мы можем использовать во время вашего посещения, в настройках файлов cookie.

Этот веб-сайт использует файлы cookie
Имя Печенье Борлабс
Провайдер Eigentümer dieser Сайт, выходные данные
Назначение Speichert die Einstellungen der Besucher, die in der Cookie Box от Borlabs Cookie ausgewählt wurden.
Имя файла cookie borlabs-cookie
Время выполнения файлов cookie 1 Яр
.

0 comments on “Прошивка флеш памяти программатором: Страница не найдена — ZetSila

Добавить комментарий

Ваш адрес email не будет опубликован.