- Программатор Spi Flash своими руками
- Выбор: SF & SD
- Флэш-память SPI
- Утилита для идентификации
- DIY: универсальные программы создания
- Микроконтроллер PIC18F2550
- Программирование через OpenProg
- Дизайн печатной платы
- Завершение процесса создания
- Последовательная SPI AT45DB161D
- USB- накопитель EEPROM
- Устранение сбоев работы микроконтроллеров
- Своими силами Xbox 360 Usb Spi Flasher
- #1 Injoy-tula
- #2 Injoy-tula
- #3 XEO
- #4 Injoy-tula
- #5 DARTH047
- #6 Injoy-tula
- #7 dudeinthemoon
- #8 Injoy-tula
- #9 Kullx
- #10 vampircool
- #11 RichY
- #12 Injoy-tula
Программатор Spi Flash своими руками
Микропрограммное обеспечение предварительно установлено в устройства флэш-памяти перед изготовлением печатной платы, поддерживая высокую пропускную способность. Тем не менее есть преимущества в программировании флэш-памяти уже после ее выпуска, то есть до того, как она была припаяна к плате. Программатор Spi Flash (SF) с дискретной флэш-памятью имеет существенные преимущества перед обычными SD. Его цена обычно не превышает 1/10 стоимости флешки, использует гораздо меньший форм-фактор и требует небольшого количества специального оборудования.
Выбор: SF & SD
Существует множество причин для выбора дискретной флэш-микросхемы вместо подсистемы SD или, наоборот, поэтому пользователю необходимо выбирать компромиссы перед приобретением устройства. Приведенный ниже список содержит несколько аргументов, которые нужно знать, перед выбором DIP-чипа или полноценного SD-решения:
- Аппаратная сложность, преимущество имеет SF. DIP-пакет с дискретной флеш-микросхемой намного проще использовать, чем SD.
- Сложность программного обеспечения, преимущество имеет SF. Подсистема флэш-памяти SD обычно опирается на библиотеки SD Fat16/32. Хотя устройства являются интерфейсом SPI, имеет смысл использовать FAT, поскольку любой ПК/MAC может считывать карту. Эти библиотеки большие и могут занимать драгоценное пространство EEPROM на малых встроенных контроллерах.
- Емкость и портативность, преимущество имеет SD. Можно использовать SD-карту большей емкости в существующем дизайне без изменений. Дискретная SPI имеет более низкие пределы плотности.
- Стоимость, преимущество имеет SF.
- Мощность, преимущество имеет SF. SD-карты обычно имеют более высокую мощность утечки из-за более высокой плотности и высокой динамической мощности из-за скорости доступа.
- Скорость, преимущество имеет SD. SD-флэш-память поставляется во многих различных SKU, основанных на скорости в основном из-за требований цифровой фотографии и использования необработанных форматов изображений.
Флэш-память SPI
Флэш-память SPI- это тип энергонезависимой памяти, основанный на технологии MOSFET. Энергонезависимое означает, что устройство сохраняет все данные, в том числе, когда не включено. Флэш-память работает, перенося группу носителей заряда на диэлектрик. Это называется программированием и обычно выполняется с более высоким напряжением. Процесс не безобидный, он на самом деле повреждает материал, и после 100 тыс. циклов устройство выходит из строя. Чтобы снять носители заряда с диэлектрика, при одинаковом высоком напряжении на обратном потенциале снимают носители с затвора. Это называется стиранием.
Запрограммированный флэш-бит имеет значение 0, а стертый бит имеет значение 1, стертый флэш-байт равен 0xFF в шестнадцатеричном формате. В настоящее время флэш-память может хранить несколько битов на ячейке, с использованием уровней напряжения. С учетом роста требований к объему памяти это становится все более сложным выполнить конструкционно.
Преимущество Spi Flash программаторов USB заключается в простоте программного обеспечения, код в основном сдвигает данные выводов DI и DO, соответственно по переднему фронту тактовой частоты. Часы контролируются хостом, для них не требуется причудливая схема синхронизации: фазы могут быть настолько асимметричными, насколько нужно, при условии соблюдения минимальных требований к ширине цикла устройства.
Утилита для идентификации
Flashrom — это утилита для идентификации, чтения, записи, проверки и удаления флеш-чипов. Она предназначена для прошивки образов BIOS/EFI/coreboot/firmware/optionROM на материнских платах, картах контроллера сети/графики/хранения и на различных других устройствах программирования. Функциональные возможности:
- Поддерживает более 476 чипов флэш-памяти, 291 наборов микросхем, 500 материнских плат, 79 устройств PCI, 17 устройств USB и различные программаторы Spi Flash на основе параллельных/последовательных портов.
- Поддерживает параллельные интерфейсы, интерфейсы флэш-памяти LPC, FWH и SPI и различные пакеты микросхем (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40, TSOP48, BGA и другие).
- Физический доступ не требуется, root-доступ достаточен или вообще не требуется для некоторых программаторов.
- Не требуется загрузочная дискета, CD-ROM или другой носитель.
- Клавиатура и мониторы не требуются, просто перепрошиваются удаленно через SSH.
- Не требуется мгновенная перезагрузка.
- Переписывают чип в работающей системе и проверяют его, новая прошивка будет работать при следующей загрузке.
- Доступна частичная поддержка Windows.
DIY: универсальные программы создания
Это лучший для микроконтроллеров PIC и AVR программатор Spi Flash, своими руками, может быть, его создать не получится, но устройство не дорогое, стоит меньше 10 $ и выполняется из легко доступных компонентов.
- Бесплатное ПО с открытым исходным кодом.
- Нет необходимости устанавливать дополнительные драйверы, использует драйвер HID (Human Interface Device), который обычно применяется для клавиатуры и мыши.
- Поддерживает много устройств PIC и AVR.
- Поддерживает платформы Windows и Linux.
- Состоит из микроконтроллера PIC18F2550 — мозга программатора Spi Flash.
- Разъем USB-B подключается к компьютеру.
- Имеется два светодиодных индикаторов, один для индикации подключения программатора, другой показывает статус программирования.
Микроконтроллер PIC18F2550
Основные три последовательных заголовка (J1, J2 и J3) используются для связи с ведомым устройством микроконтроллера. Использование выводов различно в разных микроконтроллерах. Переключатель сброса добавлен к блоку контроллера для установки сброса программатора. PIC18F2550 мигает с помощью шестнадцатеричного кода прошивки, можно использовать другие последовательные или параллельные программаторы Spi Flash PIC.
Он проверяет связь между микроконтроллером и ПК. Требуется провести тестирование HID-обнаружения (Human Interface Device), которое устранит много ошибок, таких как проблемы с микроконтроллером, кристаллами и USB. Перед началом использования программы убеждаются, что мигает светодиод LED, который затем замедляет процесс мигания. Если программатор не обнаружен, проверяют перекрестные соединения и инструкции. Если он обнаружен, переходят к следующему шагу.
Программирование через OpenProg
Устанавливают программу OpenProg на ПК, запускают и проверяют подключенное устройство. Последовательность прошивки программатора Spi Flash:
- Подключают USB-разъем к ПК.
- Открывают OpenProg и убеждаются, что программатор обнаружен.
- Нажимают «Параметры» -> «Проверка оборудования».
- Выполняют аппаратный тест. Он проверяет все контакты программирования, и пользователь может легко отлаживать устройство при обнаружении ошибок.
- Аппаратный тест показывает напряжение на VODU, VPPU, CLK, DATA, PGM в разные моменты времени, что важно учитывать при выполнении своими руками программатора Spi Flash на SMD.
- Измеряют напряжение между выводами VODU, VPPU, CLK, DATA, PGM и проверяют его значениями на экране.
- VPP может иметь разницу в 1 В из-за преобразования переменного тока в постоянный.
- Если напряжение этих выводов части контроллера и то, что отображается на экране, схожи, программатор работает отлично.
- Если напряжение отличается, проверяют цепь соответствующих контактов.
Дизайн печатной платы
Эта печатная плата разработана в Eagle 7.2. Размер пластины 7,5 х 7 см, она выполнена на автоматическом травильном станке. Печатная плата также может быть изготовлена с помощью химического травления в домашних условиях.
Компоненты JA, JB, JC являются перемычками. По схеме тщательно проверяют это и сначала, во время сборки компонентов, устанавливают перемычки. Для обеспечения безопасности PIC18F2550 во время пайки используют 28-контактное основание IC.
Плата расширения связывает программатор с микроконтроллером. Различные серии микроконтроллеров имеют разные контакты и конфигурацию для программирования. Это дает пользователям преимущество в простоте программирования микроконтроллера.
Плата расширения может быть легко сделана с использованием перфорированной доски или в специальных заготовок для плат, приобретенных в торговой сети. Для серий микроконтроллеров используется разные платы расширений. Для LVICP от 5 В до 3,3 В необходим регулятор напряжения, такой как LM1117 или аналогичный ему.
Устройство 3.3 В должно быть запрограммировано только с использованием платы расширения 3.3 В, в противном случае может произойти необратимое повреждение. Некоторые из плат имеют вариант 5 В. Если нужно запрограммировать на 5 В, можно выбрать опцию «Не требовать платы низкого напряжения». Также не рекомендуется размещать 24F-33F в гнездо 30F, которое работает при 5 В.
Завершение процесса создания
После изготовления части контроллера и платы расширения, можно сразу перейти к программированию устройства:
- Находят устройство и серию устройства для программирования.
- Выбирают подходящую плату расширения устройства.
- Подключают устройство к плате расширения.
- Присоединяют плату расширения к блоку контроллера.
- Подключают соединительный кабель USB B к программатору и к ПК.
- Открывают OpenProg.exe и убеждаются, что программатор обнаружен.
- Открывают устройства и выбирают нужное для программирования.
- Нажимают зеленую стрелку в верхней части, чтобы прочитать устройство.
- Для записи/прошивки нажимают левую кнопку сверху, чтобы выбрать код «.hex», и нажимают «Ok».
- Нажимают красную кнопку со стрелкой рядом с зеленой кнопкой со стрелкой, чтобы запрограммировать устройство.
- Убеждаются, что LED мигает во время программирования, показывая статус процесса.
- Проверяют результат и убеждаются, что мигание прошло успешно.
Последовательная SPI AT45DB161D
Простой Spi Flash программатор SPI (AT45DB161D) представляет собой 16-мегабитную (2 МБайт) 2,5 В или 2,7 В флэш-память с последовательным интерфейсом, идеально подходящего для широкого спектра приложений, предназначенных для хранения программного кода и данных.
Всего 2097152 байта (0x1FFFFF) организованы в 4096 страниц с 512 байтами на страницу. Несмотря на то, что чип предлагает различные варианты стирания, библиотека программного обеспечения поддерживает стирание блоков, причем один блок содержит 4 Кбайт.
Чтобы перезаписать существующие данные, сначала необходимо удалить соответствующий блок. Чтение и запись данных осуществляется довольно простым способом, в основном путем предоставления адреса чтения/записи (от 0 до 0x1FFFFF) и информации о длине данных. Используя существующие базовые функции, можно расширить код для поддержки обширной системы доступа к файлам.
USB- накопитель EEPROM
Программатор Spi Flash EEPROM серии 25 с программным обеспечением и поддержкой драйверов и 25-SPI флэш-память 8-контактный/16-контактный имеет следующие функциональные возможности:
- Автоматическая идентификация модели чипа 25 серия.
- Поддержка USB в TTL.
- Автоматическое определение чипа серии 25.
- Поддержка загрузки STC серии.
- Процедура однокристального микроконтроллера STC программатора Spi Flash ch341a поддерживает полный спектр загрузки программ для разнообразного ПО: резервного копирования, стирания, программирования, калибровки и других перемещений.
- Обеспечивает выход питания 5 В — 3,3 В.
- Размер: 70 мм х 27 мм
- CH341SER.EXE — самостоятельная установка архива с USB на последовательный драйвер.
Устранение сбоев работы микроконтроллеров
Когда пользователь начинает работать с микроконтроллерами, он, вероятно, столкнется с проблемами при программировании, на решение которых потребуются часы или дни, а иногда они просто неразрешимы. Опытные программисты поделились своими наработками устранения различных нарушений, вот некоторые из них:
- При любом сбое вначале проверяют блок питания. Иногда случается так, что источник питания не подходит к программатору и требуется внешний источник питания.
- Выбирают правильный последовательный порт в программном обеспечении.
- Прежде чем использовать программатор, необходимо установить драйверы, необходимые для его функционирования. Когда подключается программатор в первый раз, он автоматически устанавливает их, если есть соединение с интернетом, иногда потребуется указать расположение драйверов.
- Повышение напряжения. Многие микроконтроллеры требуют подтягивания в своей цепи, прежде чем могут быть запрограммированы, так микроконтроллер пикасе требует 10 кОм подтягивающего резистора на последовательном выводе, иначе показывает ошибку.
- Программное обеспечение для программирования не обнаруживает микроконтроллер — это опять-таки проблема с блоком питания, проверяют БП снова и подключают программатор к компьютеру.
После выполнения своими руками USB программатора Spi Flash пользователь получит SF, выполненную собственноручно для системного программирования. Она будет легко управляться компьютером через шину USB благодаря удобному интерфейсу и мощным функциями.
Источник
Своими силами Xbox 360 Usb Spi Flasher
#1 Injoy-tula
#2 Injoy-tula
#3 XEO
#4 Injoy-tula
#5 DARTH047
Борец с беспределом лицензионных пластмассок!
#6 Injoy-tula
Вообще дрова под флешер лежат в архивах с нандпро. Это файлы хекс. Ставится он через специальную прогу для прошивки пиков. Щас так не вспомню, поищи про нее в темах.
если не трудно поищи! буду очень рад если найдеш.
И еще народ кто сам сделал помоги советами =)
#7 dudeinthemoon
#8 Injoy-tula
че тебе советовать то? проветрить мозги? прочитать фак? постирать носки?
опиши проблему по-человечески, может и поможем.
вот и трабла! что во всех нанд(a-b-d) все как на фото.
#9 Kullx
DARTH047, вообще-то хекс, идущий с нандпро, написан не для пиков.
Injoy-tula, какой вопрос, такой и ответ:
у тебя проблема в том, что у тебя не работает собранный флешер.
Причин можно сотню придумать: отсутсвие питания усб порта, плохая пайка, забыл припаять что-то, непрошил пик, неправильно прошил пик, спалил что-то при пайке, не поставил дрова, поставил несовместимые дрова и т.п.
Изменено Kullx: 05.03.2010 — 15:39
#10 vampircool
кандидат в мастера х-б0кса
#11 RichY
QIWI (7) 9163967000
#12 Injoy-tula
Все собрано! флешер прошит, драйвера стоят, фот фото!
Все делал
Иногда возникает необходимость прямой работы с флеш памятью консоли XBOX 360.
Простой вариант с использованием LPT заставлял долго ждать, потому умные люди придумали как ускорить этот процесс.
И появился на свет SPI USB Flasher.
Данное устройство предназначено для соединения флеш памяти консоли и компьютера через порт USB.
Для этого у него имеются 7 контактов для подлкючения проводов от платы консоли и USB-разъем для соединения с компьютером.
Данное устройство можно как приобрести в готовом виде, так и собрать самостоятельно.
Для самостоятельной сборки вам понадобится:
макетная плата 50х100
(или возможность сделать нормальную печатную плату)
микроконтролер PIC 18F2455-I/SP либо PIC18F2550-I/SP
(так же возможно использование PIC18F4550 и других микроконтролеров этого семейства при соответсвующих изменениях в схеме)
DIP панель 28 контактов (SCS-28,SCL-28)
керамический резонатор 12 МГц
конденсатор 0.22 мкФ
конденсатор 0.1 мкФ
2 резистора 10 кОм
6 резисторов 100 Ом
штырьевой соединитель (PLS-40)
гнезда на кабель
(размеры уточняйте по выбранной схеме; BLS-7)
USB разъем на плату
подходящий кабель USB-USB
провода
(МГТФ 0.07, или другие, попавшиеся под руку)
Так же не забудьте, что микроконтролер необходимо запрограммировать.
Для этого вам потребуется доступ к PIC-программатору, однако при его отсутсвии его можно собрать самостоятельно.
Существует множество различных схем подходящего программатора, ознакомиться с их схемами вы можете тут или тут.
Схема данного устройства сложна для человека, не умеющего паять, но очень проста для знающих людей.
Если вы не понимаете, что требуется делать — обратитесь к людям из второй группы, они выполнял за вас всю необходимую работу за умеренную плату.
Самым простым вариантом программатора для PIC18F2455/PIC18F2550 является ART2003.
Для самостоятельной сборки программатора вам понадобятся:
разъем LPT 25 pin (DB-25M)
8 диодов 1N4148
конденсатор 47 мкФ
резистор 220 Ом
DIP панель 28 контактов (SCS-28,SCL-28)
провода
(МГТФ 0.07, или другие, попавшиеся под руку)
Схема пайки компонентов:
Для разового пользования вполне хватит навесного монтажа, но при желании возможно все сделать на века:
Для создания рабочего флешера вам потребуется готовое устройство, программатор и набор софта:
WinPic800
PDFSUSB, файлы прошивки и наборы драйвров
вставьте чип в программатор
подсоедините программатор к ПК (желательно к выключенному)
откройте WinPic800 и настройте программу аналогично скриншотам
Нажмите кнопку Detect Device, если все сделано верно программа определит ваш чип
если программа определила чип как 12f683 или не определила его — порверяйте верность пайки и подключения
попробуйте другие варианты настроек LPT порта в биосе, попробуйте установить флаги Use Vdd и Use Mclr в Hardware Settings
если чип определился верно, откройте в программе файл PicXBoot.hex из папки PICFLASH_v3b_plus2 и нажмите кнопку Program All
проверьте верность записанных данных кнопкой Verify All
если при заливке возникла ошибка — попробуйте установить флаг WRTB на закладке Setting
если все записано верно, отключите программатор от ПК и переставте микроконтролер в приготовленный флешер
установите перемычки между 17 контактом и GND
подсоедините устройство к ПК, для обнаруженного устройства установите драйвера из папки Driver for PDFSUSB
запустите PDFSUSB.exe из папки Programmer, если все установлено правильно — в списке устройств определится микроконтролер
откройте по кнопке Load HEX File файл PICFLASH.hex из папки PICFLASH_v3b_plus2, нажмите кнопку Program Device
отключите устройство от компьютера, уберите перемычку, если все было сделано верно — устройство готово
для использования флешера подключите его к ПК и установите драйвера устройства из папки Driver For The Flasher
Все сделал по факу а в итоге получил балду =(
Источник