Site Loader

Простейший программатор для ATmega8 | Полезное своими руками

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

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

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

Схема первая

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

СОМ-разъем на схеме — это «мама».

На всякий случай привожу разводку печатной платы для атмеги8 (скачать), хотя такую примитивную схему проще нарисовать от руки. Плату перед печатью нужно отзеркалить.

Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то качайте 5-ую версию или лучше сразу 6-ую).

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

Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки микромощных радиомикрофонов.

А вот весь программатор в сборе:

Питание (+5В) я решил брать с USB-порта.

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

Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.

Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.

Заливать прошивку лучше всего с помощью программы PonyProg (скачать).

Прошивка с помощью PonyProg

Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко «Calibration OK».

Далее Setup -> Interface Setup. Выбираем «SI Prog API» и нужный порт, внизу нажимаем «Probe», должно появиться окно «Test OK». Далее выбираем микроконтроллер «Device -> AVR micro ATmega8».

Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.

После чтения появляется окно «Read successful». Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем «Открыть».

Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.

Тщательно все проверяем и жмем «OK». Далее нажимаем Command -> Write All -> Yes. Идет прошивка и проверка. По окончании проверки появляется окно «Write Successful».

Вот и все, МК прошит и готов к использованию!

Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот. Определить это можно, считав фьюзы и посмотрев на галку «SPIEN».

Схема вторая

Еще одна версия программатора, с помощью которого можно залить прошивку в микроконтроллер АТМЕГа (так называемый программатор Геннадия Громова). Схема состоит всего из 10 детатей:Диоды можно взять любые импульсные (например, наши КД510, КД522). Разъем — «мама». Питание на МК (+5В) нужно подавать отдельно, например, от того же компьютера с выхода USB.

Все это можно собрать навесным монтажом прямо на разъеме, но если вы крутой паяльник и знаете, что такое smd-монтаж, то можете сделать красиво:

Программировать только программой Uniprof. Тут хорошее описание программы: http://www.getchip.net/posts/025-uniprof-universalnyjj-programmator-dlya-avr/

Алгоритм прошивки с помощью программатора Громова

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

Если все ок, выбираем файл с нужной прошивкой и жмем запись.

Будьте предельно внимательны и осторожны, потому что если глюканет при записи фьюзов, то МК либо на выброс, либо паять схему доктора (а она сложная). Если поменяете бит SPIEN на противоположный — результат будет тот же (к доктору).

Прошивка atmega8 pickit2 – Telegraph


Прошивка atmega8 pickit2

====================================

>> Перейти к скачиванию

====================================

Проверено, вирусов нет!

====================================

Программатор PICKIT2 предназначен для программирования. PICKIT2 и производим прошивка нужных нам ATmega, ATtiny, AXmega.

PicKit2 шьет AVR Инструментарий. помнится в свое время рекомендовали прошивку для пиккита аналогичного назначения. The tests were made with ATmega8 microcontroller. Update: I made some tests with.

без каких-либо изменений в оборудовании или прошивки МК-используйте. звена между AVR микроконтроллером и PICKit2 программатором, следуя. Испытания проводились с ATmega8 микроконтроллером.

Программатор/отладчик PICkit-2 содержит в себе гораздо большее кол-во функций. программировать микроконтроллеры Atmel необходимо только заменить ПО PICkit-2 на. Скачать прошивку PKAVRISP__версия 2.2.

PicKit2 шьет AVR Микроконтроллеры и цифровая техника. Собрал переходник на AtMega8. Почтой электрон. компоненты, программаторы, прошивка AVR PIC · Программатор PIC, AVR и EEPROM. Продам.

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

уже прошитый прошивкой PicKit2 — и соберите программатор PicKit2 ( можно. АТ90S2313 и Tiny2313 не пробовал, но вот AtMega 8 и 16 идут на раз.

Программатор Pickit2 Lite. Чем прошить PIC микроконтроллер ( программатор PICkit2) — Duration: 3:56. risctronix 6,208 views · 3:56.

Программирование микроконтроллеров PIC, ATtini, ATmega Программатор. После прошивки пишет все ок но верификация не проходит!. Чем прошить PIC микроконтроллер (программатор PICkit2) — Duration.

2 Aug 2015. Microchip s PICkit 2 as an Atmel STK500 programmer. board, the microcontroller code (firmware) produced by the compiler is sent to STK500.

сжег КОМ порт 😀 Пришлось идти к другу и у него прошивать :cool. STK500v2 by Petka ТЫЦ (реализовано на FT232BM+ATMega8) Очень хотелось бы. Самодельный программатор-отладчик PICkit 2. [IMG].

PICkit2 Lite – более дешевая версия программатора PICkit2 (без функции. прошит в программатор, в PICkit2 можно прошить другие программы.

И если с первым пунктом нет проблем – готовую прошивку обычно выкладывают. Это так называемый клон фирменного программатора PICkit2.

-. with PICkit 2 compatible firmware using the standalone v3.10 app. —

Прошивал — ATmega8, ATmega328, ATtiny13. Pickit2 с родной прошивкой PK2V023200. Работает однако. The pin connections:

Перепрошивка 25xxx осуществляется по интерфейсу SPI, в чем и. -USB- ASP-ATMEGA8-ATMEGA128-Support-Win7-64/32727211265.

Средства разработки, atmel avr, microchip pic, st stm, cortex jtag, usb — com, uart. Внутрисхемный программатор-отладчик PICkit 2 с интерфейсом USB 2.0. порт так же осуществляется обновление прошивки программатора, т.е.

Русский мануал по PICkit 2: ▽ pickit2_user_manual_ru_1_0.7z | Файл 1,52 Mb загружен 93 раз. Как прошить PIC18F2550 для программатора не имея программатора?. Но им же никак не прошьёшь ATMega8?

Программа для прошивки микроконтроллеров Atmega. У меня возникла проблема в работе проги с программатором Pickit2. Пробовал на 2х компах.

Программатор PICkit 2. Возможность обновления прошивки AVR JTAG ICE непосредственно из AVR Studio; Индикатор «Питание подано»; Индикатор.

atmega — Защита флэш-памяти AVR от чтения через провайдера?

Вы не указали чип, нижеследующее в основном ориентировано на 8-битные устройства atmega, но это общая информация. Прочтите раздел «Программирование памяти» для вашего конкретного чипа для получения более подробной информации!

При этом, как вы сказали, все устройства AVR содержат два бита блокировки с именами LB1 и LB2. Программирование их (на 0, низкий уровень) добавит защиту к содержимому, записываемому во флэш-память и память EEPROM, в соответствии с таблицей ниже. Уровень защиты разделен на три режима, где режим 1 не обеспечивает никакой защиты, а режим 3 обеспечивает максимальную защиту. Можно перейти на более высокий уровень защиты, просто перепрограммировав биты блокировки.

AVR позволяет менять «старшие» биты на «младшие», но не наоборот. Невозможно изменить «низкий» бит блокировки на «высокий», поэтому снижение уровня защиты невозможно. Чтобы очистить биты блокировки, требуется полное стирание чипа, которое стирает флэш-память.

Только эти 2 бита блокировки (LB1 и LB2) при низком уровне предотвратят 99,9% людей от кражи вашей прошивки! Вероятно, более 99,9%. Почти всегда было бы проще перепроектировать ваш код.

Таким образом, пользователь не может обновлять прошивку с помощью пользовательского загрузчика. и защитить флеш от чтения заодно?

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

, отключить SPI и быть защищенным от 97-98% людей.

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

Для дополнительной информации: биты блокировки и фьюзы не расположены в обычной флэш-памяти или пространстве EEPROM, а также недоступны из программного обеспечения, за исключением битов блокировки, связанных с загрузчиком в устройствах с функцией самопрограммирования. Таблица 2 в этом примечании к приложению поможет вам определить, что вы можете сделать для своего конкретного устройства!

Линейка AVR от Atmel не относится к устройствам с высоким уровнем безопасности (если не указано иное!) и, как таковые, они не имеют абсолютно никаких гарантий безопасности кода, и не должны! Как и все незащищенные устройства (и, к сожалению, даже некоторые безопасные), они подвержены обычным атакам!


Редактировать

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

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

Для обновления загрузчика(иногда) буду ставить HV программирование заголовок интерфейса на борту. Но может ли кто-нибудь использовать программатор HV для ЧТЕНИЯ вспышка? Я знаю, что программист HV может стереть чип, даже если ISP / Jtag неполноценный.

Я думаю, что может быть способом обновить заблокированную флэш-память через загрузчик (что-то сделать с внутренним флагом записи и/или ISR, может быть???) Но мне придется поискать свои заметки и, возможно, придется Попробуй это. Я не смогу сделать это в течение ~ 20 часов; , поэтому я настоятельно рекомендую задать новый вопрос

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

arduino — чтение шестнадцатеричного файла atmega8

спросил

Изменено 6 лет, 7 месяцев назад

Просмотрено 4к раз

Я хочу сделать клон схемы с atmega8. У меня есть схема и печатная плата в порядке. Проблема в том, что я хочу прочитать шестнадцатеричный файл на чипе atmega8, и мой вопрос: возможно ли это? и если я хочу определить тип чипа на avrdudess, нужно ли писать блокирующий байт и HIGH фьюзы и низкие фьюзы или мне нужно только предсказать только блокирующий байт?

  • ардуино
  • микроконтроллер
  • avr
  • atmega
  • avrdude
  1. проблема в том, что я хочу прочитать шестнадцатеричный файл на чипе atmega8, и мой вопрос, это выполнимо?

    При условии, что биты блокировки не запрограммированы, можно прочитать содержимое как флэш-памяти, так и EEPROM, добавив опции -U flash:r:flash. hex:i -U eeprom:r:eeprom.hex:i к вызов avrdude .

  2. и если я хочу определить тип чипа на avrdudess, нужно ли писать блокирующий байт и HIGH фьюзы и низкие фьюзы или мне нужно только предсказать только блокирующий байт?

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

  3. … (см. комментарии под этим ответом)

    Может стоит подойти к проблеме с другой стороны: у вас есть программатор ISP или плата Arduino? Если у вас есть программатор, то попробуйте с его помощью прочитать память вашего чипа. Если у вас есть Arduino, запишите его с помощью ArduinoISP, подключите к atmega8, как показано внизу этой страницы — не беспокойтесь о другом чипе: контакты, которые нас интересуют (reset, vcc, gnd, xtal, sck, miso, mosi) имеют одинаковые «номера» как на atmega168, так и на atmega8.

    Не забудьте про конденсатор 10 мкФ на сброс и землю Arduino.

    Не используйте команду «Записать загрузчик» из руководства, на которое я ссылался в предыдущем комментарии.

    Вместо этого запустите AVRDUDESS, выберите avrisp в качестве программатора, установите скорость передачи 19200 и нажмите кнопку «обнаружить». Если это работает, вы можете прочитать вспышку.

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

  4. У меня есть еще один вопрос. Нужно ли мне читать eeprom, чтобы сделать клон? или просто мне нужна только вспышка?

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

    е. г. Конфиг по умолчанию загружается с флешки. Если константы хранятся в eeprom, то без копирования их содержимого программа не будет работать должным образом. Как видите, безопаснее просто скопировать, если только у вас нет веских контраргументов (какие-то технические проблемы или вы абсолютно уверены, что программа во flash не использует eeprom или что-то еще).

  5. Извините, я сделал ошибку, я имею в виду ЗАПИСАТЬ флэш-память и eeprom в пустой atmega8, я уже сделал чтение, теперь я хочу сделать клон, как я могу это сделать, чтобы у меня были предохранители HIGH и low предохранители и блокировка я их красный с avrdudess


    и нужно ли мне записывать только flash или я должен записывать и eeprom

    Если вы хотите сделать точную копию, сделайте следующее:

    • чтение eeprom и флэш-памяти, предохранитель и блокировка байтов оригинального чипа
    • (отложите оригинальный чип)
    • выполнить цикл стирания чипа, который вы хотите сделать копией оригинального (убедитесь, что EESAVE не запрограммирован)
    • запрограммируйте байты предохранителя (будьте осторожны с RSTDISBL и подобными битами)
    • (при необходимости подключите кварц/резонатор/RC/.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *