Puedes usar Arduino como programador ISP. Compruebe el IDE de Arduino \ $ \ Rightarrow \ $ Archivo \ $ \ Rightarrow \ $ Ejemplos \ $ \ Rightarrow \ $ ArduinoISP y consulte documentación de ArduinoISP .
Personalmente uso Linux y un Makefile para ejecutar todos los comandos necesarios.
En resumen, estos son los comandos necesarios (Linux, pero Windows es bastante similar cuando se instala la cadena de herramientas [y lo es si tienes el ArduinoIDE en el sistema])
#edit
# use your favorite text editor to author the source file, then save as 'project.cpp'
#variables
src=project
programmerType=arduino
programmerDevice=/dev/.......fill.this.in....
avrFreq=16000000
avrType=attiny45
baudrate=19200
cflags="-g -DF_CPU=$(avrFreq) -Wall -Os -Werror -Wextra -ffunction-sections -fdata-sections"
#compile to object
avr-gcc $cflags -mmcu=$avrType -Wa,-ahlmns=${src)}.lst -c -o ${src}.o ${src}.cpp
#compile to elf
avr-gcc $cflags -mmcu=$avrType -o ${src}.elf ${src}.o
#encode binary file to intelHex
avr-objcopy -j .text -j .data -O ihex ${src}.elf ${src}.flash.hex
#flash the controller
avrdude -p$avrType -c$programmerType -P$programmerDev $(baud) -v -U flash:w:${src}.flash.hex
Al ver la complejidad para recordar estos comandos, realmente vale la pena averiguar cómo usar el archivo make anterior vinculado en su sistema:
make help
make edit
make flash