Enne programmeerimist tuleb laadida alla vajalik tarkvara. Atmel Studio on saadaval Atmel kodulehel või Pololu kodulehel. Pololu lingi alt leiab ka Pololu AVR Development Bundle lisapaki, mis sisaldab programmatori draivereid ja teeke 3pi roboti programmeerimiseks. Esimesena tuleb paigaldada Atmel Studio 6 ja seejärel Pololu AVR Development Bundle. Vales järjekorras tarkvara paigaldamisel ei hakka 3pi teegid toimima. Lisainfo tarkvara paigaldamise osas erinevatele operatsioonisüsteemidele Pololu kodulehel. Enne kasutamist tuleb tarkvara seadistada. Esmalt tuleb avada Atmel Studio 6 ja teha uus 3pi projekt (ATmega328p mikrokontroller). Seejärel ülevalt menüüribast valida Build→Build Solution. Kui kõik oli korrektselt seadistaud, siis peaks paremal Solution Explorer aknas Dependencies kausta alla tekkima teekide loetelu. Edasi tuleb seadistada programmaator, et see töötaks Atmel Studio-ga. Selleks eelnevalt programmaator ühendada arvutiga ja avada ülevalt menüüribast Tools→Add Target. Avanevas aknas tuleb valida:
Kui saadaval on mitu COM port-i, siis tuleb Windows Device Manager→Ports(COM & LPT) alt uurida, milline on “Pololu USB AVR Programmer Programming” port. Programmaator on pärast Apply nupu vajutamist seadistatud.
Vajalik tarkvara
Luua uus projekt järgmiste seadetega:
Settings→Compiler and debugger …
Linker settings
Lisada libpololu_atmega328p.a kompileeritud teegi fail nupuga Add
Search directories
Lisada Pololu teegi kataloog nupuga Add Compiler ja Linker lehtedel.
Tools→Configure tools…
Lisada programmaatori seaded nupuga Add
Windows:
Executable: C:\HomeBlocks\Programmer\AvrDude\avrdude.exe Parameters: -c avrispv2 -p m328p -e -P COMxx -U flash:w:${TARGET_OUTPUT_BASENAME}.hex Working directory: ${TARGET_OUTPUT_DIR}
Linux:
Executable: /usr/bin/avrdude Parameters: -c avrispv2 -p m328p -P /dev/ttyACM0 -U flash:w:${TARGET_OUTPUT_BASENAME}.hex Working directory: ${TARGET_OUTPUT_DIR}
avrdude.exe: error opening projekti_nimi.hex: No such file or directory
avrdude.exe: input file projekti_nimi.hex auto detected as invalid format avrdude.exe: can't open input file projekti_nimi.hex: No such file or directory avrdude.exe: write to file 'projekti_nimi.hex' failed
või laetakse peale vana kompileeritud fail
Project→Properties …
Build targets
Eemaldada Output filename: realt faili laiend koos punktiga (.elf)
In function `calloc': calloc.c:(.text.avr-libc+0x8): undefined reference to `__mulhi3' collect2.exe: error: ld returned 1 exit status
Eemaldada konkureeriv linkeri viide (võib ka lihtsalt kaldkriipsu ette panna, et linker ei leiaks kataloogi)
Settings→Compiler and debugger …
Search directories → Linker
USB kaabel vigane (Pololu programmaatori originaalkaabel ei ole kvaliteetne), proovi teist kaablit.