02.09.2017

Khazama Avr Programmer Инструкция По Работе

Для работы с USBasp`ом есть несколько программ — avrdude, eXtremeBurner, Khazama и.

Khazama Avr Programmer Инструкция По РаботеKhazama Avr Programmer Инструкция По Работе

На плате имеются три перемычки, задающие разные режимы работы программатора. Захожу в программу Khazama AVR Programmer, выбираю из . К примеру, USBASP может работать только с Khazama, AVR . Khazama AVR Programmer - небольшая программа, созданная с целью быстрой. ISP установлена), то начинается работа как программатора USBasp. Если нет — читайте инструкции, как их установить, по ссылке Отличия внутрисхемной прошивки от параллельной. Использование в качестве программатора Pinboard II. Пример работы с avrdude и .

Ещё один шаг в сторону от ардуинонизации. В моём случае это абсолютный рекордсмен по скорости доставки — около 5 месяцев беспечного блуждания непонятно где. Несмотря на чудовищную задержку по времени, пакет я всё- таки получил, чему несказанно рад, не взирая на недочёты, о коих поведаю ниже. Поскольку у меня весьма плохая память, то нужно было объединить найденную полезную информацию где- то в одном месте в виде памятки, собирать её по крупицам в разных закоулках сети оказалось делом нетривиальным, поэтому оформлю всё это отдельным постом. Проще было заиметь отдельно такой программатор, точнее два. По двум причинам: 1) Ещё перед покупкой уже из отзывов было понятно, что качество пайки этих устройств страдает, а некоторым ещё и с расколотыми стабилитронами они приходили. Решено было подстраховаться, заказав два.

Один программатор к тому же можно шить другим, переставив перемычку на ведомом устройстве. Технические характеристики. Поддерживаемые ОС: Windows, Mac. OS, Linux. Процессор: Atmega. AИнтерфейс подключения к ПК: USBИнтерфейс программирования: ISP (внутрисхемное)Напряжение программирования: 5. В или 3. 3. В (в зависимости от положения перемычки JP2)Частота программирования: 3. Гц (по умолчанию) и 8к.

Гц (при замкнутой перемычке JP3)Поддерживаемые контроллеры: все AVR с интерфейсом SPIОписание: ссылка. Список поддерживаемых микроконтроллеров. ATmega серия. ATmega.

ATmega. 48 ATmega. ATmega. 16. 8 ATmega.

ATmega. 10. 3 ATmega. ATmega. 12. 80 ATmega. ATmega. 16. ATmega. ATmega. 16. 2 ATmega. ATmega. 16. 4 ATmega. ATmega. 25. 60 ATmega.

ATmega. 32 ATmega. ATmega. 32. 9ATmega.

ATmega. 64. 0 ATmega. ATMEGA6. 4 ATmega. ATmega. 64. 90 ATmega. ATmega. 85. 35. Tiny серия.

ATtiny. 12 ATtiny. ATtiny. 15 ATtiny.

ATTINY2. 5ATtiny. Attiny. 85 ATtiny. Серия Classic. AT9. S1. 20. 0 AT9. 0S2. AT9. 0S2. 33. 3 AT9. S2. 34. 3 AT9. 0S4. AT9. 0S4. 43. 3 AT9.

S4. 43. 4 AT9. 0S8. AT9. 0S8. 53. 5CAN серия.

AT9. 0CAN1. 28. PWM серия. AT9. 0PWM2 AT9. 0PWM3. Внешний вид. Комплект поставки минимальный — программатор + шлейф без резинки.

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

SMD- элементы тоже криво припаяны. Гребёнку чуть позже выровнял, уж больно неприятно на такую раскосую смотреть, элементы пропаял, а плату затем отмыл.

Размеры платы несколько больше USB- TTL- конвертера на CP2. Длина шлейфа около 3. Некоторые его специально укорачивают. Если заказать оригинальный USBASP — там комплектный шлейф уже 5. Органы управления на плате.

На плате имеются три перемычки, задающие разные режимы работы программатора: JP1 — замыкается в случае обновления прошивки самого программатора. JP2 — тройная перемычка, здесь выбирается, какое напряжение будет подаваться на прошиваемый микроконтроллер, либо 5. В (левое положение) и 3. В (правое положение)JP3 — если её замкнуть, то программирование контроллера будет происходить с пониженной частотой, однако китайцы не стали сюда впаивать гребёнку, т. Самый правый верхний элемент, подписанный F1, с перевёрнутой цифрой 4 — самовосстанавливающийся предохранитель, защищает USB- порт ПК/ноутбука, если на прошиваемой плате вдруг произошло короткое замыкание. Под перемычкой JP2 находится LDO- стабилизатор 6.

К, понижающий напряжение с 5. В до 3. 3. В, если перемычка установлена в правое положение. Установка драйверов. Чтобы начать пользоваться программатором, необходимо сперва поставить на него драйвера. Вставляю любой программатор в USB- порт ПК, звучит сигнал о новом оборудовании, на самом девайсе горит светодиод, но автоматического поиска драйверов не происходит. Решил сперва обновить прошивку на одном из них, а затем ради интереса сравнить оба программатора в работе.

Для этого соединяю шлейфом оба устройства, на ведущем (который вставляю в USB- порт) никакие перемычки не трогаются, а на ведомом программаторе (на котором будем обновлять прошивку) я переставил перемычку с JP2 на JP1: Захожу в программу Khazama AVR Programmer, выбираю из выпадающего списка ATmega. Flash- память через пункт меню «Command» - > «Read FLASH to Buffer», чтобы cохранить китайскую заводскую прошивку у себя. На всякий случай. При этом периодически будет выпадать такая ошибка, закрыв окно, программа продолжит работу. Идёт считывание, которое завершается всплывающим окном об успешном считывании FLASH- памяти в буфер.

Теперь нужно сохранить содержимое буфера: «File» - > «Save FLASH Buffer As..». Выбрать удобное место, куда старая прошивка сохранится, дать имя (я например её назвал firmware. Выбираю прошивку, где в названии написано atmega. Как видно, здесь три прошивки — для Atmega. В нашем случае Atmega 8 — её и выбираю. Прошиваю. Снова возникает ошибка, но после идёт процесс, завершающийся успехом. Поскольку в обычном понимании «запрограммировать» означает выставить 1, то при работе со фьюзами всё ровно наоборот, от чего возникает путаница и в этом случае можно по неосторожности заблокировать контроллер и прошить потом его будет уже нельзя.

Программа Khazama AVR Programmer удобна просмотром фьюз- битов — там наглядно видно и расписано, какие из них установлены, а какие нет. Находятся они по пути «Command» - > «Fuses and Lock Bits..», откроется окно: Где по нажатии кнопки «Read All» считаются фьюз- и лок- биты, а пресловутая ошибка успеет вылезти аж 5 раз подряд. Ошибки сыпятся именно на заводской китайской прошивке. Но если вставить в USB- порт недавно прошитый программатор, прошивкой скаченной по ссылке выше, то этих ошибок вылазить уже не будет, однако баги вылезут в другом месте, но о них позже. Связь с платой Pro Mini (Atmega 1. V/8. MHz)В этом случае выводы программатора соединяются с выводами платы Pro Mini, как проиллюстрировано на схематичном рисунке ниже. Перемычки не переставляются, т.

Стабилизатор AMS1. В кстати вообще выпаян из платы. AVRDUDE PROG 3. 3.

USB bootloader для микроконтроллеров AVR / Geektimes. В статье описывается, как быстро запустить USB bootloader для микроконтроллера ATmega.

Objective Development. Технология USB bootloader дает одну- единственную возможность — отсутствие необходимости в специальном программаторе для замены программного обеспечения (firmware) в приборе — достаточно подключения к компьютеру по USB. Больше нет необходимости таскать с собой программатор, так как компьютер и USB есть везде. Если Ваша макетная плата оснащена bootloader, то можно сэкономить деньги на покупке программатора или время на его изготовлении — это бывает немаловажно для начинающих. Для AVR понаделано очень много bootloader- ов — см. Для статьи я выбрал именно usbasploader .

Это позволяет перепрошивать firmware как под Linux, так и под Windows с использованием популярных программ (см. Кроме того, usbasploader поставляется со всеми исходниками, отлично задокументирован и легко адаптируется под нужды пользователя (об этом далее). Загрузчик usbasploader работает очень просто — при подключении к USB он прикидывается программатором USBasp. Поэтому все программы, его поддерживающие, будут перезаписывать firmware в Вашем устройстве, как будто они используют программатор USBasp. Bootloader расположен в старших адресах flash- памяти программ микроконтроллера, и записывает программу пользователя в младшие адреса (обычно начиная с адреса 0), т. После окончания записи bootloader передает управление программе пользователя.

Теперь подробнее, как это работает с микроконтроллерами ATmega, на примере ATmega. Для ATmega. 32 usbasploader скомпилирован так, чтобы он размещался во flash с адреса 7.

ATmega. 32 составляет 0. FFFh, и адрес команды кратен двум байтам, т.

Для программы пользователя остается свободным пространство 0. FFFh (2. 86. 72 байт). Загрузчик usbasploader использует заложенную в микроконтроллер ATmega. Чтобы при включении питания и сбросе управление всегда передавалось на адрес 0x. BOOTSZ0 и BOOTSZ1 в соответствующее состояние (под bootloader должно отводиться 4. BOOTRST. После этого код при сбросе или включении будет стартовать не с адреса 0, а с адреса 3. AVR, или с адреса 7.

AVR — два байта). Получив управление после сброса, код usbasploader проверяет условие своей активизации, т. Обычно таким сигналом является замыкание какой- нибудь ножки на землю. Для макетной платы в качестве такой ножки я выбрал PB5 микроконтроллера ATmega. Эта ножка является одновременно и сигналом MOSI, выведенным на коннектор, поэтому перемычкой между контактами 4 и 6 коннектора U1 ISP очень удобно подавать на PB5 сигнал лог.

Итак, код usbasploader проверяет уровень на порте PB5, и если там лог. U1 ISP установлена), то начинается работа как программатора USBasp. Если в момент включения питания перемычки нет (при этом на PB5 микроконтроллером читается лог. Вот такой нехитрый алгоритм запуска. В usbasploader есть возможность изменить поведение bootloader, для этого достаточно отредактировать три функции (они очень простые, и находятся в файле bootloaderconfig.

Loader. Init, boot. Loader. Condition, boot. Loader. Exit. Назначение функций практически очевидно по названиям. Функция boot. Loader. Init предназначена для конфигурирования окружения, в котором возможно отслеживание условие активизации bootloader: static inline void boot.

Loader. Init(void) < br>. Функция boot. Loader. Condition предназначена для проверки — есть или нет перемычка между контактами 4 и 6: static inline uint.

Loader. Condition вернет 1 (что означает — bootloader работает). Если перемычки нет, то функция вернет 0, что означает неактивность для bootloader (управление немедленно передается по адресу 0 — в программу пользователя).

Функция boot. Loader. Exit у меня не делает ничего, только гасит красный светодиод макетки: static inline void boot. Loader. Exit(void) < br>. В заключение опишу процесс по шагам на платформе Windows (предполагается, что у Вас уже установлены AVRStudio и среда Win.

AVR. Если нет — читайте инструкции, как их установить, по ссылке . Нужно скачать последнюю версию usbasploader (см. Если у Вас макетная плата AVR- USB- MEGA1.

Распаковываете в любую удобную папку. Отредактируйте установки в Makefile. Там нужно поменять: а) определение F. Домустимы частоты 1.

МГц. б) определение DEVICE под Ваш тип микроконтроллера. BOOTLOADER. Отредактируйте bootloaderconfig.

Там нужно проверить и при необходимости поменять: а) макрос USB. Сигнал D+ обязательно должен быть подключен на ножку прерывания INT0.

Loader. Init, boot. Loader. Exit и макрос boot. Loader. Condition. Перекомпилируйте проект, для этого введите make.

В командной строке увидите что- то наподобие: После успешной компиляции получите в корневой папке проекта файлы main. Кстати, в папке hexfiles уже есть несколько скомпилированных версий прошивок для кристаллов ATmega. ATmega. 88, ATmega. Необходимо с помощью программатора прошить в чип код usbasploader, правильно установить фьюзы. Смысл этой операции — код usbasploader необходимо положить в верхнюю область памяти (по адресу BOOTLOADER.

Подробности по фьюзам см. Для микроконтроллера ATmega.

LOW FUSE BYTE: 0x. CFHIGH FUSE BYTE: 0x.

D8 (можно и 0x. 98, чтобы разрешить JTAG- отладку)LOCKOPT BYTE: 0x. EFМакетную плату AVR- USB- MEGA1. Php Скрипт Партнерской Программы. Необходимо подключить прошитую макетную плату к компьютеру по USB. Если ничего не напутали, то макетка определится в системе как новое устройство и система Windows запросит драйвер. Драйвер можно скачать со странички .

Для Linux драйвер не нужен. Нужна одна из программ, работающих с программатором USBasp (см. Для пользователей Linux подойдет avrdude, а для пользователей Windows выбор очень широк. Я рекомендую Khazama AVR Programmer с очень простым и удобным интерфейсом. Поставьте перемычку между ножками 4 и 6 коннектора U1 ISP.

Подключите макетную плату к компьютеру по USB. На макетке загорится красный светодиод, и в системе Windows обнаружится программатор USBasp. Запустите программу Khazama AVR Programmer.