Микропрограммное обеспечение предварительно установлено в устройства флэш-памяти перед изготовлением печатной платы, поддерживая высокую пропускную способность. Тем не менее есть преимущества в программировании флэш-памяти уже после ее выпуска, то есть до того, как она была припаяна к плате. Программатор 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. Энергонезависимое означает, что устройство сохраняет все данные, в том числе, когда не включено. Флэш-память работает, перенося группу носителей заряда на диэлектрик. Это называется программированием и обычно выполняется с более высоким напряжением.
Программатор CH341A прошивка SPI
Процесс не безобидный, он на самом деле повреждает материал, и после 100 тыс. циклов устройство выходит из строя. Чтобы снять носители заряда с диэлектрика, при одинаковом высоком напряжении на обратном потенциале снимают носители с затвора. Это называется стиранием.
Запрограммированный флэш-бит имеет значение 0, а стертый бит имеет значение 1, стертый флэш-байт равен 0xFF в шестнадцатеричном формате. В настоящее время флэш-память может хранить несколько битов на ячейке, с использованием уровней напряжения. С учетом роста требований к объему памяти это становится все более сложным выполнить конструкционно.
Телевизор SUPRA STV-LC19T860WL Не включается — прошивка SPI Flash
Преимущество 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 благодаря удобному интерфейсу и мощным функциями.
Источник: fb.ru
Понемногу обо всём
Превращать Ардуину в программатор будем с помощью специально написанного скетча для плат LGT LarduinoISP.
Конечно же, предварительно должно быть установлено ядро для работы с этими МК. Читаем, устанавливаем: https://github.com/dbuezas/lgt8fx
Итак, начнем
Источник: asilichenko.blogspot.com
ПРОШИВКА И ПЕРЕПРОШИВКА BIOS
Любая современная цифровая техника, как компьютерная, так и бытовая, работает по специально написанному алгоритму действий. Этот алгоритм, в виде программного кода, записан в специальной программе, иначе называемой прошивкой устройства. Иногда, например в случае, когда техника была включена без сетевого фильтра в грозу, эта прошивка слетает.
Программный код, который был записан во Flash память микросхемы, начинает работать со сбоями, и устройство больше не может нормально функционировать. Как быть в таком случае? Читайте инструкцию сайта Электрические схемы и узнаете.
А здесь нам необходимо найти прошивку, иначе говоря ту самую программу, в нужном для прошивания формате, очистить память микросхемы, и затем заново перезаписать новую программу. Для того, чтобы залить прошивку в память микросхемы, нам необходим программатор. Иногда, если устройство было выпущено с “сырой” прошивкой, перепрошивка на более свежую, позволит добавить новые функции устройству, или избавиться от неприятых багов, которые отравляли вам жизнь, при использовании этой техники. Приведу простой пример: на материнских платах, производитель предусмотрел возможность обновления прошивки, просто считав ее с флешки, зайдя в BIOS и выбрав нужную опцию.
Обновление BIOS с флешки
Тогда у начинающих возникнет резонный вопрос, а зачем вообще нужны какие-то программаторы еще, если все решается так легко и просто в биосе? Дело в том, что это возможно только тогда, когда мы можем зайти в BIOS, и выбрать нужную опцию, или иными словами, тогда, когда материнская плата у нас хоть как то функционирует. Материнская плата в случае проблем с BIOS, может якобы стартовать, при нажатии кнопки включения на ПК, но изображения нет, звукового короткого сигнала, говорящего нам, что самотестирование материнской платы прошло успешно, также нет. Как быть здесь? Прошивка слетела у нас в этом случае, или что то другое?
Здесь сначала нужно сделать отступление, и рассказать о том, что такое POST карта, и для чего она здесь нужна. Это специальная плата, для PCI разъема, которая втыкается в него, и имеет индикацию POST кодов, или иначе говоря, индикацию в виде буквенно цифрового кода, происходящих программных процессов, включения в работу материнской платы, на двух семисегментных индикаторах. Эти POST коды разумеется имеют каждый свою расшифровку, по которым мы определяем, в случае поломки, на каком из этапов, у нас произошел сбой. И вот если мы видим, что на каком-то из POST кодов, у нас зависает тестирование, мы можем с определенной долей вероятности предположить, что виновен в неисправности слетевший BIOS. Конечно-же, перед прошиванием, нужно сперва выполнить все стандартные процедуры, на случай плохого контакта в разъемах памяти или процессора.
Вставить процессор в сокет, поднять и опустить 20 раз рычаг, при этом окислы, если они были на контактах разъема, сотрутся. Пройтись мягким белым ластиком, по контактам оперативной памяти, с обоих сторон, с этой же целью. Взять зубную щетку, и провести 5 раз, по каждому из слотов памяти, по разъему, вдоль него. Как показывает практика, иногда этого бывает достаточно, для того чтобы компьютер заработал.
Кстати если вы меняли батарейку на материнской плате, не забудьте очистить CMOS, замкнув на 10 секунд, 2 контакта Clear CMOS, на материнской плате джампером.
Как сбросить CMOS
Если материнская плата была модели Asrock, типа широко распространенных серий N68 или G31, и подобных, то нужно будет вынуть модули ОЗУ, и вставить из заново, после замены батарейки, почитайте про теневое ОЗУ, кому интересно, для чего это делается.
Если всё-таки надо перепрошивать
Итак вернемся к нашим баранам). Вы проделали все эти процедуры, но материнская плата как и прежде, не хочет работать должным образом, и вы принимаете решение прошить BIOS. Здесь нужно знать о том, какие типы микросхем и в каких корпусах вам могут встретиться на материнских платах. Типы микросхем памяти, которые встречались на устаревших материнских платах, времен Pentium 4, в корпусе PLCC32, мы особо рассматривать не будем. Для них нужен программатор другого типа, намного более сложный в изготовлении, и дорогой по стоимости, если покупать готовый.
Программатор TL 866A
Если кому-то очень нужно будет прошить такую микросхему памяти, вам потребуется программатор TL 866A, который можно заказать с Али экспресс, это только сам программатор, без адаптеров и переходников, и обойдется он по цене порядка 2.5 тысяч рублей. Полный комплект, естественно будет дороже. Но как оказалось, есть еще более дешевое решение этой проблемы, хотя и менее универсальное. Это программатор NANO USB Programmer, с E-bay, на Али экспресс, я его почему то не нашел.
Программатор NANO USB
Решение о его приобретении, в связи с меньшей универсальностью, по сравнению с TL866A, наверное весьма спорное, но и стоит он, примерно в два раза дешевле, около тысячи рублей. Нас же сейчас интересуют микросхемы памяти с SPI интерфейсом, для которых требуются намного более дешевые и простые программаторы.
Ddip-8 Биос микросхема
Дело в том, что начиная примерно с 2007 года, на материнских платах платформ AMD и Intel, начался постепенных переход от микросхем BIOS, в корпусе PLCC32, на микросхемы с SPI интерфейсом, имеющие 8 ног, и выпускаемые в корпусах Dip-8 и So-8.
Последние, как вы уже думаю поняли, выпущены в SMD варианте. Так вот, эти самые микросхемы, на современных материнских платах, очень часто выпускаются в Dip-8 корпусе, и устанавливаются в специальную панельку.
Программатор CH 341A
В таком случае нам остается только извлечь микросхему из панельки, установить ее в ZIF адаптер программатора, прошить, а затем установить обратно в материнскую плату. Кстати перед тем, как стирать микросхему, и прошивать новой прошивкой, обязательно сохраните текущую прошивку на жестком диске. Это позволит вам без проблем залить ее обратно, в случае, если новая прошивка будет работать не стабильно, или вообще окажется не подходящей к этому устройству.
Но где же взять прошивку для программатора, ведь она должна быть в формате *.bin или *.hex, именно такие форматы прошивок понимает программатор, а на официальном сайте производителя для обновления прошивки через флешку, можно скачать только какой-то вообще левый непонятный формат. Как показала практика, это чаще всего тот же самый двоичный формат *.bin, только с другим расширением, и чтобы его прошить нам нужно просто изменить расширение файла на *.bin. Как же все оказывается просто)…
Выбираем формат прошивки
Но не тут то было, рано обрадовались)… Например на мониторы и другую технику производители прошивки в открытый доступ не выкладывают, и доступ к ним имеется только в сервисных центрах, либо можно попросить кого то снять дамп с рабочего монитора. Но к счастью мир не без добрых людей, и прошивки эти, если очень хорошо поискать, можно все же найти на специализированных сайтах по ремонту техники.
Как же быть если микросхема BIOS у нас в корпусе SO-8? Обязательно ли ее выпаивать перед прошиванием? Нет, по крайней мере не всегда… Китайская промышленность выпускает специальный адаптер, клипсу, прицепившись которой сверху к контактам микросхемы, мы можем прошить ее без выпаивания. Но оговорюсь, этот вариант не всегда срабатывает.
В таком случае потребуется выпаять микросхему памяти, и прошить ее, припаяв к площадке адаптера, либо воспользоваться клипсой, зажав в нее микросхему, либо вот такими адаптерами, имеющими разную ширину, устанавливаемой микросхемы, 150 и 200 mil.
Адаптеры 200 и 150 Мил
Как можно выпаять микросхему SO-8, без помощи паяльного фена? Можно воспользоваться сплавами Розе или Вуда, на крайний случай, можно взять более низкотемпературный, чем припой для безсвинцовой пайки, ПОС-61, нанести его на контакты микросхемы, взять медицинскую иглу из нержавейки, и поддев ее под один из контактов микросхемы, прогревая жалом паяльника, приподнять его.
Затем эту процедуру нужно проделать поочередно со всеми контактами. После чего нужно удалить старый припой с контактных площадок на плате, нанеся флюс, с помощью демонтажной оплетки. Свой программатор и клипсу я давно отбил, перепрошив BIOS всего лишь на одной материнской плате. И теперь он мне часто помогает, когда возникают сомнения, в чем проблема, в BIOS или нет. Если же по каким то причинам нет возможности приобрести SPI программатор, можно самому спаять простую схемку, для прошивания микросхем в корпусе Dip-8, скорее всего для разовых работ, вам ее будет достаточно.
Схема электрическая
Схема самодельного программатора SPI Flash 25 серии
Стабилизатор на 3.3 вольта, в данном случае, если будет крайняя необходимость, можно заменить на литиевую батарейку таблетку, 2016-2032, она, свежая разумеется, выдает порядка 3 вольт, и такого питания будет достаточно, для разовых прошивок.