Der Programmer lädt nur die hex, elf bzw eep (EEProm Datei) in den Controller.
Der Programmierablauf sieht so aus:
Zuerst schreibst du das Programm, welches du nutzt ist egal, solange du den nötigen Controller auswählen kannst. Es von relativ einfachen Programmen wie Flowcode über Basic Dialekt (Bascom) bis hin zu C und Assembler.

Dieses Programm wird dann übersetzt (Compiler, Assembler). Anschließend werden die Teile gelinkt (Module zusammengefügt) und daraus die Hex erzeugt. Der Linker ist im Normalfall im Compiler integriert.

Anschließend kommt der Programmer zur Verwendung. Dieser besteht aus Software und Hardware. Software ist z.B. Avrdude, Ponyprog oder der im AVR Studio integrierte Programmer (es gibt noch mehr). Der Hardwareteil ist z.B. der ISP Adapter, JTAG Adapter,... Häufig gibt es aber auch einen Bootloader, dieser ist quasi der Programmer.

Somit musst du erst einmal das Programm erstellen und compilieren, das du die hex Datei hast. Erst dann benötigst du den Programmer. Es gibt Programmer mit denen kannst du dich immer verbinden (sofern richtig eingestellt) und musst mit keinem Controller verbunden sein (z.B. ISP Adapter). Bei anderen Programmern musst du mit dem Controller verbunden sein (z.B. JTAG).

MfG Hannes