Программа для прошивки плат

Обновлено: 06.07.2024

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

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

1. Программатор

На рынке предлагается много вариантов — от самых дешевых ISP (In-System Programming) программаторов за несколько долларов, до мощных программаторов-отладчиков за пару сотен. Не имея большого опыта в этом деле, для начала я решил попробовать один из самых простых и дешевых — USBasp. Купил в свое время на eBay за $12, сейчас можно найти даже за $3-4. На самом деле это китайская версия программатора от Thomas Fischl. Что могу сказать про него? Только одно — он работает. К тому же поддерживает достаточно много AVR контроллеров серий ATmega и ATtiny. Под Linux не требует драйвера.


Для прошивки надо соединить выходы программатора VCC, GND, RESET, SCK, MOSI, MISO с соответствующими выходами микроконтроллера. Для простоты я собрал вспомогательную схему прямо на макетной плате:

image

Слева на плате — тот самый микроконтроллер, который мы собираемся прошивать.

2. Микроконтроллер

image

После этого, естественно, необходим перезапуск сервиса

Компилировать и прошивать без проблем можно прямо из командной строки (кто бы сомневался), но если проектов много, то удобнее поставить плагин AVR Eclipse и делать все прямо из среды Eclipse.

Под Windows придется поставить драйвер. В остальном проблем нет. Ради научного интереса попробовал связку AVR Studio + eXtreme Burner в Windows. Опять-таки, все работает на ура.

Начинаем программировать

Программировать AVR контроллеры можно как на ассемблере (AVR assembler), так и на Си. Тут, думаю, каждый должен сделать свой выбор сам в зависимости от конкретной задачи и своих предпочтений. Лично я в первую очередь начал ковырять ассемблер. При программировании на ассемблере архитектура устройства становится понятнее и появляется ощущение, что копаешься непосредственно во внутренностях контроллера. К тому же полагаю, что в особенно критических по размеру и производительности программах знание ассемблера может очень пригодиться. После ознакомления с AVR ассемблером я переполз на Си.

После знакомства с архитектурой и основными принципами, решил собрать что-то полезное и интересное. Тут мне помогла дочурка, она занимается шахматами и в один прекрасный вечер заявила, что хочет иметь часы-таймер для партий на время. БАЦ! Вот она — идея первого проекта! Можно было конечно заказать их на том же eBay, но захотелось сделать свои собственные часы, с блэк… эээ… с индикаторами и кнопочками. Сказано — сделано!

В качестве дисплея решено было использовать два 7-сегментных диодных индикатора. Для управления достаточно было 5 кнопок — “Игрок 1” , “Игрок 2” , “Сброс” , “Настройка” и “Пауза” . Ну и не забываем про звуковую индикацию окончания игры. Вроде все. На рисунке ниже представлена общая схема подключения микроконтроллера к индикаторам и кнопкам. Она понадобится нам при разборе исходного кода программы:


Разбор полета

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


Рассмотрим каждую функцию в отдельности.

Настройка портов ввода/вывода происходит очень просто — в регистр DDRx (где x — буква, обозначающая порт) записивается число, каждый бит которого означает, будет ли соответствующий пин устройством ввода (соответствует 0) либо вывода (соответствует 1). Таким образом, заслав в DDRB и DDRD число 0xFF, мы сделали B и D портами вывода. Соответственно, команда DDRC = 0b11100000; превращает первые 5 пинов порта C во входные пины, а оставшиеся — в выходные. Команда PORTC |= 0b00011111; включает внутренние подтягивающие резисторы на 5 входах контроллера. Согласно схеме, к этим входам подключены кнопки, которые при нажатии замкнут их на землю. Таким образом контроллер понимает, что кнопка нажата.

Далее следует настройка двух таймеров, Timer0 и Timer1. Первый мы используем для обновления индикаторов, а второй — для обратного отсчета времени, предварительно настроив его на срабатывание каждую секунду. Подробное описание всех констант и метода настройки таймера на определенноый интервал можно найти в документации к ATmega8.

Обработка прерываний

При срабатывании таймера управление передается соответствующему обработчику прерывания. В нашем случае это обработчик TIMER0_OVF_vect, который вызывает процедуру вывода времени на индикаторы, и TIMER1_COMPA_vect, который обрабатывает обратный отсчет.

Вывод на индикаторы

Функция display использует метод динамической индикации. Дело в том, что каждый отдельно взятый индикатор имеет 9 контактов (7 для управления сегментами, 1 для точки и 1 для питания). Для управления 4 цифрами понадобилось бы 36 контактов. Слишком расточительно. Поэтому вывод разрядов на индикатор с несколькими цифрами организован по следующему принципу:

Напряжение поочередно подается на каждый из общих контактов, что позволяет высветить на соответствующем индикаторе нужную цифру при помощи одних и тех же 8 управляющих контактов. При достаточно высокой частоте вывода это выглядит для глаза как статическая картинка. Именно поэтому все 8 питающих контактов обоих индикаторов на схеме подключены к 8 выходам порта D, а 16 управляющих сегментами контактов соединены попарно и подключены к 8 выходам порта B. Таким образом, функция display с задержкой в 0.25 мс попеременно выводит нужную цифру на каждый из индикаторов. Под конец отключаются все выходы, подающие напряжение на индикаторы (команда PORTD = 0; ). Если этого не сделать, то последняя выводимая цифра будет продолжать гореть до следующего вызова функции display, что приведет к ее более яркому свечению по сравнению с остальными.

Обработка нажатий

Эта функция по очереди опрашивает все 5 кнопок и обрабатывает нажатие, если таковое случилось. Нажатие регистрируется проверкой bit_is_clear(BUTTON_PIN, bit) , т.е. кнопка нажата в том случае, если соответствующий ей вход соединен с землей, что и произойдет, согласно схеме, при нажатии кнопки. Задержка длительностью DEBOUNCE_TIME и повторная проверка нужна во избежание множественных лишних срабатываний из-за дребезга контактов. Сохранение статуса нажатия в соответствующих битах переменной _pressed используется для исключения повторного срабатывания при длительном нажатии на кнопку.
Функции обработки нажатий достаточно тривиальны и полагаю, что в дополнительных комментариях не нуждаются.

Прототип был собран на макетной плате:


После тестирования прототипа пришло время все это добро разместить в корпусе, обеспечить питание и т.д.


Ниже показан окончательный вид устройства. Часы питаются от 9-вольтовой батарейки типа “Крона”. Потребление тока — 55 мА.


Заключение

Потратив $20-25 на оборудование и пару вечеров на начальное ознакомление с архитектурой микроконтроллера и основными принципами работы, можно начать делать интересные DIY проекты. Статья посвящается тем, кто, как и я в свое время, думает, что начать программировать микроконтроллеры — это сложно, долго или дорого. Поверьте, начать намного проще, чем может показаться. Если есть интерес и желание — пробуйте, не пожалете!

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

Если Вы решили, что Вы созрели для самостоятельной настройки калибровок и Вам нужна программа для изменения калибровочных данных прошивок, Вам предоставляется возможность ознакомиться и поработать с полнофункциональной, хоть и устаревшей версией Chip Tuning Pro 2 . 15 . Эта программа распространяется на условиях freeware, без гарантий и авторской технической поддержки. Исправлено (по сравнению с 2 . 11 / 12 ) несколько ошибок.

Версия 2 . 15 является логическим продолжением версии CTPro 2 . 11 , выпущенным freeware edition, т.е свободно распространяемой версией, «as is» (как есть, то есть без гарантий, тех.поддержки и обновлений), в связи с выходом версии 3 .хх, которая отличается от представленной более широкими возможностями. Основные отличия версий конечно же в количестве поддерживаемых блоков управления и в количестве доступных для редактирования калибровок. Версия 2 . 15 не поддерживает ЭБУ Январь 7 . 2 , Микас 7 . 6 , Bosch M 7 . 9 . 7 , (ограниченно поддерживается Bosch MP 7 . 0 ), но прекрасно подойдет в качестве начального инструмента для освоения процесса калибровки и изучения алгоритмов системы впрыска.

20 . 04 . 2005 исправлена ошибка в программе, вызывающая невозможность работы с некоторыми прошивками Микас 7 . 1

Для профессиональной деятельности используйте самый мощный на сегодняшний день инструмент чип-тюнинга – ChipTuningPro

Patch SIMTEC 76

Утилита «Patch_SIMTEC 76 _P 0141 _DISABLE.exe» предназначена для программного отключения детектирования кода DTC P 0141 в прошивках SIMTEC 76 . Появление кода P 0141 не устраняется изменением маски DTC в ChipTuningPRO, так как часть алгоритмов, детектирующих эту ошибку, не использует маску.

Данный патч для удобства пользователей встроен в ChipTuningPro 7 – вкладка «ЭБУ»

KIA 797 Conv

Утилита KIA 798 Conv предназначена для преобразования прошивок ЭБУ Bosch M 7 . 9 . 8 из дилерского формата (бинарный файл, размер 786 432 байта) в стандартный формат BIN, пригодный для работы с ChipTuningPROПрошивки, распространяемые в дилерской сети KIA Motors хоть и являются обычными бинарными прошивками, но имеют некоторые отличия в структуре сегментов, что приводит к невозможности открытия таких прошивок программой ChipTuningPRO. Для преобразования в стандартный формат используйте эту утилиту.

Работает из командной строки: KIA 798 Conv.exe inFile [outFile]

Patch MSE 3 . 5

Утилита «Patch_MSE 35 .exe» предназначена для устранения проблемы, проявляющейся в ЭСУД Siemens VDO MSE‑ 3 . 5 (Tagaz, Ssang Yong) в виде появлении кода DTC P 0605 после некорректных операций с изменением комплектации автомобиля при помощи некоторых сканеров. Появление кода P 0605 в данном случае не связано с контрольными суммами FLASH и не устраняется изменением маски DTC в ChipTuningPRO.

Есть несколько способов решения проблемы:

1 . Наиболее правильный способ: перед любыми манипуляциями с областью EEPROM необходимо делать резервную копию. Так как в системе Siemens VDO MSE‑ 3 . 5 область EEPROM эмулируется в области FLASH (адреса 0 x 4000 … 0 x 7 FFF), достаточно считать прошивку через BSL и в случае проблем восстановить ее также через BSL.

2 . Если область EEPROM повреждена, то можно попытаться восстановить ее из другого ЭБУ (с другого автомобиля, желательно той же марки и комплектации). Этот способ плох тем, что вы потеряете информацию об адаптациях, точнее, запишите переменные адаптации от другого двигателя, что может привести к некорректной работе двигателя, особенно, в первое время после перепрограммирования.

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

Для внесения изменений в ПО прошивки необходимо:

EFL 2 SMS

Утилита «EFL 2 SMS.exe» предназначена для преобразования прошивок ЭБУ Sirius, считанных с помощью загрузчика ECU Flash Loader в СТАНДАРТНЫЙ формат FullFlash, пригодный для работы с нашими программами ChipTuningPRO и CombiLoader.

Patch J 5 HIP 9011

SMS-Soft Freeware Utilites

Программа «Patch-J 5 -HIP 9011 » предназначена для модификации прошивок ЭБУ Январь‑ 5 . 1 .X под новую аппаратную реализацию ЭБУ.

Новая аппаратная реализация имеет изменения в канале детонации: вместо использовавшейся ранее микросхемы HIP 9010 применена микросхема HIP 9011 , отличающаяся протоколом программирования по SPI. При использовании обычных прошивок в новом ЭБУ канал детонации неработоспособен, что приводит к появлению ошибки «Низкий уровень шума двигателя» и невозможности работы алгоритма определения детонации.

Новая аппаратная реализация никогда не поставлялась на конвейер, а выпускалась для поставки в качестве запасных частей ориентировочно с декабря 2005 года. По подключению полностью совместима с обычными ЭБУ Январь‑ 5 . 1 .

ВНИМАНИЕ! Все новые инженерные ЭБУ «J 5 On-Line Tuner» изготавливаются из новых ЭБУ, поэтому убедитесь, что прошивки поставленные с комплектом соответствуют каналу детонации на HIP 9011 . В противном случае обработайте инженерные прошивки данным патчем.

Init ECU

В последнее время все чаще звучит вопрос «Как сделать инициализацию?» Поэтому было решено сделать небольшую, но очень полезную программу Initialize ECU.

SMS-Soft Freeware Utilites

Программа предназначена для оперативного осуществления программного сброса ЭБУ с очисткой данных памяти самообучения ЭБУ Январь 5 . 1 / 7 . 2 , VS 5 . 1 , Bosch MP 7 . 0 H, Bosch M 7 . 9 . 7 . Программа будет очень полезна в условиях любого автосервиса, т.к позволяет произвести «чистку» блока без запуска основных программ, многие из которых не имеют функции диагностики и сброса новых контроллеров серии Bosch M 7 . 9 . 7

Управление программой интуитивно – понятно.

1 . Выбрать используемый СОМ-порт.
2 . При необходимости инициализации ЭБУ «Bosch MP 7 . 0 » установить соответствующий чекбокс.
3 . Чекбокс «Альтернативный WakeUp» установить при использовании Windows 98 , если попытки установить связь не увенчаются успехом. При использовании Windows XP устанавливать этот чекбокс как правило, нет необходимости.

ЗАПРЕЩАЕТСЯ использование программы во время движения автомобиля!

58 ‑X Generator

Программа « 58 ‑X Generator» предназначена для эмуляции сигналов ДПКВ, полученного с задающего диска автомобиля (конфигурация 60 – 2 ). Программа может быть полезна, например, при испытаниях функционирования ЭБУ «на столе»

  • Сигнал ДПКВ формируется на выходе любого COM-порта ( 3 ‑я нога 9 ‑пинового COM).
  • Программа позволяет изменять частоту сигнала ДПКВ для эмуляции скорости вращения колевала от 60 до 9000 RPM (приблизительно).
  • Возможность формирования дополнительного пропуска зубьев для проверки противоугонной функции (противоугонная функция создается загрузчиком CombiLoader).

SMS-Soft Freeware Utilites

J 5 Hi-RPM

Этот модификатор позволяет изменить квантование оборотов в прошивках Январь‑ 5 . 1 и VS‑ 5 . 1 , что позволяет устанавливать порог отсечки топливоподачи вплоть до 10200 об/мин. Напоминаем, что работа двигателя в диапазоне выше 7500 об/мин требует весьма серьезной подготовки двигателя и все калибровки, «завязанные» на обороты так же должны быть модифицированы на соответствие указанным оборотам. При изменении квантования все режимные точки смещаются, причем довольно значительно. Не забудьте так же прочитать файл readme.txt внутри архива!

SMS-Soft Freeware Utilites

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

  • смещая «отсечку» Вы действуете на свой страх и риск.
  • не каждый двигатель можно «докрутить» до таких оборотов.
  • « едет» и «крутится» – разные понятия.
  • кинематический разрыв на серийном железе может наступить после 8000 об/мин.
  • Во всех таблицах по оборотам меняется квантование, поэтому необходимо ПЕРЕСЧИТЫВАТЬ практически все таблицы топливоподачи и зажигания. Это под силу только высококвалифицированному тюнеру.
  • не используйте данную программу для стандартных моторов.
  • если нет 100 % уверенности в своих действиях, вообще не пользуйтесь данной программой

EEPROM Writer

EEPROM Writer – программа, позволяющая записывать данные в eeprom ЭБУ Bosch M 1 . 5 . 4

Как известно, в системе Bosch M 1 . 5 . 4 записать данные в EEPROM 24 С 02 можно только внешним программатором. Для этого нужно выпаять микросхему, что представляет некоторые сложности. Кроме того, нужен еще программатор для этого типа микросхем.
Данная программа позволяет немного упростить процесс программирования EEPROM путем подготовки специальной прошивки, которая, будучи установленной в ЭБУ сама пропишет ваши данные в EEPROM. Это очень удобно, если вам необходимо записывать всегда одни и те же данные (например пароль для защиты прошивки или какой-либо нестандартный идентификатор и т.п.). В этом случае вам нужно лишь один раз подготовить ПЗУ 27 С 512 , в которой будет находится программа, прошивающая EEPROM. Весь процесс программирования будет заключаться в установке этой ПЗУ и включению питания на несколько секунд. Для большей безопасности предусмотрена индикация успешного окончания операции с помощью лампы Check Engine.
Принцип работы с программой очень прост: вы открываете файл, содержащий образ EEPROM, который вы хотите записать в ЭБУ, а программа создает файл-прошивку, которую нужно зашить в ПЗУ 27 С 512 . Попутно можно изменить некоторые идентификационные данные, хранящиеся в EEPROM (VIN, номер кузова и двигателя). Установив полученную ПЗУ в ЭБУ и включив «зажигание», вы запишите данные в EEPROM.

В версии 1 . 1 добавлена возможность создания прошивки для полной очистки EEPROM без загрузки внешнего файла, содержащего 0 xFF по всем адресам.

J 7 Patch

SMS-Soft Freeware Utilites

J 7 patch – бесплатная утилита от SMS-Software, предназначена для устранения проблемы, проявляющейся в неверном расчете состава смеси после движения в режиме принудительного холостого хода. Указанный дефект проявляется во всех прошивках ЭБУ Январь‑ 7 . 2 (по состоянию на январь 2006 г.), а также в прошивках J 5 V 13 L 05 и V 5 V 13 L 05 .

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

J 7 + Patch

SMS-Soft Freeware Utilites

J 7 + patch – Утилита «J 7 plus_patch.exe» предназначена для преобразования прошивок ЭБУ Январь‑ 7 . 2 +, под различную аппаратную реализацию блоков Январь‑ 7 . 2 + (не путать с Январем‑ 7 . 2 !).

НПП «ИТЭЛМА» выпустила небольшую партию блоков, в которых имеются незначительные изменения в аппаратной реализации, касающиеся порта обработчика сигнала датчика скорости автомобиля (ДСА).

Прошивки в таких ЭБУ имеют точно такие-же наименования, как и в обычных блоках. Применение несоответствующей прошивки приводит к отсутствию сигнала датчика скорсти и появлению DTC, связанных с ошибками ДСА.

Для преобразования прошивки под нестандартную аппаратную реализацию (или обратно) необходимо:
1 . выбрать прошивку (файл BIN), в который вы хотите изменить порт обработчика сигнала ДСА.
2 . нажать кнопку «Изменить».
3 . измененный файл будет создан в той же папке, что исходный и иметь дополнение «_HWnew» или «_HWstandard» в имени.

K 2 L-Mode Control

SMS-Soft Freeware Utilites

Программа K 2 LMode предназначена для изменения алгоритма функционирования U 2 KL-адаптера из комплекта SMS-Daignistic или J 5 /J 7 On-Line Tuner при использовании со сторонним программным обеспечением.

Для работы программы требуется SMS-Software USB-хост-адаптер с ПО адаптера не ниже версии 01 . 00 . 07 и подключенным U 2 KL-адаптером.

Change boot M 11

SMS-Soft Freeware Utilites

Программа ChBoot предназначена для замены бутлоадера в прошивках ЭБУ М 11 .

Необходимость замены бутлоадера версии 2 . 03 на версию 2 . 04 может быть обусловлена желанием работать с ЭБУ без доработки и в полном объеме доступа как к FLASH-памяти, так и к EEPROM.

J 5 /J 7 2 in 1

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

Дополнительные функции для ЭБУ Январь‑ 5 : возможность раздельной регулировки CO для каждого режима, добавление в программный код алгоритма реле блокировки стартера (для прошивок, в которых эта функция не реализована).

M 154 2 in 1

Программа-модификатор для создания двухрежимных прошивок для контроллера Bosch M 1 . 5 . 4 , позволяет создавать сдвоенные прошивки с возможностью программного переключения во время работы двигателя. При этом ЭБУ не требует никакой аппаратной доработки, а сдвоенная прошивка помещается в обычную ПЗУ 27 С 512 .

Искать на Мониторе

Искать на Elektrotanya

Искать на Eserviceinfo

Искать на Elektroda

Искать по всему сайту

Искать на Alldatasheet

На Datasheetarchive

Новая версия ПО для программатора T56/TL866II.
Программатор T56:
Поддержка: 25467 шт. (Увеличение количества поддерживаемых чипов: +227 шт.)
Программатор TL866II:
Поддержка: 16488 шт. (Увеличение количества поддерживаемых чипов: + 55 шт.)
1. Добавлена ​​автоматическая идентификация логических устройств
Новая пользовательская функция логического устройства
Добавлена поддержка логической микросхемы
Добавлены новые функции
2. Исправлены известные ошибки.
Проверено на программаторе TL866II.
Программа Начала Электроники - программный комплекс, созданный с целью имитирования на компьютере процесса сборки электрических схем, исследовать особенности их работы, проводить измерения электрических величин

Альтернативный софт для CH341A
Поддерживается большое семейство компонентов:
SPI NOR flash
SPI NAND flash
SPI EEProms (25xxx, 95xxx)
SPI EEProms (45xxx)
SPI F-RAMs, FRAMs
I2C EEProms (24Cxx)
MicroWire EEProms (93Cxx 8/16 bit) (93C57)
AVR Mcu (ATmega, ATtiny)
NUVOTON Mcu (N76E003)
ENE KB90xx
Специальные компоненты:
I2C:
AT24RF08/PCA24S08/BUL08/LE26CAP08
PCF8582C
M34E02/AT34C02
M34E04/AT34C04
CT1C08
CT1C16

SPI EEprom:
M35080, M351xx
ST95P08

Эта программа позволит правильно подобрать номиналы резисторов в обвязки регуляторов напряжении серии LM, M,TL.. Все на скрине Установка не требуется !



Новая версия ПО для программатора T56/TL866II.
Программатор T56:
Поддержка: 25240 шт. (Увеличение количества поддерживаемых чипов: +127 шт.)
Программатор TL866II:
Поддержка: 16433 шт. (Увеличение количества поддерживаемых чипов: + 16 шт.)
1. Новые чипы:
INTEL 87C51 / 87C52 / 87C54 / 87C5887C51FA / 87C51FB / 87C51FC
P87C51FA / P87C51FB / P87C51FCP87C51RA / P87C51RB / P87C51RC / P87C51RDP87C51U / P87C52U / P87C54U / P87C58U
W78E51 / W78E51B / W78E51BP / W78E51BFW78E51C / W78E51CP / W78E51CFW78E52 / W78E52B / W78E52BP / W78E52BFW78E52C / W78E52CP / W78E52CFW78E54 / W78E78E54E54 / W78E78E54E54 / W78E78E54E
24AA515 / 24LC515 / 24FC515 24AA1025 / 24LC1025 / 24FC102524AA1026 / 24LC1026 / 24FC1026MB85RC256V
2. Исправлены известные ошибки.
Проверено на программаторе TL866II.

Новая версия ПО для программатора T56/TL866II.
Программатор T56:
Поддержка: 24303 шт. (Увеличение количества чипов: +123 шт.)
Программатор TL866II:
Поддержка: 16348 шт. (Увеличение количества чипов: + 47 шт.)

1. EMMC добавляет дополнительную функцию пропуска пустых данных. И отображения фактически занимаемого объема (T56)
2. Улучшен алгоритм программирования NAND: пропуск данных bad блоков в файле.
3. 29-я серия улучшено программирование ПЗУ верхней зоны безопасности. Улучшена поддержка защиты от записи, защиты паролем. (T56)
4. Новый чипы:
MX25L2026D 2026C
CAT1021 / CAT1022 / CAT1023 / CAT1024 / CAT1025 / CAT1026 / CAT1027
K9F6408U0C SOP44 (T56)
M29F102BB PLCC44 (T56)
SPI NAND XT26G04A (T56)
XT25F01 / XT25F02 / XT25F04 / XT25F08 / XT25F16 / XT25F32 / XT25F64 / XT25F128
AT89S51 / 52 добавляет функцию ISP (T56)
5. Исправлено несколько ошибок.

CH341A Programmer
версия: 1.3.4

Последнее обновление программы в шапке: 25.07.2020

Прикрепленное изображение

Прошивка мультиконтроллеров серий: KB9012,KB90xx,KB9022 Если у вас возникает ошибка при разархивировании архивов (7zip,zip

Прикрепленное изображение


Так же, в «Диспетчер устройств», Windows определил его как «Неизвестное USB-Устройство (сбой запроса дескриптора устройства)»,
а в свойствах, пишет об ошибке «Система Windows остановила это устройство, так как оно сообщило о возникновении неполадок.
(Код 43)» и конечно же, неправильно определен VID и PID (VID_0000&PID_0002).

Прикрепленное изображение


Открыв документацию на CH341A и посмотрев примеры принципиальных схем, можно увидеть что везде используется кварц на 12 МГц.

Прикрепленное изображение


А на самом программаторе CH341A, установлен кварц на 27.120 MГц

Прикрепленное изображение


Берем паяльник и выпаиваем неправильный кварц 27.120 МГц и впаиваем, новый на 12 МГц.

Прикрепленное изображение

Подключаем программатор CH341A к компьютеру и видим, что в ОС появилось новое устройство с вином VID и PID (VID_1A86&PID_5512)

Как подключить Atmega контроллер на примере USBAsp Если у вас не записывается чип но при этом считывается
Прошивает микросхемы 24 серии
Прошивает микросхемы 25 серии
Прошивает микросхемы 26 серии Поддерживаемые программатором CH341A Pro микросхемы 24 серии

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

CATALYST
CAT24C01 CAT24WC01 CAT24WC02 CAT24C02 CAT24C04 CAT24WC04 CAT24WC08 CAT24C08 CAT24WC16 CAT24C16 CAT24WC32 CAT24C32 CAT24WC64 CAT24C64 CAT24WC128 CAT24C128 CAT24WC256 CAT24C256 CAT24C512 CAT24WC512 CAT24C1024 CAT24WC1024

COMMON
24C01 3V 24C01 5V 24C02 3V 24C02 5V 24C04 5V 24C04 3V 24C08 3V 24C08 5V 24C16 5V 2406 3V 24C32 5V 24C32 3V 24C64 5V 24C64 3V 24028 5V 24C128 3V 24C256 5V 24C256 3V 24C512 5V 24C512 3V 240024 3V 24C1024 5V 24C2048 5V 24C2048 3V 24C4096 5V 24C4096 3V

FAIRCHILD
FM24C01L FM24C02L FM24C03L FM24C04L FM24C05L FM24C08L FM24C09L FM24C17L FM24C16L FM24C32L FM24C64L FM24C128L FM24C256L FM24C512L FM

HOLTEK
HT24C01 HT24LC01 HT24CD2 HT24LC02 HT24C04 HT24LC04 HT24C08 HT24LC08 HT24C16 HT24LC16 HT24LC32 HT24C32 HT24LC64 HT24C64 HT24C128 HT24LC128 HT24C256 HT24LC256 HT24LC512 HT24C512 HT24C1024 HT24LC1024

ISSI
IS24O01 IS24C02 IS24C04 IS24C08 IS24C16 IS24C32 IS24C64 IS24C128 IS24C256 IS24C512 IS24C1024

MICROCHIP
MIC24LC014 MIC24AA01 MIC24AA014 MIC24LC01B MIC24LC02B MIC24AA02 MIC24C02C MIC24AA025 MIC24AA04 MIC24LC04B MIC24LC024 MIC24AA024 MIC24LC025 MIC24LC08B MIC24AA08 MIC24LC16B MIC24AA16 MIC24LC32 MIC24AA32 MIC24LC64 MIC24FC64 MIC24AA64 MIC24FC128 MIC24AA128 MIC24LC128 MIC24AA256 MIC24LC256 MIC24FC256 MIC24AA512 MIC24LC512 MIC24FC512 MIC24AA1024

NSC
NSC24C02L NSC24C02 N5C24C64

RAMTRON
FM24CL04 FM24C04A FM24CL16 FM24C16A FM24CL64 FM24C64 FM24C256 FM24CL256 FM24C512

ROHM
BR24L01 BR24C01 BR24L02 BR24C02 BR24L04 BR24C04 BR24L08 BR24C08 BR24L16 BR24C16 BR24L32 BR24C32 BR24C64 BR24L64

ST
ST24C01 ST24C32 ST24C02 ST24C64 ST24C04 ST24C08 ST24C16

XICOR
X24O01 X24C02 X24C04 X24C08 X24C16

Поддерживаемые программатором CH341A Pro микросхемы 25 серии

AMIC
A25L512 A25L05P A25L10P A25L010 A25L020 A25L20P A25L40P A25L040 A25L080 A25L80P A25L016 A25L16P A25L032

ATMEL
AT25F512 AT25F512B AT25F512A AT25FS010 AT25F1024 AT25F1024A AT25F2048 AT25DF021 AT25F4096 AT25FS040 AT25DF041A AT25DF321A AT26DF321 AT25DF321 AT25DF641

COMMON
25X005 25X05 25X10 25X20 25X40 25X80 25X16 25X32 25X64 25X128 25X256 25X512 25X1024 25X2048

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

ES
ES25P10 ES25P20 ES25M40A ES25M40 ES25P40 ES25M80 ES25P16 ES25M80A ES25P32 ES25P80 ES25M16 ES25M16A

ESMT (только чтение)
F25L04UA F25L16PA F25L004A F25L32QA F25L08PA F25L32PA F25L008A F25L016A

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

MXIC
MX25V512 MX25L4005A MX25L1635D MX25L3237D MX25L6455E MX25L12845E MX25L512 MX25V4035 MX25L1605D MX25L3225D MX25L6408D MX25L1005 MX25V4005 MX25L1608D MX25L3205D MX25L6406E MX25L2005 MX25V8005 MX25L3235D MX25L3206E MX25L6445E MX25L8035 MX25L8005 MX25L3208D MX25L6405D MX25L12805D

NEXFLASH
NX25P10 NX25P20 NX25P40 NX25P80 NX25P16 NX25P32

NSHINE
MS25X05 MS25X16 MS25X10 MS25X32 NS25X20 MS25X64 NS25X40 MS25X128 MS25X80

PMC
PM25LV512A PM25LV016B PM25LV010A PM25LV020 PM25LV040 PM25LV080B

SAIFUN
SA25F005 SA25F160 SA25F010 SA25F320 SA25F020 SA25F040 SA25F080

SPANSION
S25FL004A S25FL032A S25FL040A S25FL064A S25FL008A S25FL128P S25FL160 S25FL129P S25FL016A S25FL128A

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

WINBOND
W25X10 W25X10L W25P10 W25X10AL W25X10A W25P20 W25X20AL W25X20A W25X20 W25X20L W25X40A W25P40 W25Q40BV W25X40L W25X40 W25X40AL W25Q80BV W25Q80V W25X80 W25P80 W25X80A W25X80L W25X80AL W25P16 W25Q16BV W25Q16V W25X16 W25Q32BV W25Q32V W25X32 W25P32 W25Q64BV W25X64 W25Q128BV

В этой статье мы разберемся, как обновить БИОС материнской платы Asus, Gigabyte, MSI, Asrock и других производителей. Рассмотрим вопросы прошивки (обновления) БИОСа. Какие программы использовать для прошивки BIOS, зачем его обновлять и нужно ли это делать. Какие проблемы и опасности нас могут ждать в процессе обновления.

Во всех современных стационарных ПК и ноутбуках используется унифицированный расширяемый интерфейс встроенных микропрограмм с удобным графическим меню (UEFI — Unified Extensible Firmware Interface, ранее EFI — Extensible Firmware Interface), но все продолжают называть его БИОСом. Поэтому, чтобы не повторятся, далее по тексту в статье под биосом будет подразумеваться и UEFI.

Как найти и загрузить прошивку

Ниже я привел общую пошаговую инструкцию по процессу обновления биоса на материнских платах ПК и ноутбуках ⇒

    Определяем ПРОИЗВОДИТЕЛЯ, МОДЕЛЬ и РЕВИЗИЮ


Если у вас настольный компьютер или ноутбук от крупного бренда, например, HP, Lenovo, Acer, Dell, то надо заходить на сайт именно производителя ПК или ноута, а не материнской платы. Найти там вашу модель и в разделе загрузок или поддержки посмотреть, доступны ли обновления BIOS.

Будьте внимательны, так как у материнок бывают разные ревизии (rev. 1.0, rev. 2.0) и прошивки так же могут быть разными. Модели ноутов так же могут отличаться. Смотрите в строке P/N (Part Number). Более подробно как определить наименование модели в этой инструкции. Например, ноутбуки Асус X750LN-TY014H и X750LN-TY116H. Общая серия одна, но у первого CPU Intel i3, а у второго Intel i7 и набор логики разный соответственно.

Теперь перед нами встает вопрос — каким способом провести обновление?

Способы обновления

Есть три варианта ⇒

  1. Через встроенную в BIOS или UEFI специальную утилиту.
  2. Через диск USB в режиме DOS.
  3. Обновление из-под БИОС.

Перепрошивка UEFI BIOS через утилиту

Обновление с помощью фирменных программ производителя ноутбука или материнской платы выполняется в среде Windows. Это самый удобный, безопасный и предпочтительный метод для ноутбуков и большинства материнских плат настольных компьютеров (Asus, Gigabyte, MSI, Asrock, Foxconn).

Например, на компьютерах и ноутбуках Dell это можно сделать в автоматическом режиме с помощью SupportAssist, а у HP через Support Assistant.

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

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

Перепрошивка UEFI BIOS через флешку USB в режиме DOS

Самый универсальный способ обновления. Для этого создается загрузочная флешка с DOS и самим BIOS, а если требуется, то с дополнительной утилитой для обновления. Может содержать отдельные файлы Autoexec.bat или Update.bat для запуска процесса в DOS.

  • загрузите систему с загрузочного USB накопителя;
  • после загрузки режима DOS, следуйте инструкции вашего производителя материнки или ноута, ссылки на которые я дал ниже по тексту;
  • после успешного прохождения процедуры прошивки, перезагрузите компьютер.

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

Обновление БИОС в самом BIOS

Все современные материнские платы имеют поддержку такого способа обновления ⇒

Еще раз проверьте, что загруженная прошивка точно от вашей материнки.

Для многих материнских плат можно использовать любой из этих способов.

Инструкции по обновлению для разных производителей

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

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

Ссылки на официальные инструкции по обновлению микрокода BIOS системной платы или ноутбука ⇒

Для всех современных материнских плат от Asus с UEFI, лучше использовать утилиту USB BIOS Flashback. В этой статье на официальном сайте подробно описано, как ее использовать.

Для старых материнок пользуемся Asus Update Utility (EZ Flash tool) для Windows. Как это сделать, смотрите в этой статье. Так же там есть инструкция, как это сделать из-под DOS.

Gigabyte

На официальной странице по обновлению кода bios на материнках Gigabyte, есть интструкции по всем трем способам. С помощью утилит Q-Flash и @BIOS. Они сами определят вашу версию биоса, и если есть более свежая версия, то загрузят ее и установят.

Для прошивки биоса материнок этого производителя, используем программу MSI Live Update или M-Flash. Они самим определят вашу версию и скачают обновление.

Инструкции и программы можно найти в разделе поддержки по вашему продукту на сайте MSI или загрузить PDF.

Asrock

У Асрок есть утилита ASRock Instant Flash. Она так же все делает в автоматическом режиме, достаточно нажать F6. Инструкция по работе с ней на официальном сайте.

Зачем и когда нужно обновлять BIOS

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

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

Насколько опасно?

Обновление BIOS материнской платы — процесс достаточно простой, но требует выполнения ряда условий, чтобы все прошло в штатном режиме ⇒

  • недопущение отключения питания (использовать ИБП);
  • бывают проблемы с файлом обновления (несовпадение версий, ошибка записи данных). Не допускайте этого;
  • перед выполнением обновления лучше сделать резервную копию биоса. Ее обязательно сохранить на внешний носитель (флешку или портативный диск).

Платы от Asus, Gigabyte, MSI и AsRock имеют различные механизмы по восстановлению. У Асрок и Гигабайт ставят две микросхемы с BIOS — главная и резервная. При возникновении неисправности основной микросхемы, материнка может запуститься с резервной и провести восстановления. А у MSI и Asus есть технологии Flash BIOS Button и CrashFree BIOS 3.

Если сбой все таки произошел, то всегда есть резервный вариант — прошивка с помощью программатора, но это стоит денег и потери времени.

Читайте также: