It can program the flash and eeprom, and where supported by the programming protocol, it can program fuse and lock bits. It supports various programmers (e.g., usbasp, arduino bootloader) and is widely used in the arduino ecosystem. Others need an automated script to do batch programming of multiple microcontrollers
In this article, you’ll learn how to use avrdude. 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. Avrdude is a program that is used to update or read the flash and eeprom memories of atmel avr microcontrollers on freebsd unix
Documentation can be downloaded from the download area, or read online here. Programming a microcontroller either requires a physical programmer that sits between the target chip and the pc running avrdude, or a bootloader program on the target chip that is then directly connected to the pc to be served by avrdude. Avrdude is a command line program, so you'll have to type in all the commands (later you'll find out how to shortcut this with a makefile) under windows, you'll need to open up a command window, select run.from the start menu and type in cmd and hit ok.