AVRDUDE Introduction: AVR Downloader Uploader for Programming Arduino boards

Опубликовано: 10 Январь 2021
на канале: Adduino
13,165
157

The complete Tutorial is provided on Adduino.com. check it out using this link: https://adduino.com/upload-hex-file-o...

AVRDUDE Introduction: 0:41
AVRDUDE Options: 2:35
-c (Programmer-id) option for AVRDUDE: 3:36
-p (Pard-id) option for AVRDUDE: 4:21
-b (baud-rate) option for AVRDUDE: 5:10
-P (Port) option for AVRDUDE: 5:40
-U Memory Operation for AVRDUDE 6:00


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

AVRDUDE - AVR Downloader Uploader - is a program for downloading and uploading the on-chip memories of Atmel’s AVR microcontrollers. It can program the Flash and EEPROM, and where supported by the serial 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 can be used effectively via the command line to read or write all chip memory types (eeprom, flash, fuse bits, lock bits, signature bytes) or via an interactive (terminal) mode. Using AVRDUDE from the command line works well for programming the entire memory of the chip from the contents of a file, while interactive mode is useful for exploring memory contents, modifying individual bytes of eeprom, programming fuse/lock bits, etc.

AVRDUDE supports the following basic programmer types: Atmel’s STK500, Atmel’s AVRISP and AVRISP mkII devices, Atmel’s JTAG ICE (both mkI and mkII), app note avr910, app note avr109 (including the AVR Butterfly), serial bit-bang adapters, and the PPI (parallel port interface). PPI represents a class of simple programmers where the programming lines are directly connected to the PC parallel port. Several pin configurations exist for several variations of the PPI programmers, and AVRDUDE can be configured to work with them by either specifying the appropriate programmer on the command line or by creating a new entry in its configuration file. All that’s usually required for a new entry is to tell AVRDUDE which pins to use for each programming function.

A number of equally simple bit-bang programming adapters that connect to a serial port are supported as well, among them the popular Ponyprog serial adapter, and the DASA and DASA3 adapters that used to be supported by uisp(1). Note that these adapters are meant to be attached to a physical serial port. Connecting to a serial port emulated on top
of USB is likely to not work at all, or to work abysmally slow.

Main features
The major features of AVRDUDE include:
Command-line driven user interface for all downloading and uploading features (including handling fuse bytes), for easy automation e. g. by inclusion into Makefiles.
Interactive examination and modification of various memory regions in so-called terminal mode. Also offered is an option to modify the operational parameters of an Atmel STK500 board (target voltage, VAref, master clock frequency).
Known to run on all major POSIX-style operating systems, as well as Win32 platforms. By using existing operating system drivers on the POSIX-style systems, secure parallel-port access without root privileges can be maintained. On Win32 platforms, parallel port access requires the previous installation of a driver (giveio.sys) that grants a user process direct access to the IO registers.
Supports a wide range of programming hardware, from cheap ISP plugs that connect the AVR's ISP interface directly to a computer's parallel port (no additional circuitry) or serial port (some additional circuitry needed), more advanced ISP adapters using a buffer/driver chip (like a 74HC373), up to (more complex) serially connected programmers like AVR910-style ISP devices, the Atmel STK500 board, and the Atmel JTAG ICE mkII. Most popular adapters come pre-defined, adding a new parallel-port adapter is as simple as editing a configuration file (no recompilation needed).
Supports Intel Hex, Motorola S-Record, and raw binary files for input and output, as well as direct memory contents specification on the command-line (useful e. g. for fuse bytes). On input, the file format can be auto-detected.
In "terminal mode", the device's memory areas can be examined, and possibly modified. This allows to set fuses interactively, or to modify a few EEPROM cells.


Credit to Fesliyan Studios for the background music