5. Compiling AVRDUDE

<h3>Checking the currently installed version of AVRDUDE</h3> <p>Run the following command:</p> <pre>avrdude -v</pre> <p>You need at least version 5.6 for ATmega328P support.</p> <h3>Downloading the source code</h3> <p>Get the latest version from the <a href="http://www.nongnu.org/avrdude/">AVRDUDE web site</a>.</p> <h3>Unpacking the archive</h3> <p>Run the following command:</p> <pre>tar xzf ~/Desktop/avrdude-5.6.tar.gz&#x000A;cd avrdude-5.6</pre> <h3>Compiling and installing AVRDUDE</h3> <p>Unlike the other packages, AVRDUDE does not need to be specifically told to compile for the AVR. So you should be able to compile it with no special options:</p> <pre>./configure&#x000A;make&#x000A;sudo make install</pre> <h3>Optional: configuring earlier versions of AVRDUDE for the ATmega328P</h3> <p>The following configuration file will let versions of AVRDUDE before 5.6 work with the 328. Just copy these definitions to the end of avrdude.conf, which can be found in <code>/etc</code>, <code>/usr/local/etc</code>, or sometimes in the same directory as the <code>avrdude</code> executable.</p> <pre class="long_file">#------------------------------------------------------------&#x000A;# ATmega328P&#x000A;#------------------------------------------------------------&#x000A;&#x000A;part&#x000A; id = "m328p";&#x000A; desc = "ATMEGA328P";&#x000A; has_debugwire = yes;&#x000A; flash_instr = 0xB6, 0x01, 0x11;&#x000A; eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,&#x000A; 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,&#x000A; 0x99, 0xF9, 0xBB, 0xAF;&#x000A; stk500_devcode = 0x86;&#x000A; # avr910_devcode = 0x;&#x000A; signature = 0x1e 0x95 0x0F;&#x000A; pagel = 0xd7;&#x000A; bs2 = 0xc2;&#x000A; chip_erase_delay = 9000;&#x000A; pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",&#x000A; "x x x x x x x x x x x x x x x x";&#x000A;&#x000A; chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",&#x000A; "x x x x x x x x x x x x x x x x";&#x000A;&#x000A; timeout = 200;&#x000A; stabdelay = 100;&#x000A; cmdexedelay = 25;&#x000A; synchloops = 32;&#x000A; bytedelay = 0;&#x000A; pollindex = 3;&#x000A; pollvalue = 0x53;&#x000A; predelay = 1;&#x000A; postdelay = 1;&#x000A; pollmethod = 1;&#x000A;&#x000A; pp_controlstack =&#x000A; 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,&#x000A; 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,&#x000A; 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,&#x000A; 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;&#x000A; hventerstabdelay = 100;&#x000A; progmodedelay = 0;&#x000A; latchcycles = 5;&#x000A; togglevtg = 1;&#x000A; poweroffdelay = 15;&#x000A; resetdelayms = 1;&#x000A; resetdelayus = 0;&#x000A; hvleavestabdelay = 15;&#x000A; resetdelay = 15;&#x000A; chiperasepulsewidth = 0;&#x000A; chiperasepolltimeout = 10;&#x000A; programfusepulsewidth = 0;&#x000A; programfusepolltimeout = 5;&#x000A; programlockpulsewidth = 0;&#x000A; programlockpolltimeout = 5;&#x000A;&#x000A; memory "eeprom"&#x000A; paged = no;&#x000A; page_size = 4;&#x000A; size = 1024;&#x000A; min_write_delay = 3600;&#x000A; max_write_delay = 3600;&#x000A; readback_p1 = 0xff;&#x000A; readback_p2 = 0xff;&#x000A; read = " 1 0 1 0 0 0 0 0",&#x000A; " 0 0 0 x x x a9 a8",&#x000A; " a7 a6 a5 a4 a3 a2 a1 a0",&#x000A; " o o o o o o o o";&#x000A; &#x000A; write = " 1 1 0 0 0 0 0 0",&#x000A; " 0 0 0 x x x a9 a8",&#x000A; " a7 a6 a5 a4 a3 a2 a1 a0",&#x000A; " i i i i i i i i";&#x000A;&#x000A; loadpage_lo = " 1 1 0 0 0 0 0 1",&#x000A; " 0 0 0 0 0 0 0 0",&#x000A; " 0 0 0 0 0 0 a1 a0",&#x000A; " i i i i i i i i";&#x000A;&#x000A; writepage = " 1 1 0 0 0 0 1 0",&#x000A; " 0 0 x x x x a9 a8",&#x000A; " a7 a6 a5 a4 a3 a2 0 0",&#x000A; " x x x x x x x x";&#x000A;&#x000A; mode = 0x41;&#x000A; delay = 5;&#x000A; blocksize = 4;&#x000A; readsize = 256;&#x000A; ;&#x000A;&#x000A; memory "flash"&#x000A; paged = yes;&#x000A; size = 32768;&#x000A; page_size = 128;&#x000A; num_pages = 256;&#x000A; min_write_delay = 4500;&#x000A; max_write_delay = 4500;&#x000A; readback_p1 = 0xff;&#x000A; readback_p2 = 0xff;&#x000A; read_lo = " 0 0 1 0 0 0 0 0",&#x000A; " 0 0 a13 a12 a11 a10 a9 a8",&#x000A; " a7 a6 a5 a4 a3 a2 a1 a0",&#x000A; " o o o o o o o o";&#x000A; &#x000A; read_hi = " 0 0 1 0 1 0 0 0",&#x000A; " 0 0 a13 a12 a11 a10 a9 a8",&#x000A; " a7 a6 a5 a4 a3 a2 a1 a0",&#x000A; " o o o o o o o o";&#x000A; &#x000A; loadpage_lo = " 0 1 0 0 0 0 0 0",&#x000A; " 0 0 0 x x x x x",&#x000A; " x x a5 a4 a3 a2 a1 a0",&#x000A; " i i i i i i i i";&#x000A; &#x000A; loadpage_hi = " 0 1 0 0 1 0 0 0",&#x000A; " 0 0 0 x x x x x",&#x000A; " x x a5 a4 a3 a2 a1 a0",&#x000A; " i i i i i i i i";&#x000A; &#x000A; writepage = " 0 1 0 0 1 1 0 0",&#x000A; " 0 0 a13 a12 a11 a10 a9 a8",&#x000A; " a7 a6 x x x x x x",&#x000A; " x x x x x x x x";&#x000A;&#x000A; mode = 0x41;&#x000A; delay = 6;&#x000A; blocksize = 128;&#x000A; readsize = 256;&#x000A;&#x000A; ;&#x000A; &#x000A; memory "lfuse"&#x000A; size = 1;&#x000A; min_write_delay = 4500;&#x000A; max_write_delay = 4500;&#x000A; read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",&#x000A; "x x x x x x x x o o o o o o o o";&#x000A; &#x000A; write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",&#x000A; "x x x x x x x x i i i i i i i i";&#x000A; ;&#x000A; &#x000A; memory "hfuse"&#x000A; size = 1;&#x000A; min_write_delay = 4500;&#x000A; max_write_delay = 4500;&#x000A; read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",&#x000A; "x x x x x x x x o o o o o o o o";&#x000A; &#x000A; write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",&#x000A; "x x x x x x x x i i i i i i i i";&#x000A; ;&#x000A; &#x000A; memory "efuse"&#x000A; size = 1;&#x000A; min_write_delay = 4500;&#x000A; max_write_delay = 4500;&#x000A; read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",&#x000A; "x x x x x x x x x x x x x o o o";&#x000A; &#x000A; write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",&#x000A; "x x x x x x x x x x x x x i i i";&#x000A; ;&#x000A; &#x000A; memory "lock"&#x000A; size = 1;&#x000A; min_write_delay = 4500;&#x000A; max_write_delay = 4500;&#x000A; read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",&#x000A; "x x x x x x x x x x o o o o o o";&#x000A; &#x000A; write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",&#x000A; "x x x x x x x x 1 1 i i i i i i";&#x000A; ;&#x000A; &#x000A; memory "calibration"&#x000A; size = 1;&#x000A; read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",&#x000A; "0 0 0 0 0 0 0 0 o o o o o o o o";&#x000A; ;&#x000A; &#x000A; memory "signature"&#x000A; size = 3;&#x000A; read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",&#x000A; "x x x x x x a1 a0 o o o o o o o o";&#x000A; ;&#x000A;;&#x000A;</pre>

New Products

ACS37041KLHBLT-010B3 Current Sensor Compact Carrier -10A to +10A, 3.3V
TB67H453FNG Single Brushed DC Motor Driver Carrier
JST SH-Style Cable, 2-Pin, Female-Female, 16cm
Pololu Basic SPDT Relay Carrier with 5VDC Relay, Terminal Blocks, and JST SH-Style Top-Entry Connector
JST SH-Style Cable, 4-Pin, Single-Ended Female, 75cm
Glideforce GF01-122110-1-66 Micro Linear Actuator with Limit Switches: 12V, 8.1kgf, 6mm/s, 100mm Stroke
5.3V, 6A Step-Down Voltage Regulator D42V55F5.3
CT433-HSWF20DR TMR Current Sensor Compact Carrier 0A to 20A, 3.3V
ACS72981LLRATR-050U5 Current Sensor Large Carrier 0A to 50A, 5V
ACS37030LLZATR-065B3 Current Sensor Compact Carrier -65A to +65A, 3.3V
Log In
Pololu Robotics & Electronics
Shopping cart
(702) 262-6648
Same-day shipping, worldwide
Menu
Shop Blog Forum Support
My account Comments or questions? About Pololu Contact Ordering information Distributors