How to add the AVR Dragon's HVPP to the Arduino IDE's List of Programmers?

I would like to teach my Arduino IDE to use my AVR Dragon's HVPP (High Voltage Parallel Programming) interface to upload compiled sketches to my boards (an ATMega1284P-PU in this case, supported by mighty1284p).

Working setup so far:

Arduino IDE with mighty1284p, I added this to the boards.txt of mighty1284p to support my uC's internal-RC-oscillator clockrates of 1MHz and 8MHz.

avrdude can talk to the m1284p and set the fuses:

avrdude -c dragon_pp -P usb -p m1284p -U lfuse:w:0x62:m -U hfuse:w:0x99:m -U efuse:w:0xFF:m -U lock:w:0xFF:m

I can compile / check a sketch successfully, then upload the temporarily created .hex manually to the 1284 using the Dragon:

cd /var/folders/px/xmf1dygn6p5_fn1hh05c6gyr0000gn/T/build4082512148637729777.tmp/
avrdude -p m1284p -c dragon_pp -P usb -U flash:w:Fade.cpp.hex

This works but includes the manual step of cding into the temporary build directory and manually uplading the .hex.

How would I use the AVR Dragon's HVPP directly from within the Arduino IDE? I have added a section to programmers.txt as such:

dragonpp.name=AVR Dragon HVPP
dragonpp.communication=usb
dragonpp.protocol=dragon_pp
dragonpp.force=false

which I assumed would be correct for the above avrdude parameters.

Within the IDE I choose Tools - Programmer - AVR Dragon HVPP, then Upload. The debug output shows this:

    (...correct compiling, linking and such...)
    /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega1284p -carduino -P/dev/tty.Bluetooth-PDA-Sync -b115200 -D -Uflash:w:/var/folders/px/xmf1dygn6p5_fn1hh05c6gyr0000gn/T/build1852336263469118058.tmp/Fade.cpp.hex:i 
    
    avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch
    
             System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
             User configuration file is "/Users/cts/.avrduderc"
             User configuration file does not exist or is not a regular file, skipping
    
             Using Port                    : /dev/tty.Bluetooth-PDA-Sync
             Using Programmer              : arduino
             Overriding Baud Rate          : 115200
    avrdude: Send: 0 [30]   [20] 
    avrdude: Send: 0 [30]   [20] 
    avrdude: Send: 0 [30]   [20] 
    avrdude: ser_recv(): programmer is not responding
    avrdude: stk500_recv(): programmer is not responding
    
    avrdude done.  Thank you.

So the -p parameter is correct, but -c and -P are wrong.

Any ideas how I could add the Dragon correctly?

Are you selecting "Upload Using programmer" instead of just "Upload"?

ctshh:
which I assumed would be correct for the above avrdude parameters.

Within the IDE I choose Tools - Programmer - AVR Dragon HVPP, then Upload. The debug output shows this:

Any ideas how I could add the Dragon correctly?

You may have added it correctly but you didn't use it correctly.

Within the IDE I choose Tools->Programmer->AVR Dragon HVPP
then choose File->Upload Using Programmer

If you just hit the Upload button for the sketch it will use the default programer for the selected board. If the board.txt entry for the selected board doesn't specify a programmer the default in preferences.txt is used.

Thanks for the heads up - in the end, I had to delete/comment out

mighty_opt8.upload.protocol=arduino

from boards.txt and now I can happily click the Upload button.

A whole new feeling, using Arduino without an actual Arduino :wink: Simply a 1284p in a TexTool socket on my breadbord, Power, and go.