Skip to content

Commit

Permalink
avr_pdi: add dumps for ATxmega flash programming (PDI)
Browse files Browse the repository at this point in the history
Add dumps for the Atmel Program and Debug Interface (PDI). Identify an
ATxmega128A1 device, write to and read from flash memory.
  • Loading branch information
gsigh authored and uwehermann committed Dec 26, 2016
1 parent 377211e commit 575a77a
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions avr_pdi/atxmega128a1/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
-------------------------------------------------------------------------------
AVR PDI / Atmel ATxmega128A1
-------------------------------------------------------------------------------

These are example captures of the Atmel Program and Debug Interface (PDI).

The programmer is Atmel's JTAG ICE III and avrdude 6.0.1. The target device
is an ATxmega128A1 (Atmel's Xplained eval board).


Logic analyzer setup
--------------------

The logic analyzer used was an Asix Sigma2 (at 10MHz):

Probe Signal
-----------------------
1 RESET / PDI_CLK
2 PDI_DATA


Data
----

The following activities were captured:

- Identify a target device:
avrdude -c jtag3pdi -p x128a1

- Program (write) a blinkenlight firmware:
avrdude -c jtag3pdi -p x128a1 -Uflash:w:blinky.hex

- Verify (read back) the blinkenlight firmware:
avrdude -c jtag3pdi -p x128a1 -Uflash:v:blinky.hex

The protocol decoder can extract data when used like this:

- Get the bytes which form the PDI requests and responses:
sigrok-cli -i atxmega128a1-pdi-identify.sr -P avr_pdi -B avr_pdi=bytes | hexdump -Cv

- Get the interpreted PDI instructions and their data:
sigrok-cli -i atxmega128a1-pdi-identify.sr -P avr_pdi -A avr_pdi=cmd-data
Binary file not shown.
Binary file not shown.
Binary file added avr_pdi/atxmega128a1/atxmega128a1-pdi-identify.sr
Binary file not shown.

0 comments on commit 575a77a

Please sign in to comment.