Avrdude для windows 10 64 bit

AVRDUDE for Windows. Contribute to mariusgreuel/avrdude development by creating an account on GitHub.

AVRDUDE for Windows

Build Status

This is a fork of AVRDUDE from https://github.com/avrdudes/avrdude.

The purpose of this fork is to add better support for Windows to bring it on par with the Linux version of AVRDUDE.

Noteable changes include:

  • Support Atmel AVR programmers out of the box
  • Support Micronucleus bootloader
  • Support Teensy HalfKay bootloader
  • Support COM port discovery via USB VID/PID
  • Support Arduino Leonardo bootloader auto-reset
  • Support WinUSB devices via custom libusb
  • Support FTDI devices via custom libftdi
  • Support HID devices via libhidapi
  • Support Visual Studio
  • Miscellaneous bug-fixes and patches

The original AVRDUDE project homepage can be found here https://github.com/avrdudes/avrdude.

Documentation

Documentation for current and previous releases is on Github Pages.

Download

To get the latest version of AVRDUDE for Windows, go to the releases folder:

https://github.com/mariusgreuel/avrdude/releases

Feature Details

Support Atmel AVR programmers out of the box

This build contains support for Atmel AVR programmers, such as

  • Atmel-ICE (Part Number: ATATMEL-ICE)
  • Atmel AVRISP mkII (Part Number: ATAVRISP2)

This build does not rely on libusb drivers. Instead the default Atmel drivers can be used, allowing you to use AVRDUDE and Atmel Studio 7 side-by-side, without switching drivers.

If you previously changed the driver of your programmer to libusb, you should use Windows Device Manager to uninstall the device, and then reinstall using the default Windows drivers.

Support Micronucleus bootloader

This build adds support for the Micronucleus bootloader, so you do no longer need a separate command-line utility when working with devices that use the Micronucleus bootloader.

The Micronucleus bootloader is typically used on small ATtiny boards, such as Digispark (ATtiny85), Digispark Pro (ATtiny167), and the respective clones.
By default, it uses the USB VID/PID 16D0:0753 (MCS Digistump).

Since this bootloader is optimized for size, it implements writing to flash memory only.
As it does not support reading, you need to use the -V option to prevent AVRDUDE from verifing the flash memory. To have AVRDUDE wait for the device to be connected, use the extended option ‘-x wait’.

Example: Flashing a Micronucleus bootloader device

avrdude -c micronucleus -p t85 -x wait -V -U flash:w:main.hex:i

Support Teensy HalfKay bootloader

This build adds support for the Teensy HalfKay bootloader, so you do no longer need a the Teensy Loader tool when working with Teensy devices.

Since this bootloader is optimized for size, it implements writing to flash memory only.
As it does not support reading, you need to use the -V option to prevent AVRDUDE from verifing the flash memory. To have AVRDUDE wait for the device to be connected, use the extended option ‘-x wait’.

Supported devices are:

  • Teensy 1.0 (AT90USB162)
  • Teensy 2.0 (ATmega32U4)
  • Teensy++ 1.0 (AT90USB646)
  • Teensy++ 2.0 (AT90USB1286)

Example: Flashing a Teensy 2.0 device

avrdude -c teensy -p m32u4 -x wait -V -U flash:w:main.hex:i

Support COM port discovery via USB VID/PID

Most Arduino boards use a USB-based virtual COM port, which is connected to some sort of bootloader. Since COM port numbers (COM1, COM2, …) are determined by Windows, you first need to use Windows device manager to figure out the COM port before you can use AVRDUDE to flash the board. Alternatively, you may use Windows device manager to assign a COM port of your choice to the USB device. Additionally, the COM port of your Arduino board may change over time, for instance if you plug the device in a different USB port.

To simplify the discovery of your Arduino board, I provided the possibility to specify the USB vendor and product ID instead of the COM port.

For instance, to connect to an Arduino Leonardo, use the following command:

avrdude -c avr109 -P usb:2341:0036 -p m32u4

Since the USB vendor and device ID 2341:0036 is the identical for all Leonardo boards, the command above will work regardless of which COM port was actually assigned to your board.

Note that can cannot use this method if you have more than one device of the same type (i.e. that share the same USB VID/PID) plugged into your computer. Also, some devices ship various versions of firmwares using different VID/PID.

To figure out the USB VID and PID, you may use Windows devices manager (see the Hardware IDs of the Details tab of the USB device), or look it up in the official list of Arduino devices:
https://github.com/arduino/ArduinoCore-avr/blob/master/boards.txt

USB VID/PID pairs for some popular boards and the respective commands are:

  • Arduino Uno Rev 3: 2A03:0043 -> avrdude -c arduino -P usb:2A03:0043 -p m328p
  • Arduino Micro: 2341:0037 -> avrdude -c avr109 -P usb:2341:0037 -p m32u4
  • Arduino Leonardo: 2341:0036 -> avrdude -c avr109 -P usb:2341:0036 -p m32u4
  • Sparkfun Pro Micro (5V): 1B4F:9205 -> avrdude -c avr109 -P usb:1B4F:9205 -p m32u4
  • Sparkfun Pro Micro (3.3V): 1B4F:9203 -> avrdude -c avr109 -P usb:1B4F:9203 -p m32u4
  • Adafruit Circuit Playground: 239A:0011 -> avrdude -c avr109 -P usb:239A:0011 -p m32u4

Support Arduino Leonardo bootloader auto-reset

Before any Arduino board may be flashed via the bootloader, you need to kick it into bootloader mode first. This can done manually by pressing the reset button, or automatically via an special auto-reset mechanism: For boards with a USB to serial converter chip (such as Arduino Uno or Nano), the tool needs to pull the DTR signal to low, which will briefly pull the RESET pin of the microcontroller to low. For boards with a direct USB connection (such as Arduino Leonardo or Micro), the sketch typically implements a serial port via a USB composite device with a virtual COM port. To perform the auto-reset, the sketch implements a hack that resets the device into bootloader mode when the COM port is opened with a baudrate of 1200bps. To make matters even more complicated, the bootloader COM port has a different USB VID:PID pair than the sketch COM port, which causes the COM port to change while performing the reset.

To simplify the process of auto-resetting the board, this version will auto-reset the device when AVRDUDE detects that the device is running in sketch mode. Note that the sketch is required to implement a USB composite device with a virtual COM port with a matching USB VID:PID, which is implemented in the Arduino core software.

Support WinUSB devices via custom libusb

Since AVRDUDE originated from Unix, the USB support in AVRDUDE is built upon the Unix-based USB library libusb. In order to support Windows, libusb has been ported to Windows libusb-win32.

The downside of using libusb-win32 is that it requires the user to manually install a kernel-mode driver (libusb0.sys or libusbk.sys) instead of the manufacturer supplied Windows driver. There are several hacks to accomplish this, such as the Zadig driver installation utility, which installs a self-signed root certificate in the Windows driver store due to the lack of proper driver installation packages.

This build contains a custom library called libwinusb, which implements a sub-set of the libusb-win32 API. The libwinusb implementation supports both the winusb.sys driver, and the libusb0.sys driver as well. This patch has a number of advantages, such as

  • Many USB devices that ship with WinUSB drivers, such as Atmel programmer, will run out of the box.
  • Works with both WinUSB and libusb: You can use either Windows built-in WinUSB driver to access your USB devices, or keep using the libusb drivers if you have them installed already.
  • No static dependency to libusb0.dll: You cannot run the original version AVRDUDE, unless you previously installed libusb. On systems where libusb is not installed, this build eliminates the error «The code execution cannot proceed because libusb0.dll was not found. Reinstalling the program may fix this problem».

Microsoft OS descriptors and firmware examples

Windows provides a mechanism to automatically load the built-in WinUSB driver without providing a driver installation package (INF file). The automatic WinUSB driver installation is triggered via a special Microsoft OS descriptor that must be present in the firmware of the USB device.

To demonstrate how this works, I added Microsoft OS descriptors to the following projects:

  • USBasp — USB programmer for Atmel AVR controllers: https://github.com/mariusgreuel/USBasp

  • FabISP a.k.a USBtinyISP — A fab-able in-system programmer: https://github.com/mariusgreuel/FabISP

  • Micronucleus — ATtiny USB bootloader with a strong emphasis on bootloader compactness: https://github.com/mariusgreuel/micronucleus

Support FTDI devices via custom libftdi

In order to support FTDI devices, AVRDUDE uses the Unix-based library libftdi1. Similar to libusb, the libftdi1 library does not play nice on Windows: On Windows, FTDI devices load the manufacturer supplied driver via plug-and-play. The FTDI drivers implement an API via the FTDI D2XX DLLs. However, libftdi1 cannot use the D2XX interface, so it will not work with the plug-and-play drivers.

This build contains a patches library of libftdi. The patches load the D2XX DLLs to support FTDI devices, so FTDI devices will just work.

Support HID devices via libhidapi

This build include the WIN32 version of libhidapi, and some patches, to allow HID devices to work out of the box.

Support Visual Studio

This build adds support for Microsoft Visual Studio. Building AVRDUDE with Microsoft Visual C/C++ will give you the best user and debugging experience while working on Windows.

Miscellaneous bug-fixes and patches

  • This build fixes bug #54159: Buffer overflow in usbtiny.c, which causes AVRDUDE to crash when using the USBtiny programmer.

  • Support new microcontroller: ATtiny167

Releases

You can find the latest releases of AVRDUDE for Windows here:

https://github.com/mariusgreuel/avrdude/releases

Users manual

You can find the original users manual (does not contain AVRDUDE for Windows extras) of AVRDUDE here:

https://www.nongnu.org/avrdude/user-manual/avrdude.html

Build

The build instructions have been moved here:
https://github.com/avrdudes/avrdude/wiki

Building AVRDUDE for Windows using MSVC

Windows Prerequisites

In order to build AVRDUDE on Windows, you need:

  • Flex and Bison installed, for instance via Chocolatey
  • Microsoft Visual Studio 2019 with Desktop development with C++ and CMake enabled

Windows Build Instructions

To build AVRDUDE on Windows, do the following:

  • git clone --branch windows https://github.com/mariusgreuel/avrdude
  • Open the folder avrdude using the menu item File->Open->Folder
  • Build the project using the menu item Build->Build All

Linux udev rules

If you intent to use either the Micronucleus or Teensy bootloader, you should edit the udev rules so that you can run AVRDUDE without root.

For instance, if you are on Ubuntu and you installed the avrdude package, you would edit /lib/udev/rules.d/60-avrdude.rules and add the following rules:

# Micronucleus Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="16d0", ATTR{idProduct}=="0753", TAG+="uaccess"
# Teensy Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="0478", TAG+="uaccess"

Troubleshooting Tips & Tricks

Atmel DFU Device driver broken

The current version of the Atmel DFU drivers that are distributed via the Windows Update are goofed up (@Atmel: It might have something to do with the fact that you commented out the CopyFiles sections!).
Symptoms are:

  • You cannot use AVRDUDE to connect to an Atmel DFU device, and you get the error message «No matching USB device found».
  • When installing the drivers via Windows Update, you get the error message «Windows encountered a problem installing the drivers for your device» and «A service installation section in this INF is invalid.»
  • In Windows Device Manager, the Atmel DFU device shows up as an unknown device.

You should use an older driver package that does not contain this bug.

Outdated libusb0 driver

The most current version of libusb0.sys is 1.2.6.0, signed on 12/17/2012 by Travis Lee Robinson. If you are using an older version (check with Windows Device Manager), you may not be able to connect to your USB devices using the libusb0 driver.

AVRDUDE

Build Status

AVRDUDE — AVR Downloader Uploader — is a program for downloading and uploading
the on-chip memories of Microchip’s AVR microcontrollers.
It can program the Flash and EEPROM, and where supported by the programming
protocol, it can program fuse and lock bits.
AVRDUDE also supplies a direct instruction mode allowing one to issue any
programming instruction to the AVR chip regardless of whether AVRDUDE
implements that specific feature of a particular chip.

AVRDUDE was originally written in 2003 by Brian S. Dean. Since 2006, AVRDUDE has been maintained by Jörg Wunsch,
with the help of various contributors.

The latest version of AVRDUDE is always available here:
https://github.com/avrdudes/avrdude

Documentation

Documentation for current and previous releases is on Github Pages.

Getting AVRDUDE for Windows

To get AVRDUDE for Windows, install the latest version from the Releases page.

Alternatively, you may build AVRDUDE yourself from source.

Getting AVRDUDE for Linux

To install AVRDUDE for Linux, install the package avrdude by running the following commands:

sudo apt-get install avrdude

Alternatively, you may build AVRDUDE yourself from source.

Getting AVRDUDE for MacOS

On MacOS, AVRDUDE can be installed through Mac Ports.

Alternatively, you may build AVRDUDE yourself from source.

Using AVRDUDE

AVRDUDE is a command-line application. Run the command avrdude without any arguments for a list of options.

A typical command to program your HEX file into your AVR microcontroller looks like this:

avrdude -c <programmer> -p <part> -U flash:w:<file>:i

For instance, to program an Arduino Uno connected to the serial port COM1 with a HEX file called blink.hex,
you would run the following command:

avrdude -c arduino -P COM1 -b 115200 -p atmega328p -D -U flash:w:objs/blink.hex:i

There are many different programmers and options that may be required for the programming to succeed.

For more information, refer to the AVRDUDE documentation.

По умолчанию поддерживаемые МК (список МК постоянно расширяется, см. форум):

AT90CAN128, AT90CAN32, AT90CAN64, ATmega128, ATmega1280, ATmega1281, ATmega1284p, ATmega128RFA1, ATmega16, ATmega162, ATmega164p, ATmega168, ATmega169, ATmega2560, ATmega2561, ATmega32, ATmega324p, ATmega325, ATmega3250, ATmega328p, ATmega329, ATmega3290, ATmega329p, ATmega3290p, ATmega32U4, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega88, ATtiny13, ATtiny2313, ATtiny261.

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

USBasp, USBtiny, AVR ISP mkII,SI-Prog, AVR910, AVR910, STK200, STK500, STK500 2.X, JTAG ICE mkII, JTAG ICE mkII ISP, JTAG ICE mkII PDI.

Основные отличия от аналогичных программ :

1. Возможность самостоятельного добавления программаторов, настройки скорости программирования и т.п;
2. Возможность самостоятельного добавления МК;
3. Редактирования и настройка отображения Fuses битов;
4. Выбор инверсных или прямых Fuses битов;
5. Окна вывода значений Fuses битов в HEX формате;
6. Сохранение настроек программирования при закрытии программы, т.е. при последующем открытии все настройки восстановятся;
7. «дублирование кнопки» — данная функция выводит на экран кнопку «Программировать», которая является полным функциональным аналогом кнопки «Программировать всё» и всегда будет находиться по верх всех окон. Кнопку можно переместить в удобную для вас зону монитора, свернув AVRDUDE_PROG. Удобна при многочисленном перепрограммировании МК.

Установка.

Разархивируйте файл usbprog.rar в любую удобную папку. Поместите ярлык программы «AVRDUDE_PROG» на рабочий стол. Установка завершена. Можно работать.

Возможности программы.

Настройки оболочки «AVRDUDE_PROG» реализованы в «ini» файлах. Что такое «ini» файлы можно посмотреть тут.
Теперь возможно самостоятельно добавлять и редактировать список микроконтроллеров, программаторов, портов, Fuses бит, добавить различные языки и пр.
Список контроллеров и состояний Fuses бит, редактируется в файле «atmel.ini», список программаторов и портов в файле «programm.ini», список поддерживаемых языков в файле «language.ini».

В файле «atmel.ini», все значения введены по умолчанию в соответствии с datasheet на МК, можете изменить по Вашему усмотрению. Никаких инверсий не требуется, значение по умолчанию вводиться в соответствии с datasheet на МК. В том случае, если МК нет в списке, или при выборе МК во вкладке Fuses везде «error», то Вам необходимо самостоятельно ввести значения в файл «atmel.ini» в соответствии с datasheet и приведённым ниже примером. Либо посмотреть на форуме. Файл «atmel.ini» находится в корневой папке программы.

В файле «programm.ini», введены значения программаторов для командной строки avrdude. В том случае, если используемый Вами программатор отсутствует в списке, либо необходимо изменить какие-либо параметры установленные по умолчанию, то необходимо ввести/редактировать его значения самостоятельно в соответствии с приведённым ниже примером. Либо посмотреть на форуме. Файл «programm.ini» находится в корневой папке программы.

В файле «language.ini», возможно отредактировать на «свой вкус» текстовую информацию оболочки, либо добавить язык программы AVRDUDE_PROG. Тут расписывать ничего не буду, думаю в файле «language.ini» всё понятно.

Добавление/редактирование списка МК. Работа с файлом «atmel.ini».

Окройте в любом текстовом редакторе (рекомендую Notepad++) файл «atmel.ini». Посмотрите как реализован ввод параметров МК, фузе битов и пр. Ниже привожу пример и описание парметров.

Пример на мк AT90CAN128

Заголовок раздела
[AT90CAN128] — имя МК которое появиться в выпадающем списке, «[» и «]» обязательны. В данном случае «AT90CAN128».

Параметр для типа МК
mcuavrdude=c128 // тип мк в avrdude

Значение и описание параметров раздела для Fuse битов

Lock байт
lockbytebit*enabled=0 // «*» — номер бита в Lock байте, «**enabled=0» — невозможно изменение состояния бита, «**enabled=1» — возможно изменение состояния бита. В данном случае изменение бита невозможно. Изменение бита будет недоступно.
lockbytebit*name=NOT USED // «*» — номер бита в Lock байте, «**name = NOT USED» — бит не используется. Если бит используется, вводиться его имя в соответствии с datasheet.
lockbytebit*def=1 // «*» — номер бита в Lock байте, «**def=» — если имя бит бита = «NOT USED», то значение вводится в соответствии с datasheet. В данном случае «1».

High байт
highbytebit*enabled=1 // «*» — номер бита в High байте, «**enabled=0» — невозможно изменение состояния бита, «**enabled=1» — возможно изменение состояния бита. В данном случае изменение бита возможно. Изменение бита будет доступно.
highbytebit*name=OCDEN // «*» — номер бита в High байте, «**name = OCDEN» — имя бита в соответствии с datasheet.
highbytebit*def=1 // «*» — номер бита в High байте, «**def=1» — значение бита по умолчанию, вводиться в соответствии с datasheet. В данном случае значение по умолчанию «1».

Low байт
lowbytebit*enabled=1 // «*» — номер бита в Low байте, «**enabled=0» — невозможно изменение состояния бита, «**enabled=1» — возможно изменение состояния бита. В данном случае изменение бита возможно. Изменение бита будет доступно.
lowbytebit*name=CKDIV8 // «*» — номер бита в Low байте, «**name = CKDIV8» — имя бита в соответствии с datasheet.
lowbytebit*def=0 //»*» — номер бита в Low байте, «**def=0» — значение бита по умолчанию, вводиться в соответствии с datasheet. В данном случае значение по умолчанию «0».

Extended/Fuse/Fuse байт
extendedbytebit*enabled=0 // «*» — номер бита в Extended/Fuse/Fuse байте, «enabled=0» — невозможно изменение состояния бита, «enabled=1» — возможно изменение состояния бита. В данном случае изменение бита невозможно. Изменение бита будет недоступно.
extendedbytebit*name=NOT USED //»*» — номер бита в Extended/Fuse/Fuse байте, «name = NOT USED» — бит не используется. Если бит используется, вводиться его имя в соответствии с datasheet.
extendedbytebit*def=1 // «*» — номер бита в Lock байте, «**def=» — если имя бит бита = «NOT USED», то значение вводится в соответствии с datasheet. В данном случае «1».

Добавление/редактирование списка программаторов. Работа с файлом «programm.ini».

Откройте в любом текстовом редакторе (рекомендую Notepad++) файл «programm.ini». Посмотрите как реализован ввод параметров программаторов. Ниже привожу пример и описание парметров.

Описание переменных файла.

[Name programmator] – имя программатора а выпадающем списке
progisp – программатор для командной строки avrdude
portprog – порт программатора для командной строки avrdude (Usb, com, lpt и пр.)
portenabled – окно изменение порта «1»-доступно, «0» — недоступно

Программатор AVR STK200 с поддержкой LPT.

Для добавления программатора AVR STK200 с поддержкой LPT в файл «programm.ini» можно добавить следующее:

[STK200LPT]
progisp=stk200
portprog=lpt1
portenabled=0

Сохраните файл «programm.ini»

В выпадающем списке «Настройки» -> «Программатор» появиться программатор « STK200LPT » с работой от lpt1 порта.
Всё работает аналогично для других параметров и программаторов, поддерживаемых avrdude.

AVRDUDE_PROG 3.3 (22.01.2021)

ВНИМАНИЕ!!! Обновлена версия avrdude 6.3 (22.01.2021)

Драйвера USBAsp

Основные отличия от предыдущей версии:
— добавлено куча контроллеров, исправлены ошибки файлов «atmel.ini»,»avrdude.conf» — огромное спасибо модератору форума dmibr за проделанную работу!
— исправлены мелкие ошибки.
Если у Вас установлена программа версии 3.1 и выше, то достаточно заменить файл — «AVRDUDEPROG.exe»,»avrdude.exe»,»avrdude.conf»,»atmel.ini» . В этом случае все ранее сохранённые настройки в файлах «ini» не изменяться.

Размер файла: 690КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/7/10
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.3 (22.01.2021)

AVRDUDE_PROG 3.2

ВНИМАНИЕ!!! Актуально для версии 3.2 — ссылка на форум

Основные отличия от предыдущей версии:
— исправлено зависание программы в некоторых случая;
— исправлена ширина выпадающего списка программаторов;
— в диалоговом окне программы состояние avrdude выводиться в режиме онлайн, а не в конце программирования;
— исправлены мелкие ошибки.
Если у Вас установлена программа версии 3.1, то достаточно заменить только «exe» файл. В этом случае все ранее сохранённые настройки в файлах «ini» не изменяться.

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.2 (03.08.2013)

download_manager Скачать.

AVRDUDE_PROG 3.1

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.1 (18.10.2012)

download_manager Скачать.

AVRDUDE_PROG 3.0

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский
Разработчик: yourdevice
Версия: 3.0

download_manager Скачать.

Project description

avrdude_windows

This package installs the avrdude (x32 and x64-only) binaries for Windows via pypi/pip. There is a single python function in this library which allows you to get the path of the avrdude executable:

from avrdude_windows import get_avrdude_path

print(get_avrdude_path())

The MIT license in this repository only applies to the single python function mentioned above — avrdude is licensed separately. Source code and binary releases for avrdude can be found in the project repository.

If you are using Mac, you should use Homebrew instead:

brew install avrdude

Or on Linux, you should use the package manager of your distribution, for example:

sudo apt install avrdude

Download files

Download the file for your platform. If you’re not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

Описание

AVRDUDE Prog — это удобная программа с русскоязычным интерфейсом, которая позволяет программировать микроконтроллеры различных типов. Софт является переработанной версией другой утилиты — Usbasp. AVRDUDE Prog совместима с множеством популярных программаторов и выполняет прошивку контроллеров ATmega и ATtiny различных типов. А если загрузить программу на флешку, вы сможете носить мощный инструмент для прошивки микроконтроллеров в своем кармане.

Главное преимущество программы в том, что, если вы не нашли нужный микроконтроллер в меню AVRDUDE Prog, вы можете добавить его самостоятельно. Кроме того, вы можете вручную добавить программатор, настроить скорость программирования и другие параметры. Софт позволяет выбирать инверсные и прямые Fuses биты, настраивать их и редактировать отображение. Значения битов выводятся в HEX формате. А после закрытия окна программы все настройки сохранятся, что избавит пользователя от повторного ввода значений.

Интерфейс программы достаточно прост. Пользователи, знакомые с прошивкой микроконтроллеров, смогут быстро освоить данный софт. Графическая оболочка AVRDUDE Prog примитивна, а элементы управления переведены на русский язык. Дополнительным преимуществом утилиты является то, что она работает в портативном режиме.

Функции и особенности программы AVRDUDE Prog 3.3:

  • Прошивка МК ATmega и ATtiny
  • Настройка и выбор Fuses битов
  • Самостоятельное добавление контроллеров и программаторов
  • Интерфейс на русском языке
  • Совместимость с 32 и 64 битными системами Windows XP, Vista, 7, 8 и 10

Скриншоты

Скриншот №1 к программе AVRDUDE_PROGСкриншот №2 к программе AVRDUDE_PROGСкриншот №3 к программе AVRDUDE_PROG

Скачать AVRDUDE_PROG

Для полного комплекта мы рекомендуем вам также скачать TortoiseSVN (клиент используемый для изменения и контроля версий Subversion).

Содержание

  1. Программируем МК AVR. Бесплатная программа AVRDUDE_PROG
  2. Возможности программы
  3. Поддерживаемые МК
  4. Поддерживаемые программаторы
  5. Основные отличия
  6. Установка
  7. AVRDUDE Windows
  8. Список поддерживаемых программаторов
  9. Список поддерживаемых микроконтроллеров Atmel серии AVR
  10. Установка AVRDUDE для Windows
  11. Как использовать AVRDUDE под Windows
  12. Пример 1 (Прошиваем Flash)
  13. Пример 2 (программируем Фьюзы)
  14. Пример 3 (программируем EEPROM)
  15. Пример 4 (читаем Flash и пишем в файл dump.hex)
  16. Пример 5 (читаем eeprom и пишем в файл eepromdump.hex)
  17. Пример 6 (выполняем сравнение (верификацию) Flash памяти с указанным hex файлом)
  18. Практика использования AVRDUDE под Windows
  19. Avrdude prog windows 10 x64
  20. Documentation
  21. History
  22. Main features
  23. How to get help or report bugs
  24. Avrdude prog windows 10 x64

Программируем МК AVR. Бесплатная программа AVRDUDE_PROG

avrdude programmПрограмма AVRDUDE_PROG — GUI avrdude, является обновлённой версией USBASP_AVRDUDE_PROG.

Предназначена для программирования МК AVR. Совместима с Windows2000, Windows ХР, Windows Vista, Windows7(Seven). Добавлены распространённые программаторы и дополнительный функционал. Интуитивно понятный интерфейс. Возможность выбора инверсных (PonyProg) и прямых (UniProf) Fuses битов, самостоятельное добавление контроллеров и программаторов поддерживаемых AVRDUDE.

Возможности программы

Настройки оболочки «AVRDUDE_PROG» реализованы в «ini» файлах.
Теперь возможно самостоятельно добавлять и редактировать список микроконтроллеров, программаторов, портов, Fuses бит, добавить различные языки и пр.
Список контроллеров и состояний Fuses бит, редактируется в файле «atmel.ini», список программаторов и портов в файле «programm.ini», список поддерживаемых языков в файле «language.ini».

В файле «atmel.ini», все значения введены по умолчанию в соответствии с datasheet на МК, можете изменить по Вашему усмотрению. Никаких инверсий не требуется, значение по умолчанию вводиться в соответствии с datasheet на МК. В том случае, если МК нет в списке, или при выборе МК во вкладке Fuses везде «error», то Вам необходимо самостоятельно ввести значения в файл «atmel.ini» в соответствии с datasheet и приведённым ниже примером. Файл «atmel.ini» находится в корневой папке программы.

В файле «programm.ini», введены значения программаторов для командной строки avrdude. В том случае, если используемый Вами программатор отсутствует в списке, либо необходимо изменить какие-либо параметры установленные по умолчанию, то необходимо ввести/редактировать его значения самостоятельно в соответствии с приведённым примером. Файл «programm.ini» находится в корневой папке программы.

В файле «language.ini», возможно отредактировать на «свой вкус» текстовую информацию оболочки, либо добавить язык программы AVRDUDE_PROG. Тут расписывать ничего не буду, думаю в файле «language.ini» всё понятно.

avrdude programm

Поддерживаемые МК

По умолчанию поддерживаемые МК (список МК постоянно расширяется):

AT90CAN128, AT90CAN32, AT90CAN64, ATmega128, ATmega1280, ATmega1281, ATmega1284p, ATmega128RFA1, ATmega16, ATmega162, ATmega164p, ATmega168, ATmega169, ATmega2560, ATmega2561, ATmega32, ATmega324p, ATmega325, ATmega3250, ATmega328p, ATmega329, ATmega3290, ATmega329p, ATmega3290p, ATmega32U4, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega88, ATtiny13, ATtiny2313, ATtiny261.

Поддерживаемые программаторы

USBasp, USBtiny, AVR ISP mkII,SI-Prog, AVR910, AVR910, STK200, STK500, STK500 2.X, JTAG ICE mkII, JTAG ICE mkII ISP, JTAG ICE mkII PDI.

Основные отличия

Основные отличия от аналогичных программ :

1. Возможность самостоятельного добавления программаторов, настройки скорости программирования и т.п;
2. Возможность самостоятельного добавления МК;
3. Редактирования и настройка отображения Fuses битов;
4. Выбор инверсных или прямых Fuses битов;
5. Окна вывода значений Fuses битов в HEX формате;
6. Сохранение настроек программирования при закрытии программы, т.е. при последующем открытии все настройки восстановятся;
7. «дублирование кнопки» — данная функция выводит на экран кнопку «Программировать», которая является полным функциональным аналогом кнопки «Программировать всё» и всегда будет находиться по верх всех окон. Кнопку можно переместить в удобную для вас зону монитора, свернув AVRDUDE_PROG. Удобна при многочисленном перепрограммировании МК.

avrdude fuses

Установка

Разархивируйте файл usbprog.rar в любую удобную папку. Поместите ярлык программы «AVRDUDE_PROG» на рабочий стол. Установка завершена. Можно работать.

Тип разработки: собственная инициатива.
Техническое задание: самостоятельно + интернет.
Реализовано: Borlad Delphi 7.
Состояние: реализовано.

avrdude autoprogramm

Статус программы: бесплатная

ОС: Windows NT/2000/XP/VISTA/WINDOWS 7

Интерфейс: русский, english

Источник

AVRDUDE Windows

Большинство «оконного» ПО, которое я опробовал, было убогим. Кажущаяся простота графического интерфейса не позволяла в полной мере работать с микроконтроллером. Кроме того, для каждого программатора (железяки), требовалась своя программа-программатор. Часто случалось, что ПО программатора не поддерживает нужный мне микроконтроллер. Все это породило массу неудобств. Эти проблемы ушли после перехода на AVRDUDE. AVRDUDE поддерживает огромное количество программаторов, работающих по параллельному порту (LPT), последовательному порту, USB-программаторы. Теперь у меня один AVRDUDE на все 3 вида используемых программаторов (см. Программаторы микроконтроллеров AVR).

Список поддерживаемых программаторов

Список поддерживаемых микроконтроллеров Atmel серии AVR

Установка AVRDUDE для Windows

На официальном сайте программы http://www.nongnu.org/avrdude/ в разделе для скачивания файлов http://download.savannah.gnu.org/releases/avrdude/ можно скачать все нужные файлы, в том числе и исходный код.

Как использовать AVRDUDE под Windows

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

Пример 1 (Прошиваем Flash)

Сразу же возникает вопрос: «Где найти обозначения микроконтроллеров и программаторов?»

Ответ: в файле документации с подробным описанием параметров командой строки: C:/avrdude/avrdude-html/avrdude_4.html

Если такой отсутствует, можно заглянуть в файл конфигурации avrdude.conf

Пример 2 (программируем Фьюзы)

Для удобства можете воспользоваться калькуляторами Фьюзов:

Пример 3 (программируем EEPROM)

Пример 4 (читаем Flash и пишем в файл dump.hex)

Отличие от первого примера, отсутствует «-e» (стирать чип нам не надо), команда :w: (write, писать) заменена на :r: (read, читать), добавлено :i (формат файла Intel Hex)

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

Поддерживаемые форматы файлов:

Пример 5 (читаем eeprom и пишем в файл eepromdump.hex)

Пример 6 (выполняем сравнение (верификацию) Flash памяти с указанным hex файлом)

В последнем параметре :v: (verify, проверить).

Если нам надо одним движением прошивать флеш память и прошить фьюзы, разумно сделать пакетный файл с примерно следующими командами:

Практика использования AVRDUDE под Windows

На практике я поступаю так: в папке, где компилируется .hex файл прошивки создаю файл upload.bat со следующим содержимым:

В случае если потребуется изменить программатор, контроллер или путь к AVRDUDE, не потребуется исправлять во всех командах. Достаточно изменить переменные, объявленные в начале файла.

В статье Программаторы микроконтроллеров AVR я описал программатор AVR ISP Prorgammer (работащий через параллельный порт LPT), совместимый с AVR910 и USBasp программатор. Для этих программаторов в AVRDUDE используются следующие идентификаторы:

Источник

Avrdude prog windows 10 x64

Тип разработки: собственная инициатива.
Техническое задание: самостоятельно + интернет.
Реализовано: Borlad Delphi 7.
Состояние: реализовано.

По умолчанию поддерживаемые МК (список МК постоянно расширяется, см. форум):

AT90CAN128, AT90CAN32, AT90CAN64, ATmega128, ATmega1280, ATmega1281, ATmega1284p, ATmega128RFA1, ATmega16, ATmega162, ATmega164p, ATmega168, ATmega169, ATmega2560, ATmega2561, ATmega32, ATmega324p, ATmega325, ATmega3250, ATmega328p, ATmega329, ATmega3290, ATmega329p, ATmega3290p, ATmega32U4, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega88, ATtiny13, ATtiny2313, ATtiny261.

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

USBasp, USBtiny, AVR ISP mkII,SI-Prog, AVR910, AVR910, STK200, STK500, STK500 2.X, JTAG ICE mkII, JTAG ICE mkII ISP, JTAG ICE mkII PDI.

Основные отличия от аналогичных программ :

Разархивируйте файл usbprog.rar в любую удобную папку. Поместите ярлык программы «AVRDUDE_PROG» на рабочий стол. Установка завершена. Можно работать.

Возможности программы.

Настройки оболочки «AVRDUDE_PROG» реализованы в «ini» файлах. Что такое «ini» файлы можно посмотреть тут.
Теперь возможно самостоятельно добавлять и редактировать список микроконтроллеров, программаторов, портов, Fuses бит, добавить различные языки и пр.
Список контроллеров и состояний Fuses бит, редактируется в файле «atmel.ini», список программаторов и портов в файле «programm.ini», список поддерживаемых языков в файле «language.ini».

В файле «atmel.ini», все значения введены по умолчанию в соответствии с datasheet на МК, можете изменить по Вашему усмотрению. Никаких инверсий не требуется, значение по умолчанию вводиться в соответствии с datasheet на МК. В том случае, если МК нет в списке, или при выборе МК во вкладке Fuses везде «error», то Вам необходимо самостоятельно ввести значения в файл «atmel.ini» в соответствии с datasheet и приведённым ниже примером. Либо посмотреть на форуме. Файл «atmel.ini» находится в корневой папке программы.

В файле «programm.ini», введены значения программаторов для командной строки avrdude. В том случае, если используемый Вами программатор отсутствует в списке, либо необходимо изменить какие-либо параметры установленные по умолчанию, то необходимо ввести/редактировать его значения самостоятельно в соответствии с приведённым ниже примером. Либо посмотреть на форуме. Файл «programm.ini» находится в корневой папке программы.

В файле «language.ini», возможно отредактировать на «свой вкус» текстовую информацию оболочки, либо добавить язык программы AVRDUDE_PROG. Тут расписывать ничего не буду, думаю в файле «language.ini» всё понятно.

Добавление/редактирование списка МК. Работа с файлом «atmel.ini».

Окройте в любом текстовом редакторе (рекомендую Notepad++) файл «atmel.ini». Посмотрите как реализован ввод параметров МК, фузе битов и пр. Ниже привожу пример и описание парметров.

Пример на мк AT90CAN128

Параметр для типа МК
mcuavrdude=c128 // тип мк в avrdude

Значение и описание параметров раздела для Fuse битов

Добавление/редактирование списка программаторов. Работа с файлом «programm.ini».

Откройте в любом текстовом редакторе (рекомендую Notepad++) файл «programm.ini». Посмотрите как реализован ввод параметров программаторов. Ниже привожу пример и описание парметров.

Описание переменных файла.

Программатор AVR STK200 с поддержкой LPT.

Для добавления программатора AVR STK200 с поддержкой LPT в файл «programm.ini» можно добавить следующее:

Сохраните файл «programm.ini»

AVRDUDE_PROG 3.3 (24.02.2014)

ВНИМАНИЕ. Обновлена версия avrdude 6.3 (22.01.2022)

Размер файла: 690КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.3 (22.01.2022)

AVRDUDE_PROG 3.2

Основные отличия от предыдущей версии:
— исправлено зависание программы в некоторых случая;
— исправлена ширина выпадающего списка программаторов;
— в диалоговом окне программы состояние avrdude выводиться в режиме онлайн, а не в конце программирования;
— исправлены мелкие ошибки.
Если у Вас установлена программа версии 3.1, то достаточно заменить только «exe» файл. В этом случае все ранее сохранённые настройки в файлах «ini» не изменяться.

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.2 (03.08.2013)

AVRDUDE_PROG 3.1

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.1 (18.10.2012)

AVRDUDE_PROG 3.0

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский
Разработчик: yourdevice
Версия: 3.0

Источник

AVRDUDE is a utility to download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers using the in-system programming technique (ISP).

Documentation

Documentation can be downloaded from the download area, or read online here.

History

AVRDUDE has once been started by Brian S. Dean as a private project of an in-system programmer for the Atmel AVR microcontroller series, as part of the Opensource and free software tools collection available for these controllers. Originally, the software was written for the FreeBSD operating system, maintained in a private CVS repository, and distributed under the name avrprog.

Due to the growing interest in porting the software to other operating systems, Brian decided to make the project publically accessible on savannah.nongnu.org. The name change to AVRDUDE has been chosen to resolve the ambiguity with the avrprog utility as distributed by Atmel together with their AVRstudio software.

Main features

The major features of AVRDUDE include:

How to get help or report bugs

To get support for AVRDUDE, or get in contact with other users of this tool, see the avr-chat mailing list.

People who want to contribute in some way to the project can subscribe to the avrdude-dev mailing list, and get in contact with the developer team there.

If you are certain you found a bug in AVRDUDE, you can open a bug report.

There is not much developers’ documentation for AVRDUDE so far. There is a Developers’ Corner with some random articles. Some more information is available at Brian’s private site.

Источник

Avrdude prog windows 10 x64

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

По умолчанию поддерживаемые МК (список МК постоянно расширяется, см. форум):

AT90CAN128, AT90CAN32, AT90CAN64, ATmega128, ATmega1280, ATmega1281, ATmega1284p, ATmega128RFA1, ATmega16, ATmega162, ATmega164p, ATmega168, ATmega169, ATmega2560, ATmega2561, ATmega32, ATmega324p, ATmega325, ATmega3250, ATmega328p, ATmega329, ATmega3290, ATmega329p, ATmega3290p, ATmega32U4, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega88, ATtiny13, ATtiny2313, ATtiny261.

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

USBasp, USBtiny, AVR ISP mkII,SI-Prog, AVR910, AVR910, STK200, STK500, STK500 2.X, JTAG ICE mkII, JTAG ICE mkII ISP, JTAG ICE mkII PDI.

Разархивируйте файл usbprog.rar в любую удобную папку. Поместите ярлык программы «AVRDUDE_PROG» на рабочий стол. Установка завершена. Можно работать.

Настройки оболочки «AVRDUDE_PROG» реализованы в «ini» файлах. Что такое «ini» файлы можно посмотреть тут.
Теперь возможно самостоятельно добавлять и редактировать список микроконтроллеров, программаторов, портов, Fuses бит, добавить различные языки и пр.
Список контроллеров и состояний Fuses бит, редактируется в файле «atmel.ini», список программаторов и портов в файле «programm.ini», список поддерживаемых языков в файле «language.ini».

В файле «atmel.ini», все значения введены по умолчанию в соответствии с datasheet на МК, можете изменить по Вашему усмотрению. Никаких инверсий не требуется, значение по умолчанию вводиться в соответствии с datasheet на МК. В том случае, если МК нет в списке, или при выборе МК во вкладке Fuses везде «error», то Вам необходимо самостоятельно ввести значения в файл «atmel.ini» в соответствии с datasheet и приведённым ниже примером. Либо посмотреть на форуме. Файл «atmel.ini» находится в корневой папке программы.

В файле «programm.ini», введены значения программаторов для командной строки avrdude. В том случае, если используемый Вами программатор отсутствует в списке, либо необходимо изменить какие-либо параметры установленные по умолчанию, то необходимо ввести/редактировать его значения самостоятельно в соответствии с приведённым ниже примером. Либо посмотреть на форуме. Файл «programm.ini» находится в корневой папке программы.

В файле «language.ini», возможно отредактировать на «свой вкус» текстовую информацию оболочки, либо добавить язык программы AVRDUDE_PROG. Тут расписывать ничего не буду, думаю в файле «language.ini» всё понятно.

Добавление/редактирование списка МК. Работа с файлом «atmel.ini».

Окройте в любом текстовом редакторе (рекомендую Notepad++) файл «atmel.ini». Посмотрите как реализован ввод параметров МК, фузе битов и пр. Ниже привожу пример и описание парметров.

Пример на мк AT90CAN128

Параметр для типа МК
mcuavrdude=c128 // тип мк в avrdude

Значение и описание параметров раздела для Fuse битов
Lock байт

Добавление/редактирование списка программаторов. Работа с файлом «programm.ini».

Окройте в любом текстовом редакторе (рекомендую Notepad++) файл «programm.ini». Посмотрите как реализован ввод параметров программаторов. Ниже привожу пример и описание парметров.

Описание переменных файла.

Программатор AVR STK200 с поддержкой LPT.

Для добавления программатора AVR STK200 с поддержкой LPT в файл «programm.ini» можно добавить следующее:

Сохраните файл «programm.ini»

AVRDUDE_PROG 3.3 (24.02.2014)

Размер файла: 690КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.3 (24.02.2014)

AVRDUDE_PROG 3.2

Основные отличия от предыдущей версии:
— исправлено зависание программы в некоторых случая;
— исправлена ширина выпадающего списка программаторов;
— в диалоговом окне программы состояние avrdude выводиться в режиме онлайн, а не в конце программирования;
— исправлены мелкие ошибки.
Если у Вас установлена программа версии 3.1, то достаточно заменить только «exe» файл. В этом случае все ранее сохранённые настройки в файлах «ini» не изменяться.

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.2 (03.08.2013)

AVRDUDE_PROG 3.1

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский, english
Разработчик: yourdevice
Версия: 3.1 (18.10.2012)

AVRDUDE_PROG 3.0

Размер файла: 558КБ
Статус программы: бесплатная
ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Интерфейс: русский
Разработчик: yourdevice
Версия: 3.0

Источник

Популярнейшая программа AVRDUDE_PROG 3.3 предназначена для программирования микроконтроллеров AVR ATmega и ATtiny:
1. Возможность самостоятельного добавления программаторов, настройки скорости программирования и т.п;
2. Возможность самостоятельного добавления МК;
3. Редактирование и настройка отображения Fuses битов;
4. Выбор инверсных или прямых Fuses битов;
5. Окна вывода значений Fuses битов в HEX формате;
6. Сохранение настроек программирования при закрытии программы, т.е. при последующем открытии все настройки восстановятся.

programma-avrdude_prog-3-3


В прошлой статье я рассказал о простом (но очень хорошем) программаторе для прошивки микроконтроллеров AVR ATmega и ATtiny — USBASP AVR программатор. В той же статье я указал какие программы поддерживают данный программатор. Наиболее лучшей из них, на мой взгляд, является программа AVRDUDE_PROG автором которой является Сергей Боднар. О ней мы сегодня и поговорим.
Последняя версия программы AVRDUDE_PROG — 3.3, из программы всегда можно попасть на сайт разработчика и скачать новые версии.
Программа очень проста в использовании, имеет приятный интуитивно понятный интерфейс на русском языке, поддерживает очень много различных программаторов и практически все микроконтроллеры ATmega и ATtiny. Немаловажно и то, что в программу можно самому вносить изменения — добавлять программаторы, микроконтроллеры, изменять некоторые настройки (все подробно расписано на сайте разработчика).
Программа не требует установки на компьютер, необходимо только разархивировать скачанный файл и можно сразу приступать к работе, поддерживаются все разновидности Windows — от ХР до 10.

Окно запущенной программы AVRDUDE_PROG:

vneshniy-vid-okna-avrdude_prog-3-3

Что есть что:
1:
— окно выбора типа микроконтроллера
— кнопка «Стереть все» — очищает все внутренности микроконтроллера

okno-vyibora-mikrokontrollera
2:
— чтение калибровочных ячеек микроконтроллера

chtenie-kalibrovochnyih-yacheek
В данном примере показаны четыре калибровочные ячейки микроконтроллера ATmega8 для внутреннего RC генератора:
ВВ — для частоты 1 МГц (частота по умолчанию)
BD — для частоты 2 МГц
В2 — для частоты 4 МГц
В2 — для частоты 8 МГц
При тактировании микроконтроллера ATmega8 частотой 1 МГц от внутреннего RC генератора (по умолчанию) содержимое первой калибровочной ячейки автоматически учитывается микроконтроллером для подстройки внутреннего генератора. При других частотах — содержимое соответствующей калибровочной ячейки необходимо вручную вводить в регистр микроконтроллера для получения более стабильной частоты (если такое нужно). К примеру, в конструкции «Трехканальный термостат, термоморегулятор, таймер…», которая работает с тактовой частотой 8 МГц от встроенного генератора с внутренней RC цепочкой, требуется перед прошивкой ЕЕPROM памяти записать в определенную ячейку HEX файла значение калибровочной ячейки для частоты 8 МГц.
3:
— выбор HEX файла для прошивки Flash памяти микроконтроллера, сверка записанного файла с оригиналом, чтение данных из памяти
4:
— выбор HEX или EEP файла для прошивки EEPROM памяти микроконтроллера, сверка и чтение
5:
— выбор программатора (по умолчанию — USBASP)

vyibor-programmatoraЕсли вы будете пользоваться программой скачанной с сайта разработчика то там, по умолчанию (первым в списке), будет идти «USBASP», у меня на картинке 4 разновидности USBASP программатора:
— Usbasp_1M
— Usbasp_4M
— Usbasp_8M
— Usbasp-32кГц
Дело в том, что программатор USBASP позволяет записывать файлы прошивки с двумя скоростями:
— для МК с тактовой частотой 1,5 МГц и выше (без перемычки на J3) — скорость записи 375 кГц
— для МК с тактовой частотой менее 1,5 МГц (с перемычкой на J3) — скорость записи 5 кГц
Для нормальной записи прошивки в МК требуется скорость в 4 раза меньше, чем установленная тактовая частота.
Для прошивки нового МК, у которого по умолчанию тактовая частота 1 МГц, необходимо устанавливать в программаторе перемычку на разъем J3, а сама скорость — 5 кГц, в некоторых случаях начинает нервировать.
Для того, чтобы не портить нервы, не дергаться с перемычкой, я программно установил 4 варианта скорости записи, которые выбираются в зависимости от текущей тактовой частоты МК:
— Usbasp_1M — скорость 187,5 кгЦ, для частот 1-4 МГц
— Usbasp_4M — скорость 375 кГц, для частот 4-8 МГц
— Usbasp_8M — скорость 750 кГц, для частот 8 и более МГц
— Usbasp-32кГц — скорость 4 кГц, для часового кварца
Все эти установки прописаны в самом начале файла «programm.ini» где скорость записи зависит от ключа «-В» и числа после него:

fayl-rogramm

znacheniya-klyucha-v-dlya-skorosti-programmirovaniya

6:
— выбор отображения FUSE битов — прямой (как в UniProf и даташитах) и инверсный (как в PonyProg)
7:
— окно вывода служебной информации о выполняемых и выполненных операциях


Внешний вид окна «FUSES» программы AVRDUDE_PROG:

okno-ustanovki-fuse

Тут все просто — расставляем в нужном виде галочки или убираем их и программируем FUSE биты. Если что-то намудрили — нажатие кнопки «По умолчанию» приведет установки FUSE битов в значения «по умолчанию» (сами FUSE биты в МК не изменятся!). Очень внимательно устанавливайте FUSE биты — ошибка может привести к отказу микроконтроллера.

Хочу обратить ваше внимание на самую распространенную ошибку при установки FUSE битов. В большинстве случаев мы изменяем только биты ответственные за выбор источника тактирования и частоту тактирования, к примеру для ATmega8 это: CKSEL0-CKSEL3. По умолчанию у ATMEGA8 тактовая частота 1 МГц от внутреннего генератора — сброшен бит CKSEL0 (стоит галочка). Нам, допустим, нужно установить тактовую частоту 8 МГц от внутреннего генератора — сбросить бит CKSEL2 (поставить галочку), что мы и делаем. Но при этом ЗАБЫВАЕМ УСТАНОВИТЬ БИТ CKSEL0 (убрать галочку)!. В результате, программируя FUSE биты, мы получаем совершенно иной результат — программа не работает, а МК не реагирует на программатор. Забыв сбросить бит CKSEL0 мы получаем другой источник тактирования МК — внешний RC. Отчаиваться не надо, главное разобраться в том, что вы получили в результате. В нашем примере — внешний RC, смотрим даташит, подсоединяем к соответствующим входам МК сопротивление и конденсатор (по схеме из даташита и с нужными номиналами) и восстанавливаем контроль над МК.


Внешний вид окна «Автоматическое программирование» AVRDUDE_PROG:

vneshniy-vid-okna-avtomaticheskoe-programmirovanie

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

Как видите — программа AVRDUDE_PROG проста и понятна в использовании, за что и скажем спасибо Сергею Боднару!


  Скачать программу AVRDUDE_PROG 3.3 (1,3 MiB, 94 174 hits)

Скачать с ЯндексДиска


Программирование микроконтроллеров AVR фирмы Atmel

1. Микроконтроллеры — первый шаг
2. Системы счисления: десятичная, двоичная и шестнадцатиричная
3. Логические операции, логические выражения, логические элементы
4. Битовые операции
5. Прямой, обратный и дополнительный коды двоичного числа
6. USBASP программатор для микроконтроллеров AVR — идеальное решение для начинающих, и не только


(31 голосов, оценка: 4,84 из 5)

Загрузка…


Программа AVRDUDE_PROG

Программа AVRDUDE_PROG: программирование микроконтроллеров AVR ATmega, ATtiny

Published by: Мир микроконтроллеров

Date Published: 09/17/2016

Понравилась статья? Поделить с друзьями:
  • Avrdude prog libusb0 dll windows 10
  • Avr910 usb программатор драйвер windows 7 x64
  • Avr309 usb to uart драйвер для windows 7
  • Avr studio для windows 10 скачать торрент
  • Avr studio windows 7 скачать бесплатно