Skip to content

Commit

Permalink
Add PICkit4 and MPLAB SNAP programmers
Browse files Browse the repository at this point in the history
  • Loading branch information
MCUdude committed Jan 5, 2021
1 parent 0dc520f commit 640d21a
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 26 deletions.
68 changes: 42 additions & 26 deletions avr/avrdude.conf
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
# vfyled = <num> ; # pin number
# usbvid = <hexnum>; # USB VID (Vendor ID)
# usbpid = <hexnum>; # USB PID (Product ID)
# usbdev = <interface>; # USB interface or other device info
# usbdev = <interface>; # USB interface or other device info
# usbvendor = <vendorname>; # USB Vendor Name
# usbproduct = <productname>; # USB Product Name
# usbsn = <serialno>; # USB Serial Number
Expand Down Expand Up @@ -141,9 +141,9 @@
# complain.
#
# Parts can also inherit parameters from previously defined parts
# using the following syntax. In this case specified integer and
# string values override parameter values from the parent part. New
# memory definitions are added to the definitions inherited from the
# using the following syntax. In this case specified integer and
# string values override parameter values from the parent part. New
# memory definitions are added to the definitions inherited from the
# parent.
#
# part parent <id> # quoted string
Expand All @@ -152,7 +152,7 @@
# ;
#
# NOTES:
# * 'devicecode' is the device code used by the STK500 (see codes
# * 'devicecode' is the device code used by the STK500 (see codes
# listed below)
# * Not all memory types will implement all instructions.
# * AVR Fuse bits and Lock bits are implemented as a type of memory.
Expand Down Expand Up @@ -366,7 +366,7 @@ programmer
# http://dangerousprototypes.com/docs/FT2232_breakout_board
# http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H
# http://flashrom.org/FT2232SPI_Programmer
#
#
# The drivers will look for a specific device and use the first one found.
# If you have mulitple devices, then look for unique information (like SN)
# And fill that in here.
Expand Down Expand Up @@ -408,21 +408,21 @@ programmer
type = "avrftdi";
connection_type = usb;
usbvid = 0x0403;
# Note: This PID is reserved for generic H devices and
# Note: This PID is reserved for generic H devices and
# should be programmed into the EEPROM
# usbpid = 0x8A48;
usbpid = 0x6010;
usbdev = "A";
usbvendor = "";
usbproduct = "";
usbsn = "";
#ISP-signals
#ISP-signals
reset = 3;
sck = 0;
mosi = 1;
miso = 2;
buff = ~4;
#LED SIGNALs
#LED SIGNALs
errled = ~ 11;
rdyled = ~ 14;
pgmled = ~ 13;
Expand Down Expand Up @@ -462,8 +462,8 @@ programmer
;

# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1"
# You can find it as "OpenJTAG ARM JTAG USB" in the internet.
# (But there are also several projects called Open JTAG, eg.
# You can find it as "OpenJTAG ARM JTAG USB" in the internet.
# (But there are also several projects called Open JTAG, eg.
# http://www.openjtag.org, which are completely different.)
# http://www.100ask.net/shop/english.html (website seems to be outdated)
# http://item.taobao.com/item.htm?id=1559277013
Expand Down Expand Up @@ -789,7 +789,7 @@ programmer
type = "butterfly";
connection_type = serial;
;

# suggested in http://forum.mikrokopter.de/topic-post48317.html
programmer
id = "mkbutterfly";
Expand Down Expand Up @@ -985,6 +985,22 @@ programmer
usbpid = 0x2141;
;

programmer
id = "pickit4_isp";
desc = "MPLAB(R) PICkit 4 in ISP mode";
type = "jtagice3_isp";
connection_type = usb;
usbpid = 0x2177;
;

programmer
id = "snap_isp";
desc = "MPLAB(R) SNAP in ISP mode";
type = "jtagice3_isp";
connection_type = usb;
usbpid = 0x217F, 0x2180, 0x2181;
;

programmer
id = "pavr";
desc = "Jason Kyle's pAVR Serial Programmer";
Expand Down Expand Up @@ -1279,10 +1295,10 @@ part
write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
"x x x x x x x x i i i i i i i i";
;

memory "efuse"
size = 0;
;
;

memory "lock"
size = 1;
Expand Down Expand Up @@ -1384,7 +1400,7 @@ part

write = " 1 1 0 0 0 0 0 0",
" 0 0 x x x x a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" a7 a6 a5 a4 a3 a2 a1 a0",
" i i i i i i i i";

loadpage_lo = " 1 1 0 0 0 0 0 1",
Expand Down Expand Up @@ -1452,7 +1468,7 @@ part
"x x x x x x x x 1 1 i i i i i i";
min_write_delay = 9000;
max_write_delay = 9000;
;
;

memory "lfuse"
size = 1;
Expand All @@ -1475,11 +1491,11 @@ part
min_write_delay = 9000;
max_write_delay = 9000;
;

memory "efuse"
size = 0;
;

memory "signature"
size = 3;
read = "0 0 1 1 0 0 0 0 x x x x x x x x",
Expand Down Expand Up @@ -1647,10 +1663,10 @@ part
write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
"x x x x x x x x i i i i i i i i";
;

memory "efuse"
size = 0;
;
;

memory "lock"
size = 1;
Expand Down Expand Up @@ -1753,7 +1769,7 @@ part

write = " 1 1 0 0 0 0 0 0",
" 0 0 x x x x a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" a7 a6 a5 a4 a3 a2 a1 a0",
" i i i i i i i i";

loadpage_lo = " 1 1 0 0 0 0 0 1",
Expand Down Expand Up @@ -1961,7 +1977,7 @@ part

write = " 1 1 0 0 0 0 0 0",
" 0 0 x x x a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" a7 a6 a5 a4 a3 a2 a1 a0",
" i i i i i i i i";

loadpage_lo = " 1 1 0 0 0 0 0 1",
Expand Down Expand Up @@ -2101,7 +2117,7 @@ part parent "m324p"
#------------------------------------------------------------

# similar to ATmega324P

part parent "m324p"
id = "m324pb";
desc = "ATmega324PB";
Expand Down Expand Up @@ -2213,7 +2229,7 @@ part

write = " 1 1 0 0 0 0 0 0",
" 0 0 x x a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" a7 a6 a5 a4 a3 a2 a1 a0",
" i i i i i i i i";

loadpage_lo = " 1 1 0 0 0 0 0 1",
Expand Down Expand Up @@ -2439,7 +2455,7 @@ part

write = " 1 1 0 0 0 0 0 0",
" 0 0 x x a11 a10 a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" a7 a6 a5 a4 a3 a2 a1 a0",
" i i i i i i i i";

loadpage_lo = " 1 1 0 0 0 0 0 1",
Expand Down Expand Up @@ -2570,4 +2586,4 @@ part parent "m1284p"
signature = 0x1e 0x97 0x06;

ocdrev = 3;
;
;
14 changes: 14 additions & 0 deletions avr/programmers.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,17 @@ jtag3.program.tool=avrdude
# work regardless of the crystal used, since JTAG doesn't use the MCU
# clock but dictates its own clock.
jtag3.program.extra_params=-B0.1

pickit4_isp.name=PICkit4 (ISP mode) (MightyCore)
pickit4_isp.communication=usb
pickit4_isp.protocol=pickit4_isp
pickit4_isp.program.protocol=pickit4_isp
pickit4_isp.program.tool=avrdude
pickit4_isp.program.extra_params=-Pusb

snap_isp.name=MPLAB SNAP (ISP mode) (MightyCore)
snap_isp.communication=usb
snap_isp.protocol=snap_isp
snap_isp.program.protocol=snap_isp
snap_isp.program.tool=avrdude
snap_isp.program.extra_params=-Pusb

0 comments on commit 640d21a

Please sign in to comment.