Spi flash что это

Микропрограммное обеспечение предварительно установлено в устройства флэш-памяти перед изготовлением печатной платы, поддерживая высокую пропускную способность. Тем не менее есть преимущества в программировании флэш-памяти уже после ее выпуска, то есть до того, как она была припаяна к плате. Программатор Spi Flash (SF) с дискретной флэш-памятью имеет существенные преимущества перед обычными SD. Его цена обычно не превышает 1/10 стоимости флешки, использует гораздо меньший форм-фактор и требует небольшого количества специального оборудования.

Выбор: SF & SD

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

  1. Аппаратная сложность, преимущество имеет SF. DIP-пакет с дискретной флеш-микросхемой намного проще использовать, чем SD.
  2. Сложность программного обеспечения, преимущество имеет SF. Подсистема флэш-памяти SD обычно опирается на библиотеки SD Fat16/32. Хотя устройства являются интерфейсом SPI, имеет смысл использовать FAT, поскольку любой ПК/MAC может считывать карту. Эти библиотеки большие и могут занимать драгоценное пространство EEPROM на малых встроенных контроллерах.
  3. Емкость и портативность, преимущество имеет SD. Можно использовать SD-карту большей емкости в существующем дизайне без изменений. Дискретная SPI имеет более низкие пределы плотности.
  4. Стоимость, преимущество имеет SF.
  5. Мощность, преимущество имеет SF. SD-карты обычно имеют более высокую мощность утечки из-за более высокой плотности и высокой динамической мощности из-за скорости доступа.
  6. Скорость, преимущество имеет SD. SD-флэш-память поставляется во многих различных SKU, основанных на скорости в основном из-за требований цифровой фотографии и использования необработанных форматов изображений.

Флэш-память SPI

Флэш-память SPI- это тип энергонезависимой памяти, основанный на технологии MOSFET. Энергонезависимое означает, что устройство сохраняет все данные, в том числе, когда не включено. Флэш-память работает, перенося группу носителей заряда на диэлектрик. Это называется программированием и обычно выполняется с более высоким напряжением. Процесс не безобидный, он на самом деле повреждает материал, и после 100 тыс. циклов устройство выходит из строя. Чтобы снять носители заряда с диэлектрика, при одинаковом высоком напряжении на обратном потенциале снимают носители с затвора. Это называется стиранием.

Запрограммированный флэш-бит имеет значение 0, а стертый бит имеет значение 1, стертый флэш-байт равен 0xFF в шестнадцатеричном формате. В настоящее время флэш-память может хранить несколько битов на ячейке, с использованием уровней напряжения. С учетом роста требований к объему памяти это становится все более сложным выполнить конструкционно.

Преимущество Spi Flash программаторов USB заключается в простоте программного обеспечения, код в основном сдвигает данные выводов DI и DO, соответственно по переднему фронту тактовой частоты. Часы контролируются хостом, для них не требуется причудливая схема синхронизации: фазы могут быть настолько асимметричными, насколько нужно, при условии соблюдения минимальных требований к ширине цикла устройства.

Утилита для идентификации

Flashrom — это утилита для идентификации, чтения, записи, проверки и удаления флеш-чипов. Она предназначена для прошивки образов BIOS/EFI/coreboot/firmware/optionROM на материнских платах, картах контроллера сети/графики/хранения и на различных других устройствах программирования. Функциональные возможности:

  1. Поддерживает более 476 чипов флэш-памяти, 291 наборов микросхем, 500 материнских плат, 79 устройств PCI, 17 устройств USB и различные программаторы Spi Flash на основе параллельных/последовательных портов.
  2. Поддерживает параллельные интерфейсы, интерфейсы флэш-памяти LPC, FWH и SPI и различные пакеты микросхем (DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40, TSOP48, BGA и другие).
  3. Физический доступ не требуется, root-доступ достаточен или вообще не требуется для некоторых программаторов.
  4. Не требуется загрузочная дискета, CD-ROM или другой носитель.
  5. Клавиатура и мониторы не требуются, просто перепрошиваются удаленно через SSH.
  6. Не требуется мгновенная перезагрузка.
  7. Переписывают чип в работающей системе и проверяют его, новая прошивка будет работать при следующей загрузке.
  8. Доступна частичная поддержка Windows.

DIY: универсальные программы создания

Это лучший для микроконтроллеров PIC и AVR программатор Spi Flash, своими руками, может быть, его создать не получится, но устройство не дорогое, стоит меньше 10 $ и выполняется из легко доступных компонентов.

  1. Бесплатное ПО с открытым исходным кодом.
  2. Нет необходимости устанавливать дополнительные драйверы, использует драйвер H >

Основные три последовательных заголовка (J1, J2 и J3) используются для связи с ведомым устройством микроконтроллера. Использование выводов различно в разных микроконтроллерах. Переключатель сброса добавлен к блоку контроллера для установки сброса программатора. PIC18F2550 мигает с помощью шестнадцатеричного кода прошивки, можно использовать другие последовательные или параллельные программаторы Spi Flash PIC.

Он проверяет связь между микроконтроллером и ПК. Требуется провести тестирование HID-обнаружения (Human Interface Device), которое устранит много ошибок, таких как проблемы с микроконтроллером, кристаллами и USB. Перед началом использования программы убеждаются, что мигает светодиод LED, который затем замедляет процесс мигания. Если программатор не обнаружен, проверяют перекрестные соединения и инструкции. Если он обнаружен, переходят к следующему шагу.

Программирование через OpenProg

Устанавливают программу OpenProg на ПК, запускают и проверяют подключенное устройство. Последовательность прошивки программатора Spi Flash:

  1. Подключают USB-разъем к ПК.
  2. Открывают OpenProg и убеждаются, что программатор обнаружен.
  3. Нажимают «Параметры» -> «Проверка оборудования».
  4. Выполняют аппаратный тест. Он проверяет все контакты программирования, и пользователь может легко отлаживать устройство при обнаружении ошибок.
  5. Аппаратный тест показывает напряжение на VODU, VPPU, CLK, DATA, PGM в разные моменты времени, что важно учитывать при выполнении своими руками программатора Spi Flash на SMD.
  6. Измеряют напряжение между выводами VODU, VPPU, CLK, DATA, PGM и проверяют его значениями на экране.
  7. VPP может иметь разницу в 1 В из-за преобразования переменного тока в постоянный.
  8. Если напряжение этих выводов части контроллера и то, что отображается на экране, схожи, программатор работает отлично.
  9. Если напряжение отличается, проверяют цепь соответствующих контактов.

Дизайн печатной платы

Эта печатная плата разработана в 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 В.

Читайте также:  Разрешить сайтам проверять наличие сохраненных способов оплаты

Завершение процесса создания

После изготовления части контроллера и платы расширения, можно сразу перейти к программированию устройства:

  1. Находят устройство и серию устройства для программирования.
  2. Выбирают подходящую плату расширения устройства.
  3. Подключают устройство к плате расширения.
  4. Присоединяют плату расширения к блоку контроллера.
  5. Подключают соединительный кабель USB B к программатору и к ПК.
  6. Открывают OpenProg.exe и убеждаются, что программатор обнаружен.
  7. Открывают устройства и выбирают нужное для программирования.
  8. Нажимают зеленую стрелку в верхней части, чтобы прочитать устройство.
  9. Для записи/прошивки нажимают левую кнопку сверху, чтобы выбрать код «.hex», и нажимают «Ok».
  10. Нажимают красную кнопку со стрелкой рядом с зеленой кнопкой со стрелкой, чтобы запрограммировать устройство.
  11. Убеждаются, что LED мигает во время программирования, показывая статус процесса.
  12. Проверяют результат и убеждаются, что мигание прошло успешно.

Последовательная 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-контактный имеет следующие функциональные возможности:

  1. Автоматическая идентификация модели чипа 25 серия.
  2. Поддержка USB в TTL.
  3. Автоматическое определение чипа серии 25.
  4. Поддержка загрузки STC серии.
  5. Процедура однокристального микроконтроллера STC программатора Spi Flash ch341a поддерживает полный спектр загрузки программ для разнообразного ПО: резервного копирования, стирания, программирования, калибровки и других перемещений.
  6. Обеспечивает выход питания 5 В — 3,3 В.
  7. Размер: 70 мм х 27 мм
  8. CH341SER.EXE — самостоятельная установка архива с USB на последовательный драйвер.

Устранение сбоев работы микроконтроллеров

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

  1. При любом сбое вначале проверяют блок питания. Иногда случается так, что источник питания не подходит к программатору и требуется внешний источник питания.
  2. Выбирают правильный последовательный порт в программном обеспечении.
  3. Прежде чем использовать программатор, необходимо установить драйверы, необходимые для его функционирования. Когда подключается программатор в первый раз, он автоматически устанавливает их, если есть соединение с интернетом, иногда потребуется указать расположение драйверов.
  4. Повышение напряжения. Многие микроконтроллеры требуют подтягивания в своей цепи, прежде чем могут быть запрограммированы, так микроконтроллер пикасе требует 10 кОм подтягивающего резистора на последовательном выводе, иначе показывает ошибку.
  5. Программное обеспечение для программирования не обнаруживает микроконтроллер — это опять-таки проблема с блоком питания, проверяют БП снова и подключают программатор к компьютеру.

После выполнения своими руками USB программатора Spi Flash пользователь получит SF, выполненную собственноручно для системного программирования. Она будет легко управляться компьютером через шину USB благодаря удобному интерфейсу и мощным функциями.

Перепрошиваем spi-flash память, если слетела прошивка

Одной из распространённых неисправностей современных ЖК-телевизоров является "слёт" прошивки.

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

Перечислю основные признаки "слёта" прошивки:

Телевизор не включается, хотя индикация дежурного режима имеется. Индикатор светится. Отмечу, что телевизор перестаёт включаться вовсе. Если он, раз от разу реагирует на команды и включается, то, скорее всего неисправность связана с блоком питания;

ЖК-телевизор не переходит в рабочий режим ни по команде с кнопочной панели, ни по команде с пульта. В некоторых случаях реакция на нажатие кнопки “Power” имеется – индикатор меняет цвет, но включение телевизора так и не происходит.

Что необходимо для прошивки микросхемы памяти?

Первое, это конечно, компьютер или ноутбук.

Второе, это программатор, который способен работать с данной серией микросхем памяти. Нам нужна 25 серия SPI-Flash.

Третье, это специальный софт – программа, которая нужна для работы с программатором.

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

Пятым пунктом идёт новая или заведомо исправная микросхема SPI-Flash с необходимым объёмом памяти.

USB-программатор микросхем SPI-Flash 25 серии.

В качестве программатора для прошивки микросхем памяти я уже давно использую USB-программатор Postal 3. Он же Postal AVR. Покупал набор для самостоятельной сборки. Вместе с рассыпухой, которой нет в наборе, программатор обошёлся мне в сумму около 500 руб. Покупал его специально для прошивки микросхем SPI-Flash от LCD-телевизоров.

Сейчас набор стоит 550 руб., но на плату запаяна вся SMD-мелочь. Ссылка на сайт, где можно заказать Postal 3 (USB). Там же найдёте инструкцию по установке и настройке софта.

Вот так программатор выглядит в сборе.

Разумеется, сейчас в продаже можно найти и другие программаторы (например, CH341A).

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

Если руки прямые и есть время, то можно собрать программатор самому.

Для работы с USB-программатором Postal 3 используется программа с аналогичным названием (Postal 2/3).

Актуальную информацию по программатору Postal 3 (рисунок печатки, прошивка для микроконтроллера, софт, вопросы/ответы и пр.) можно найти в профильных темах на форумах Монитора и Ремонта бытовой техники и электроники.

Также можете скачать подробный мануал по прошивке микросхем памяти разных серий от Фёдора (fsem) по ссылке (формат PDF).

Что такое прошивка и где её взять?

Прошивка представляет собой файл в формате .bin, который иногда ещё называют дампом памяти или просто дампом. Она является микропрограммой, которая управляет работой ЖК-телевизора.

Где взять рабочую прошивку?

Самый простой способ найти годную прошивку – это вбить в строку поиска Гугла фразу типа: "модель вашего аппарата прошивка (скачать)". Например, "mystery mtv-3223lt2 прошивка" или "mystery mtv-3223lt2 скачать прошивку". Но такой способ выручает не всегда.

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

Как найти то, что нужно в огромном океане информации – это отдельная тема. Но, чтобы ваш поиск был удачным, дам ещё несколько советов.

Найти нужную прошивку можно по номеру материнской платы (main board’а или майна). Он же номер шасси. Вбиваем в поиск его и слово прошивка. Иногда достаточно просто указать номер шасси и изучить первую страницу выдачи поисковика.

Номер шасси обычно указывается на самой печатной плате. Далее на фото показана основная плата телевизора Rolsen RL-28D1307. Как видим, на ней указан номер шасси – TP.VST59S.P89.

Читайте также:  Как опустить мост на острове основателей

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

Это перечень с маркировкой основных микросхем или блоков: процессора (он же скалер), flash-памяти, ЖК-панели (LCD panel), платы T-CON, модуля тюнера и пр. По этому списку можно точно определить, что прошивка подходит именно под ваш аппарат. Это бывает необходимо, когда одна и та же модель телевизора имеет разные версии, в которых могут быть установлены другие компоненты и блоки.

Особое внимание нужно уделять номеру ЖК-панели (LCD panel). Обычно она указывается на её корпусе. Если в списке всё совпадает, но номер ЖК-панели другой, то, возможно, с данной прошивкой ваш телевизор будет работать некорректно.

В довольно редких случаях найти прошивку на нужный аппарат не удаётся. Например, мне не удалось найти прошивку для ЖК-телевизора Hyundai H-LED19V15. Но, когда я стал искать её по номеру шасси (main board’а), то обнаружил, что точно такой же майн установлен в телевизоре Liberton LED 1910 ABHDR. Взял прошивку от него.

Как оказалось, эти две модели телевизоров полные клоны. Разница лишь в бренде. Было забавно, когда при включении Hyundai H-LED19V15 на его экране появлялась заставка с надписью Liberton.

Подбор spi-flash памяти для замены.

Флэш-память (SPI-Flash память) применяется в современных ЖК-телевизорах, автомобильных MP3-ресиверах, видеорегистраторах всех мастей, материнских платах персональных компьютеров, телевизионных приставках и даже в говорящих игрушках и фоторамках.

Как правило, в них используются микросхемы SPI-Flash памяти 25 серии (MX25L1633E, MX25L1605A, MX25Q32B-104HIP, W25Q32FVSSIG, G25Q16-15G, GD25Q32, HG25Q32BVSIG и т.п.). Питание у данной серии микросхем 3-ёх вольтовое (2,7. 3,6V), в отличие от 24 серии у которой номинальное напряжение питания составляет 5 вольт, да и тип памяти другой.

Зачастую на корпусе микросхемы указывается неполная маркировка что-то вроде 25Q64BSIG, но обязательно присутствует надпись 25Qxx, 25Lxx или что в этом духе. Вместо xx – кодовая маркировка объёма памяти микросхемы.

Микросхемы имеют корпус SOIC-8 под планарный монтаж.

Также могут применяться и другие типы корпусов, например, SOIC-16 (300 mil).

Не исключено, что на практике встретите не только микросхемы spi-flash с выводами (pin), но и в корпусах под BGA-монтаж (на шарах) или с выводами в виде контакта (pad), например, WSON-8 (DFN-8). К счастью, такие в ЖК-телевизорах встречаются довольно редко. Но это пока.

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

Родную микросхему SPI-Flash лучше не выкидывать или считать и сохранить с неё родную, заводскую прошивку. Это страховка на случай, если новая прошивка не подойдёт.

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

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

Наиболее часто в ЖК-телевизорах можно обнаружить микросхемы 25Q32 на 32 Мбит (4 Мбайт или 4194304 байт) и 25Q64 на 64 Мбит (8 Мбайт или 8388608 байт).

Почему 8388608 байт, а не 8000000? Кому не понятна эта путаница с килобайтами и мегабайтами, и, почему надо умножать не на 1000, а на 1024, советую погуглить "Кибибайт". Возможно, развеете для себя очередной миф, наподобие того, что ток течёт не от плюса "+" к минусу "-", а наоборот.

Итак, с теорией более-менее разобрались, теперь займёмся практикой.

Ещё раз напомню о важном. При ремонте ЖК-телевизора первым делом стоит убедиться в том, что причина его некорректной работы кроется именно в "слетевшей" прошивке. Аналогичным образом проявляются неисправности блока питания (дежурного или основного).

Перепрошивать память будем на примере ЖК-телевизора Mystery MTV-3223LT2. На фото он уже исправно работает.

Неисправность проявлялась следующим образом. Телевизор не включался, но при нажатии кнопки "Power" на пульте ДУ или кнопочной панели светодиодный индикатор менял свой цвет.

Демонтаж микросхемы памяти.

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

Откручиваем болты по периметру задней крышки. Не удивляйтесь тому, что LED-подсветка включена. Фото я делал уже на рабочем телевизоре.

Почти вся электронная начинка сосредоточена на одной печатной плате.

Здесь и блок питания, и инвертор DC/DC для питания LED-подсветки, и скалер (центральный процессор), а также блок тюнера и усилитель. Всё на одной плате.

Кстати, номер LCD панели у нашего телевизора Mystery MTV-3223LT2 (V4N09) указан на наклейке (V320BJ7-PE1).

После осмотра печатной платы и замера основных напряжений стало ясно, что "железо" исправно, а неисправность, скорее всего связана с программной частью аппарата.

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

Далее ищем на плате "флэшку". Обычно она располагается рядом со скалером (центральным процессором), на который установлен или чаще всего приклеен алюминиевый радиатор.

Теперь нам надо подобрать замену нашей микросхеме. Как видим, в данном телевизоре используется 25Q64BSIG с объёмом памяти 8 Мбайт (64 Мбит). Вместо неё я установлю новую микросхему W25Q64FVSIG фирмы Winbond.

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

Выпаиваем чип и убираем остатки припоя с дорожек медной оплёткой.

Отмываем остатки флюса изопропиловым спиртом. Место под установку прошитой памяти готово.

Теперь настало время прошить новую флэш-память.

Файл прошивки для ЖК-телевизора Mystery MTV-3223LT2 (V4N09) можно скачать по ссылке .

Так как микросхема выполнена в планарном корпусе, то для её прошивки желательно иметь переходник.

Первое время я просто напаивал провода на ножки микросхемы и вставлял их в панель программатора. Занятие нудное, да ещё есть риск отломить выводы микросхемы.

Устав это делать, купил адаптер-переходник с SOIC-8/SOP-8 на DIP-8 (200 — 208 mil). Вот ссылка, если кому надо такой. Как заказывать запчасти и детали на Али я уже рассказывал.

Кроме адаптеров есть ещё и специальные клипсы для прошивки памяти без выпаивания, но я таким пока не пользовался.

Обязательно обращаем внимание на то, под какой сокет идёт адаптер. Их существует несколько под разные типы корпусов (150 mil, 170 mil) или же под корпуса TSSOP-8. Для тех микрух, что стоят в ЖК-телевизорах надо на 200 209 mil.

Так как выводы у переходника типа PLS, то в цанговую панель на программаторе его не установишь. У меня на программатор запаяна обычная панелька DIP-8 с лепестковыми контактами. Поэтому в неё адаптер вставляется легко.

Читайте также:  Spin tires нет курсора

Устанавливаем память в переходник и не забываем установить джампер в положение 3,3V на плате программатора. Напомню, что микросхемы SPI-Flash питаются напряжением 2,7. 3,6V.

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

Память я прошиваю с помощью своего старенького ноутбука Acer Aspire 5510, который гоняет ещё под WinXP. Подключаем программатор к USB-порту компьютера.

Далее запускаем программу Postal 3. В её главном окне нужно задать, с каким типом памяти мы будем работать. Выбираем SPI Flash.

Также не помешает поставить "галку" в чекбоксе "Auto" в блоке "Writer". Особенностью микросхем SPI-Flash является то, что они требуют полного стирания перед записью. С опцией "Auto" программа перед записью автоматически очищает память микросхемы, а также проводит проверку-сравнение (Verify) после считывания или записи дампа.

В окне слева выводятся логи процесса. По ним можно понять, что делает программа. Чтобы очистить записи в окне логов можно нажать кнопку "Clear".

Основные настройки программы задаются на вкладке "Настройки", которую можно открыть кнопкой "Settings".

Перед прошивкой можно считать сведения о микросхеме, которая установлена в панель программатора. Для этого жмём кнопку "Version" (блок "Extra Control"). Процедура эта не обязательная.

Как видим из этого скриншота, взятом для примера, программа определила, что микросхема имеет маркировку GD25Q32, а её объём памяти составляет 4194304 байт (4M-byte).

На вкладке Settings необходимо сделать несколько настроек. Во-первых, необходимо указать, какой объём памяти имеет наша микросхема. Если проводили проверку кнопкой "Version", то объём смотрим в логах.

Я выбираю 8 M-byte (8 Мбайт) для W25Q64. Жмём "ОК". Также не помешает проверить снята ли галочка в чекбоксе EEPROM.

Затем нужно указать файл дампа, который мы будем записывать в память. Для этого в главном окне программы жмём кнопку "Open" напротив поля "Source File (for flashing)". В окне проводника выбираем файл прошивки и жмём "Открыть".

После этого в поле ввода "Source File (for flashing)" появится путь к файлу прошивки.

Далее жмём кнопку "Write" в правом блоке "Writer". Начнётся процесс стирания, а в окне прогресс-бара появится надпись Scan SPI Flash for Erase.

Если до этого считывали содержимое микросхемы ("Read"), то вместо Scan SPI Flash for Erase в прогресс-баре можем увидеть надпись Wait for Busy Clear.

Если микросхема памяти новая, то программа сообщит, что чип пустой и очистка не требуется (Chip is Empty, Erase Not Need. May be DATA-Line disconnected?).

Если же память микросхемы была ранее записана данными, то программа выполнит очистку и сообщит об этом (Chip is Empty. All Data = FF. May be DATA-Line disconnected?).

Нажимаем "ОК". Далее начнётся процесс записи (Write SPI Flash (Burst Mode)).

По завершению записи происходит верификация (Verify SPI Flash).

В большинстве случаев процесс записи проходит без ошибок в течение нескольких минут.

Если процесс прошёл успешно, то в окне логов последними строчками будут SPI Verify 8388608 OK. usb-device closed.

Если что-то не получается, то ответ на вопрос можно найти на форумах. Ссылки я уже указывал.

Запаиваем микросхему на плату, соблюдая цоколёвку!

Радуемся работе ЖК-телевизора.

Ну и напоследок дисклеймер. Ну как без него!?

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

Предыстория

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

  • материнская плата — ASRock B75 Pro 3
  • процессор — Intel Core i5-3570
  • блок питания — Corsair CX750M

После включения системник начал издавать пять противных писков, что вроде как соответствует неисправности процессора. Процессор, судя по Яндекс.Маркету, на данный момент стоит от 11000 руб. Покупать довольно накладно, а недорогой, но слабенький не хочется. В общем, немного испугался…

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

В первую очередь подключил другой старенький БП — комп не запускается.

Для дальнейших проверок принес домой автомобильный комп. Состав:

  • материнская плата — ASRock B75M-ITX
  • процессор — Intel Pentium G640T

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

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

Далее домашний процессор вставил в автомобильный комп — комп заработал. Следовательно, процессор живой, а проблема в материнке. Начал грешить на BIOS (Winbond 25Q64BVAIG).

Собственно, программирование

Хорошо, что микросхема BIOS не впаяна, а на обычной панельке DIP-8. Программатора у меня нет, заказывать в Китае и ждать месяц — не выход. Решил сделать программатор из ноутбука жены и имеющейся в наличии Arduino Nano. Покопался в интернете… Везде в основном прошивка заливается через COM-порт, я же решил прошивать с карты памяти (так вроде гораздо быстрее).

Набросал схему подключения:

Собрал все на макетной плате:

Тип и объем карты памяти, способ ее форматирования, имя файла должны соответствовать требованиям библиотеки SD Arduino.

Для начала набросал скетч, который считывает содержимое SPI Flash и записывает его в файл на карту памяти, попутно вычисляя контрольную сумму по методу Checksum-32, т.е. простым суммированием.

Запустил скетч, получившийся файл сравнил с оригинальным BIOS — получилось около 140000 несовпадающих байт.

Далее написал скетч, который читает файл с карты памяти и записывает его на SPI Flash, предварительно стирая чип.

Запустил, подождал, скетч вывел контрольную сумму, она совпала с контрольной суммой оригинального файла. Но это контрольная сумма файла на карте памяти, мне же нужна контрольная сумма содержимого SPI Flash.

Можно было использовать первый скетч, но написал третий, который только считает контрольную сумму содержимого SPI Flash по тому же алгоритму.

Контрольная сумма SPI Flash совпала с контрольной суммой оригинального файла.

После вставки прошитой микросхемы BIOS в домашний комп — он благополучно заработал.

В среде Arduino IDE необходимо установить библиотеку SPIFlash через управление библиотеками.

Контрольную сумму вычислял с помощью HEX-редактора HxD.

PS: Первоначально в качестве SD-модуля использовал вот такой:

Но с ним были частые глюки, не инициализировалась SD-карта. Помогало «горячее» переподключение самой SD-карты при подключенной к компу Arduino.

PPS: Вместо резисторов пробовал подключить двунаправленный конвертер сигналов:

Но с ним схема не заработала.

Оцените статью
Добавить комментарий