diff --git a/software/chipwhisperer/hardware/naeusb/programmer_xmega.py b/software/chipwhisperer/hardware/naeusb/programmer_xmega.py index 820b44dfe6..e6977ba6b2 100644 --- a/software/chipwhisperer/hardware/naeusb/programmer_xmega.py +++ b/software/chipwhisperer/hardware/naeusb/programmer_xmega.py @@ -106,7 +106,22 @@ class XMEGA128A3U(object): "fuse5":{"offset":0x8f0025, "size":1}, } -supported_xmega = [XMEGA128A4U(), XMEGA128D4(), XMEGA16A4(), XMEGA128A3U()] +class XMEGA16D4(object): + signature = [0x1e, 0x94, 0x42] + name = "XMEGA16D4" + + memtypes = { + "signature":{"offset":0x1000090, "size":3}, + "flash":{"offset":0x0800000, "size":0x00044000, "pagesize":0x80, "type":XMEGAMEM_TYPE_APP}, + "boot":{"offset":0x0844000, "size":0x00001000, "pagesize":0x80, "type":XMEGAMEM_TYPE_BOOT}, + "eeprom":{"offset":0x08c0000, "size":0x0400, "pagesize":0x20, "readsize":0x100, "type":XMEGAMEM_TYPE_EEPROM}, + "fuse1":{"offset":0x8f0021, "size":1}, + "fuse2":{"offset":0x8f0022, "size":1}, + "fuse4":{"offset":0x8f0024, "size":1}, + "fuse5":{"offset":0x8f0025, "size":1}, + } + +supported_xmega = [XMEGA128A4U(), XMEGA128D4(), XMEGA16A4(), XMEGA128A3U(), XMEGA16D4()] def print_fun(s): print(s)