avrdudes / avrdude

AVRDUDE is a utility to program AVR microcontrollers
GNU General Public License v2.0
694 stars 134 forks source link

Report: Incorrect SerialUPDI control of AVR64EA32 #1529

Closed askn37 closed 10 months ago

askn37 commented 10 months ago

Report: Incorrect SerialUPDI control of AVR64EA32

This is a known bug as of commit 481a91d.

  1. You are trying to read the "Chip Silicon Revision" register without checking the status of the target device. This will fail if the target device is "resetting" or "sleeping".
  2. The address width used to access the flash area is incorrectly set to 16 bits. Therefore, the IO memory area is accessed instead of the flash area. The correct address width must be 24 bits.(Shouldn't we send 0x55 0x6A 0x00 0x00 0x80 here?)

case.1 Debug log

avrdude: sending 2 bytes [0x55, 0xe6]
avrdude: send: U [55] . [e6] 
avrdude: recv: U [55] . [e6] 
avrdude: recv: A [41] V [56] R [52]   [20]   [20]   [20]   [20]   [20] P [50] : [3a] 3 [33] D [44] : [3a] 1 [31] - [2d] 3 [33] M [4d] 2 [32]   [20] ( [28] B [42] 1 [31] . [2e] 5 [35] 9 [39] F [46] 0 [30] 2 [32] . [2e] 0 [30] ) [29] . [00] 
avrdude: received 32 bytes [0x41, 0x56, 0x52, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x3a, 0x33, 0x44, 0x3a, 0x31, 0x2d, 0x33, 0x4d, 0x32, 0x20, 0x28, 0x42, 0x31, 0x2e, 0x35, 0x39, 0x46, 0x30, 0x32, 0x2e, 0x30, 0x29, 0x00]
avrdude: received SIB: [AVR     P:3D:1-3M2 (B1.59F02.0)]
avrdude: Device family ID: AVR     
avrdude: NVM interface: P:3
avrdude: Debug interface: D:1
avrdude: PDI oscillator: 3M2 
avrdude: Extra information: (B1.59F02.0)
avrdude: NVM type 3: 16-bit, page oriented
avrdude: reading 1 bytes from 0x000F01
avrdude: ST_PTR to 0x000F01
avrdude: sending 4 bytes [0x55, 0x69, 0x01, 0x0f]
avrdude: send: U [55] i [69] . [01] . [0f] 
avrdude: recv: U [55] i [69] . [01] . [0f] 
avrdude: ser_recv(): programmer is not responding
avrdude: serialupdi_recv(): programmer is not responding
avrdude: UPDI ST_PTR recv failed on ACK
avrdude: ST_PTR operation failed
avrdude serialupdi_initialize() [serialupdi.c:636] error: Reading chip silicon revision failed
avrdude main() [main.c:1404] error: initialization failed, rc=-1
        - double check the connections and try again
        - use -b to set lower baud rate, e.g. -b 57600
        - use -F to override this check

case.2 Debug log

avrdude: processing -U flash:r:avr64ea32/Flash.hex:i
avrdude: reading flash memory ...
avrdude: reading 128 bytes from 0x800000
avrdude: ST_PTR to 0x800000
avrdude: sending 4 bytes [0x55, 0x69, 0x00, 0x00]
avrdude: send: U [55] i [69] . [00] . [00] 
avrdude: recv: U [55] i [69] . [00] . [00] 
avrdude: recv: @ [40] 
avrdude: received 1 bytes [0x40]
avrdude: repeat 128
avrdude: sending 3 bytes [0x55, 0xa0, 0x7f]
avrdude: send: U [55] . [a0] . [7f] 
avrdude: recv: U [55] . [a0] . [7f] 
avrdude: LD8 from ptr++
avrdude: sending 2 bytes [0x55, 0x24]
avrdude: send: U [55] $ [24] 
avrdude: recv: U [55] $ [24] 
avrdude: recv: . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [ff] . [7f] . [02]   [20] . [00] . [07] . [00]   [20] . [00] . [07] . [00]   [20] . [00] . [07] . [00]   [20] . [00] . [07] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [00] . [07] . [00] . [00] . [00] . [00] . [00] . [00] . [05] . [00] . [00] . [00] . [00] * [2a] . [00] . [06] . [00] . [00] . [00] . [00] . [00] . [00] . [10] . [00] . [00] . [00] . [2e] . [00] . [00] . [00] . [00] . [00] . [00] 
avrdude: received 128 bytes [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x02, 0x20, 0x00, 0x07, 0x00, 0x20, 0x00, 0x07, 0x00, 0x20, 0x00, 0x07, 0x00, 0x20, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]

Need additional information?

I design my own program writer and create firmware that meets various practical needs. This time, we also acquired control including HV programming using AVR64EA32. I noticed this problem when I was doing comparison testing with other programmers.

Further additional information

There are two execution result logs here. Both are displayed when -vvvvq is specified. One result is the target device is asleep, and the other result is the target device is running.

test_run.log test_sleep.log

stefanrueger commented 10 months ago

@dbuchwald Do you want to have a look? I suspect that 24-bit addresses are needed for the 64k device because the effective address after adding the flash offset exceeds 16 bit.

dbuchwald commented 10 months ago

I will take a look, but might not be able to test it though, as I don't have the AVR64EA32 chip at hand. Anyway, will keep you posted!

dbuchwald commented 10 months ago

OK, so this is what I came up with: according to the logs above, NVM link mode is version 3, which is 16-bit address/page oriented write. I checked it again in the original Microchip's pymcuprog implementation, and this is what they do:

https://github.com/microchip-pic-avr-tools/pymcuprog/blob/main/pymcuprog/serialupdi/application.py#L130

And this is what I do:

https://github.com/avrdudes/avrdude/blob/main/src/serialupdi.c#L163

So, as long as the chip itself reports to be NVM link version 3, we should and will use 16-bit addresses.

The only thing I can suggest now is for @askn37 to try to program the original device using pymcuprog software and see if it works. If it fails, then probably there is some bug in interface/documentation provided by Microchip. If it does work, then please, run pymcuprog with the highest verbosity level and post the output here - it will produce almost identical trace (with all the NVM commands listed), and I can use it to trace the issue back to the source.

mcuee commented 10 months ago

Edit: I realized that the issue is about SerialUPDI. I need to see how I can test this. I have not soldered the pin headers. I will see if I can carry out the test using serialupdi next week.

+++++++++++++++++ I tested this before avrdude 7.2 release and it was okay. https://github.com/avrdudes/avrdude/discussions/1257#discussioncomment-6203438

Just tested again with latest git main and it is still okay. I am using Microchip AVR64EA48 Curiosity Nano bought from Mouser SIngapore.

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude
Usage: avrdude [options]
...
...
avrdude version 7.2-20231018 (481a91dd), https://github.com/avrdudes/avrdude

P> .\avrdude -c pkobn_updi -p avr64ea48 -U .\median_Release_1.0.0.hex
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e961e (probably avr64ea48)
avrdude: Note: flash memory has been specified, an erase cycle will be performed.
         To disable this feature, specify the -D option.
avrdude: erasing chip

avrdude: processing -U flash:w:.\median_Release_1.0.0.hex:i
avrdude: reading input file .\median_Release_1.0.0.hex for flash
         with 5122 bytes in 1 section within [0, 0x1401]
         using 41 pages and 126 pad bytes
avrdude: writing 5122 bytes flash ...
Writing | ################################################## | 100% 2.49 s
avrdude: 5122 bytes of flash written
avrdude: verifying flash memory against .\median_Release_1.0.0.hex
Reading | ################################################## | 100% 1.24 s
avrdude: 5122 bytes of flash verified

avrdude done.  Thank you.

Full debug log here.

click for the big full debug log with -vvvv ``` PS>.\avrdude -c pkobn_updi -p avr64ea48 -U .\median_Release_1.0.0.hex -vvvv avrdude: Version 7.2-20231018 (481a91dd) Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.conf Using Port : usb Using Programmer : pkobn_updi avrdude: jtag3_open_updi() avrdude: HV UPDI support: 1 avrdude: usbhid_open(): probing for max packet size avrdude: usbhid_open(): setting max_xfer from DAP_Info response to 64 avrdude: found CMSIS-DAP compliant device, using EDBG protocol avrdude: jtag3_getsync() avrdude: jtag3_edbg_prepare() avrdude: jtag3_edbg_prepare(): connection status 0x01 avrdude: sending sign-on command: avrdude: jtag3_edbg_send(): sending 3 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 0 (command_sequence == 0) Raw message: 01 80 00 [general] OK avrdude: defaulting memtype in -U w:.\median_Release_1.0.0.hex option to "flash" avrdude: input file .\median_Release_1.0.0.hex auto detected as Intel Hex AVR Part : AVR64EA48 RESET disposition : dedicated RETRY pulse : SCK Serial program mode : yes Parallel program mode : yes Memory Detail : Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse0 wdtcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse1 bodcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse2 osccfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse5 syscfg0 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse6 syscfg1 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse7 codesize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse8 bootsize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuses 0 0 0 0 no 16 16 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lock 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- prodsig sigrow 0 0 0 0 no 128 128 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- signature 0 0 0 0 no 3 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- tempsense 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sernum 0 0 0 0 no 16 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- userrow usersig 0 0 0 0 no 64 64 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- data 0 0 0 0 no 0 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- io 0 0 0 0 no 4160 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sib 0 0 0 0 no 32 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 0 0 0 0 no 512 8 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 0 0 0 0 no 65536 128 0 0 0 0x00 0x00 Programmer Type : JTAGICE3_UPDI Description : Curiosity nano (nEDBG) in UPDI mode avrdude: jtag3_getparm() avrdude: sending get parameter (scope 0x01, section 0, parm 0) command: avrdude: jtag3_edbg_send(): sending 6 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 1 (command_sequence == 1) Raw message: 01 84 01 00 01 1b 81 00 00 [general] Data returned: 0x01 0x00 0x01 0x1b 0x81 0x00 0x00 ICE HW version : 0 ICE FW version : 1.27 (rel. 129) Serial number : MCHP3428031800001161 avrdude: jtag3_getparm() avrdude: sending get parameter (scope 0x01, section 0, parm 1) command: avrdude: jtag3_edbg_send(): sending 6 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 2 (command_sequence == 2) Raw message: 01 84 01 01 1b 00 [general] Data returned: 0x01 0x01 0x1b 0x00 avrdude: jtag3_setparm() avrdude: sending set parameter (scope 0x12, section 0, parm 0) command: avrdude: jtag3_edbg_send(): sending 7 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 3 (command_sequence == 3) Raw message: 12 80 00 [AVR] OK avrdude: jtag3_setparm() avrdude: sending set parameter (scope 0x12, section 0, parm 1) command: avrdude: jtag3_edbg_send(): sending 7 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 4 (command_sequence == 4) Raw message: 12 80 00 [AVR] OK avrdude: jtag3_setparm() avrdude: sending set parameter (scope 0x12, section 1, parm 0) command: avrdude: jtag3_edbg_send(): sending 7 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 5 (command_sequence == 5) Raw message: 12 80 00 [AVR] OK avrdude: jtag3_getparm() avrdude: sending get parameter (scope 0x01, section 1, parm 0) command: avrdude: jtag3_edbg_send(): sending 6 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 6 (command_sequence == 6) Raw message: 01 84 01 ef 0c 00 [general] Data returned: 0x01 0xef 0x0c 0x00 Vtarget : 3.31 V avrdude: jtag3_getparm() avrdude: sending get parameter (scope 0x12, section 1, parm 0) command: avrdude: jtag3_edbg_send(): sending 6 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 7 (command_sequence == 7) Raw message: 12 84 00 08 00 [AVR] Data returned: 0x00 0x08 0x00 avrdude: jtag3_getparm() avrdude: sending get parameter (scope 0x12, section 0, parm 0) command: avrdude: jtag3_edbg_send(): sending 6 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 8 (command_sequence == 8) Raw message: 12 84 00 05 00 [AVR] Data returned: 0x00 0x05 0x00 avrdude: jtag3_getparm() avrdude: sending get parameter (scope 0x12, section 1, parm 49) command: avrdude: jtag3_edbg_send(): sending 6 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 9 (command_sequence == 9) Raw message: 12 84 00 64 00 00 [AVR] Data returned: 0x00 0x64 0x00 0x00 PDI/UPDI clk : 100 kHz UPDI SET: xd->prog_base_msb=80 xd->prog_base=0 0 xd->flash_page_size_msb=0 xd->flash_page_size=80 xd->eeprom_page_size=8 xd->nvmctrl=0 10 xd->ocd=80 f xd->address_mode=1 avrdude: jtag3_setparm() avrdude: sending set parameter (scope 0x12, section 2, parm 0) command: avrdude: jtag3_edbg_send(): sending 54 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 10 (command_sequence == 10) Raw message: 12 80 00 [AVR] OK avrdude: sending AVR sign-on command: avrdude: jtag3_edbg_send(): sending 4 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 11 (command_sequence == 11) Raw message: 12 84 00 41 56 52 20 00 [AVR] Data returned: 0x00 0x41 0x56 0x52 0x20 0x00 avrdude: partial Family_ID returned: "AVR " avrdude: sending read SIB command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 12 (command_sequence == 12) Raw message: 12 84 00 41 56 52 20 20 20 20 20 50 3a 33 44 3a 31 2d 33 4d 32 20 28 42 31 2e 35 39 46 30 32 2e 30 29 00 00 [AVR] Data returned: 0x00 0x41 0x56 0x52 0x20 0x20 0x20 0x20 0x20 0x50 0x3a 0x33 0x44 0x3a 0x31 0x2d 0x33 0x4d 0x32 0x20 0x28 0x42 0x31 0x2e 0x35 0x39 0x46 0x30 0x32 0x2e 0x30 0x29 0x00 0x00 avrdude: jtag3_read_sib(): received SIB: AVR P:3D:1-3M2 (B1.59F02.0) avrdude: jtag3_read_byte(.., io, 0xf01, ...) avrdude: sending enter progmode command: avrdude: jtag3_edbg_send(): sending 3 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 13 (command_sequence == 13) Raw message: 12 80 00 [AVR] OK avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 14 (command_sequence == 14) Raw message: 12 84 00 21 00 [AVR] Data returned: 0x00 0x21 0x00 avrdude: jtag3_read_chip_rev(): received chip silicon revision: 0x21 avrdude: silicon revision: 2.1 avrdude: AVR device initialized and ready to accept instructions Reading | | 0% 0.00 s avrdude: jtag3_read_byte(.., signature, 0x0, ...) mapped to address: 0x1100 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 15 (command_sequence == 15) Raw message: 12 84 00 1e 96 1e 00 [AVR] Data returned: 0x00 0x1e 0x96 0x1e 0x00 avrdude: jtag3_read_byte(.., signature, 0x1, ...) mapped to address: 0x1101 Reading | ################# | 33% 0.02 s avrdude: jtag3_read_byte(.., signature, 0x2, ...) mapped to address: 0x1102 Reading | ################################################## | 100% 0.03 s avrdude: device signature = 0x1e961e (probably avr64ea48) avrdude: Note: flash memory has been specified, an erase cycle will be performed. To disable this feature, specify the -D option. avrdude: erasing chip avrdude: sending chip erase command: avrdude: jtag3_edbg_send(): sending 8 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 16 (command_sequence == 16) Raw message: 12 80 00 [AVR] OK avrdude: processing -U flash:w:.\median_Release_1.0.0.hex:i avrdude: reading input file .\median_Release_1.0.0.hex for flash with 5122 bytes in 1 section within [0, 0x1401] using 41 pages and 126 pad bytes avrdude: writing 5122 bytes flash ... Writing | | 0% 0.00 s avrdude: jtag3_paged_load(.., flash, 128, 0x1400, 128) avrdude: jtag3_paged_load(): block_size at addr 5120 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 17 (command_sequence == 17) Raw message: 12 84 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 [AVR] Data returned: 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x00 avrdude: padding flash [0x1400, 0x147f] avrdude: jtag3_paged_write(.., flash, 128, 0x0000, 128) avrdude: jtag3_paged_write(): block_size at addr 0 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 18 (command_sequence == 18) Raw message: 12 80 00 [AVR] OK Writing | # | 2% 0.15 s avrdude: jtag3_paged_write(.., flash, 128, 0x0080, 128) avrdude: jtag3_paged_write(): block_size at addr 128 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 19 (command_sequence == 19) Raw message: 12 80 00 [AVR] OK Writing | ## | 4% 0.23 s avrdude: jtag3_paged_write(.., flash, 128, 0x0100, 128) avrdude: jtag3_paged_write(): block_size at addr 256 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 20 (command_sequence == 20) Raw message: 12 80 00 [AVR] OK Writing | #### | 7% 0.30 s avrdude: jtag3_paged_write(.., flash, 128, 0x0180, 128) avrdude: jtag3_paged_write(): block_size at addr 384 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 21 (command_sequence == 21) Raw message: 12 80 00 [AVR] OK Writing | ##### | 9% 0.37 s avrdude: jtag3_paged_write(.., flash, 128, 0x0200, 128) avrdude: jtag3_paged_write(): block_size at addr 512 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 22 (command_sequence == 22) Raw message: 12 80 00 [AVR] OK Writing | ###### | 12% 0.44 s avrdude: jtag3_paged_write(.., flash, 128, 0x0280, 128) avrdude: jtag3_paged_write(): block_size at addr 640 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 23 (command_sequence == 23) Raw message: 12 80 00 [AVR] OK Writing | ####### | 14% 0.52 s avrdude: jtag3_paged_write(.., flash, 128, 0x0300, 128) avrdude: jtag3_paged_write(): block_size at addr 768 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 24 (command_sequence == 24) Raw message: 12 80 00 [AVR] OK Writing | ######### | 17% 0.59 s avrdude: jtag3_paged_write(.., flash, 128, 0x0380, 128) avrdude: jtag3_paged_write(): block_size at addr 896 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 25 (command_sequence == 25) Raw message: 12 80 00 [AVR] OK Writing | ########## | 19% 0.66 s avrdude: jtag3_paged_write(.., flash, 128, 0x0400, 128) avrdude: jtag3_paged_write(): block_size at addr 1024 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 26 (command_sequence == 26) Raw message: 12 80 00 [AVR] OK Writing | ########### | 21% 0.73 s avrdude: jtag3_paged_write(.., flash, 128, 0x0480, 128) avrdude: jtag3_paged_write(): block_size at addr 1152 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 27 (command_sequence == 27) Raw message: 12 80 00 [AVR] OK Writing | ############ | 24% 0.81 s avrdude: jtag3_paged_write(.., flash, 128, 0x0500, 128) avrdude: jtag3_paged_write(): block_size at addr 1280 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 28 (command_sequence == 28) Raw message: 12 80 00 [AVR] OK Writing | ############# | 26% 0.88 s avrdude: jtag3_paged_write(.., flash, 128, 0x0580, 128) avrdude: jtag3_paged_write(): block_size at addr 1408 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 29 (command_sequence == 29) Raw message: 12 80 00 [AVR] OK Writing | ############### | 29% 0.96 s avrdude: jtag3_paged_write(.., flash, 128, 0x0600, 128) avrdude: jtag3_paged_write(): block_size at addr 1536 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 30 (command_sequence == 30) Raw message: 12 80 00 [AVR] OK Writing | ################ | 31% 1.03 s avrdude: jtag3_paged_write(.., flash, 128, 0x0680, 128) avrdude: jtag3_paged_write(): block_size at addr 1664 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 31 (command_sequence == 31) Raw message: 12 80 00 [AVR] OK Writing | ################# | 34% 1.11 s avrdude: jtag3_paged_write(.., flash, 128, 0x0700, 128) avrdude: jtag3_paged_write(): block_size at addr 1792 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 32 (command_sequence == 32) Raw message: 12 80 00 [AVR] OK Writing | ################## | 36% 1.18 s avrdude: jtag3_paged_write(.., flash, 128, 0x0780, 128) avrdude: jtag3_paged_write(): block_size at addr 1920 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 33 (command_sequence == 33) Raw message: 12 80 00 [AVR] OK Writing | #################### | 39% 1.25 s avrdude: jtag3_paged_write(.., flash, 128, 0x0800, 128) avrdude: jtag3_paged_write(): block_size at addr 2048 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 34 (command_sequence == 34) Raw message: 12 80 00 [AVR] OK Writing | ##################### | 41% 1.32 s avrdude: jtag3_paged_write(.., flash, 128, 0x0880, 128) avrdude: jtag3_paged_write(): block_size at addr 2176 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 35 (command_sequence == 35) Raw message: 12 80 00 [AVR] OK Writing | ###################### | 43% 1.39 s avrdude: jtag3_paged_write(.., flash, 128, 0x0900, 128) avrdude: jtag3_paged_write(): block_size at addr 2304 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 36 (command_sequence == 36) Raw message: 12 80 00 [AVR] OK Writing | ####################### | 46% 1.47 s avrdude: jtag3_paged_write(.., flash, 128, 0x0980, 128) avrdude: jtag3_paged_write(): block_size at addr 2432 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 37 (command_sequence == 37) Raw message: 12 80 00 [AVR] OK Writing | ######################## | 48% 1.54 s avrdude: jtag3_paged_write(.., flash, 128, 0x0a00, 128) avrdude: jtag3_paged_write(): block_size at addr 2560 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 38 (command_sequence == 38) Raw message: 12 80 00 [AVR] OK Writing | ########################## | 51% 1.61 s avrdude: jtag3_paged_write(.., flash, 128, 0x0a80, 128) avrdude: jtag3_paged_write(): block_size at addr 2688 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 39 (command_sequence == 39) Raw message: 12 80 00 [AVR] OK Writing | ########################### | 53% 1.69 s avrdude: jtag3_paged_write(.., flash, 128, 0x0b00, 128) avrdude: jtag3_paged_write(): block_size at addr 2816 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 40 (command_sequence == 40) Raw message: 12 80 00 [AVR] OK Writing | ############################ | 56% 1.76 s avrdude: jtag3_paged_write(.., flash, 128, 0x0b80, 128) avrdude: jtag3_paged_write(): block_size at addr 2944 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 41 (command_sequence == 41) Raw message: 12 80 00 [AVR] OK Writing | ############################# | 58% 1.83 s avrdude: jtag3_paged_write(.., flash, 128, 0x0c00, 128) avrdude: jtag3_paged_write(): block_size at addr 3072 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 42 (command_sequence == 42) Raw message: 12 80 00 [AVR] OK Writing | ############################## | 60% 1.90 s avrdude: jtag3_paged_write(.., flash, 128, 0x0c80, 128) avrdude: jtag3_paged_write(): block_size at addr 3200 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 43 (command_sequence == 43) Raw message: 12 80 00 [AVR] OK Writing | ################################ | 63% 1.98 s avrdude: jtag3_paged_write(.., flash, 128, 0x0d00, 128) avrdude: jtag3_paged_write(): block_size at addr 3328 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 44 (command_sequence == 44) Raw message: 12 80 00 [AVR] OK Writing | ################################# | 65% 2.05 s avrdude: jtag3_paged_write(.., flash, 128, 0x0d80, 128) avrdude: jtag3_paged_write(): block_size at addr 3456 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 45 (command_sequence == 45) Raw message: 12 80 00 [AVR] OK Writing | ################################## | 68% 2.12 s avrdude: jtag3_paged_write(.., flash, 128, 0x0e00, 128) avrdude: jtag3_paged_write(): block_size at addr 3584 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 46 (command_sequence == 46) Raw message: 12 80 00 [AVR] OK Writing | ################################### | 70% 2.20 s avrdude: jtag3_paged_write(.., flash, 128, 0x0e80, 128) avrdude: jtag3_paged_write(): block_size at addr 3712 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 47 (command_sequence == 47) Raw message: 12 80 00 [AVR] OK Writing | ##################################### | 73% 2.27 s avrdude: jtag3_paged_write(.., flash, 128, 0x0f00, 128) avrdude: jtag3_paged_write(): block_size at addr 3840 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 48 (command_sequence == 48) Raw message: 12 80 00 [AVR] OK Writing | ###################################### | 75% 2.34 s avrdude: jtag3_paged_write(.., flash, 128, 0x0f80, 128) avrdude: jtag3_paged_write(): block_size at addr 3968 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 49 (command_sequence == 49) Raw message: 12 80 00 [AVR] OK Writing | ####################################### | 78% 2.41 s avrdude: jtag3_paged_write(.., flash, 128, 0x1000, 128) avrdude: jtag3_paged_write(): block_size at addr 4096 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 50 (command_sequence == 50) Raw message: 12 80 00 [AVR] OK Writing | ######################################## | 80% 2.49 s avrdude: jtag3_paged_write(.., flash, 128, 0x1080, 128) avrdude: jtag3_paged_write(): block_size at addr 4224 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 51 (command_sequence == 51) Raw message: 12 80 00 [AVR] OK Writing | ######################################### | 82% 2.56 s avrdude: jtag3_paged_write(.., flash, 128, 0x1100, 128) avrdude: jtag3_paged_write(): block_size at addr 4352 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 52 (command_sequence == 52) Raw message: 12 80 00 [AVR] OK Writing | ########################################### | 85% 2.63 s avrdude: jtag3_paged_write(.., flash, 128, 0x1180, 128) avrdude: jtag3_paged_write(): block_size at addr 4480 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 53 (command_sequence == 53) Raw message: 12 80 00 [AVR] OK Writing | ############################################ | 87% 2.70 s avrdude: jtag3_paged_write(.., flash, 128, 0x1200, 128) avrdude: jtag3_paged_write(): block_size at addr 4608 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 54 (command_sequence == 54) Raw message: 12 80 00 [AVR] OK Writing | ############################################# | 90% 2.78 s avrdude: jtag3_paged_write(.., flash, 128, 0x1280, 128) avrdude: jtag3_paged_write(): block_size at addr 4736 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 55 (command_sequence == 55) Raw message: 12 80 00 [AVR] OK Writing | ############################################## | 92% 2.85 s avrdude: jtag3_paged_write(.., flash, 128, 0x1300, 128) avrdude: jtag3_paged_write(): block_size at addr 4864 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 56 (command_sequence == 56) Raw message: 12 80 00 [AVR] OK Writing | ################################################ | 95% 2.92 s avrdude: jtag3_paged_write(.., flash, 128, 0x1380, 128) avrdude: jtag3_paged_write(): block_size at addr 4992 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 57 (command_sequence == 57) Raw message: 12 80 00 [AVR] OK Writing | ################################################# | 97% 2.99 s avrdude: jtag3_paged_write(.., flash, 128, 0x1400, 128) avrdude: jtag3_paged_write(): block_size at addr 5120 is 128 avrdude: sending write memory command: avrdude: jtag3_edbg_send(): sending 141 bytes avrdude: jtag3_edbg_send(): fragmenting into 3 packets avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 58 (command_sequence == 58) Raw message: 12 80 00 [AVR] OK Writing | ################################################## | 100% 3.06 s avrdude: 5122 bytes of flash written avrdude: verifying flash memory against .\median_Release_1.0.0.hex avrdude: reading on-chip flash data ... Reading | | 0% 0.00 s avrdude: jtag3_paged_load(.., flash, 128, 0x0000, 128) avrdude: jtag3_paged_load(): block_size at addr 0 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 59 (command_sequence == 59) Raw message: 12 84 00 5c c0 00 00 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 00 [AVR] Data returned: 0x00 0x5c 0xc0 0x00 0x00 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x00 Reading | # | 2% 0.08 s avrdude: jtag3_paged_load(.., flash, 128, 0x0080, 128) avrdude: jtag3_paged_load(): block_size at addr 128 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 60 (command_sequence == 60) Raw message: 12 84 00 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 0c 94 60 08 68 00 69 02 80 00 80 91 01 10 8f 7c 80 60 80 68 98 ed 94 bf 80 93 01 10 11 24 1f be cf ef cd bf df e7 de bf e4 eb f0 e0 40 e0 17 c0 b5 91 a5 91 35 91 25 91 05 91 07 fd 0c c0 95 91 85 91 ef 01 f9 2f e8 2f 05 90 0d 92 a2 17 b3 07 00 [AVR] Data returned: 0x00 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x0c 0x94 0x60 0x08 0x68 0x00 0x69 0x02 0x80 0x00 0x80 0x91 0x01 0x10 0x8f 0x7c 0x80 0x60 0x80 0x68 0x98 0xed 0x94 0xbf 0x80 0x93 0x01 0x10 0x11 0x24 0x1f 0xbe 0xcf 0xef 0xcd 0xbf 0xdf 0xe7 0xde 0xbf 0xe4 0xeb 0xf0 0xe0 0x40 0xe0 0x17 0xc0 0xb5 0x91 0xa5 0x91 0x35 0x91 0x25 0x91 0x05 0x91 0x07 0xfd 0x0c 0xc0 0x95 0x91 0x85 0x91 0xef 0x01 0xf9 0x2f 0xe8 0x2f 0x05 0x90 0x0d 0x92 0xa2 0x17 0xb3 0x07 0x00 Reading | ## | 4% 0.16 s avrdude: jtag3_paged_load(.., flash, 128, 0x0100, 128) avrdude: jtag3_paged_load(): block_size at addr 256 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 61 (command_sequence == 61) Raw message: 12 84 00 d9 f7 fe 01 04 c0 1d 92 a2 17 b3 07 e1 f7 e9 3b f4 07 31 f7 0e 94 5b 09 0c 94 f8 09 f8 94 ff cf 93 95 94 92 93 97 9c 9f 9c 93 87 82 84 8b 91 94 94 92 91 91 92 93 92 8d 84 7b 75 75 79 7e 81 81 82 85 8d 95 9b 9e 9c 97 95 99 a0 a4 a2 99 8f 8a 8b 8d 8c 86 7c 71 6c 6c 6e 6e 6d 6d 70 74 7a 7f 82 83 84 88 8e 94 96 93 8d 89 8b 90 95 96 93 8c 84 7d 77 70 68 62 5d 56 4e 47 45 4d 5c 6b 76 7d 00 [AVR] Data returned: 0x00 0xd9 0xf7 0xfe 0x01 0x04 0xc0 0x1d 0x92 0xa2 0x17 0xb3 0x07 0xe1 0xf7 0xe9 0x3b 0xf4 0x07 0x31 0xf7 0x0e 0x94 0x5b 0x09 0x0c 0x94 0xf8 0x09 0xf8 0x94 0xff 0xcf 0x93 0x95 0x94 0x92 0x93 0x97 0x9c 0x9f 0x9c 0x93 0x87 0x82 0x84 0x8b 0x91 0x94 0x94 0x92 0x91 0x91 0x92 0x93 0x92 0x8d 0x84 0x7b 0x75 0x75 0x79 0x7e 0x81 0x81 0x82 0x85 0x8d 0x95 0x9b 0x9e 0x9c 0x97 0x95 0x99 0xa0 0xa4 0xa2 0x99 0x8f 0x8a 0x8b 0x8d 0x8c 0x86 0x7c 0x71 0x6c 0x6c 0x6e 0x6e 0x6d 0x6d 0x70 0x74 0x7a 0x7f 0x82 0x83 0x84 0x88 0x8e 0x94 0x96 0x93 0x8d 0x89 0x8b 0x90 0x95 0x96 0x93 0x8c 0x84 0x7d 0x77 0x70 0x68 0x62 0x5d 0x56 0x4e 0x47 0x45 0x4d 0x5c 0x6b 0x76 0x7d 0x00 Reading | #### | 7% 0.24 s avrdude: jtag3_paged_load(.., flash, 128, 0x0180, 128) avrdude: jtag3_paged_load(): block_size at addr 384 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 62 (command_sequence == 62) Raw message: 12 84 00 81 84 88 8c 8e 8e 8c 88 85 86 8a 8e 8f 8c 88 84 80 7a 73 6b 60 56 51 51 57 5e 62 63 63 67 71 7f 8a 8c 86 7e 7a 7c 83 8b 8e 8d 88 84 82 80 7e 7a 75 6f 68 63 61 61 62 64 68 6e 74 79 7d 80 81 82 82 81 80 80 81 83 87 8b 8d 8e 8e 8c 89 86 84 81 7b 73 6d 6c 70 75 7a 7f 83 85 84 85 87 8b 8e 8c 85 7d 78 79 7f 87 8d 92 95 95 93 92 95 9a 9e 9e 97 8c 83 83 89 90 94 95 93 91 91 92 93 93 8f 87 00 [AVR] Data returned: 0x00 0x81 0x84 0x88 0x8c 0x8e 0x8e 0x8c 0x88 0x85 0x86 0x8a 0x8e 0x8f 0x8c 0x88 0x84 0x80 0x7a 0x73 0x6b 0x60 0x56 0x51 0x51 0x57 0x5e 0x62 0x63 0x63 0x67 0x71 0x7f 0x8a 0x8c 0x86 0x7e 0x7a 0x7c 0x83 0x8b 0x8e 0x8d 0x88 0x84 0x82 0x80 0x7e 0x7a 0x75 0x6f 0x68 0x63 0x61 0x61 0x62 0x64 0x68 0x6e 0x74 0x79 0x7d 0x80 0x81 0x82 0x82 0x81 0x80 0x80 0x81 0x83 0x87 0x8b 0x8d 0x8e 0x8e 0x8c 0x89 0x86 0x84 0x81 0x7b 0x73 0x6d 0x6c 0x70 0x75 0x7a 0x7f 0x83 0x85 0x84 0x85 0x87 0x8b 0x8e 0x8c 0x85 0x7d 0x78 0x79 0x7f 0x87 0x8d 0x92 0x95 0x95 0x93 0x92 0x95 0x9a 0x9e 0x9e 0x97 0x8c 0x83 0x83 0x89 0x90 0x94 0x95 0x93 0x91 0x91 0x92 0x93 0x93 0x8f 0x87 0x00 Reading | ##### | 9% 0.32 s avrdude: jtag3_paged_load(.., flash, 128, 0x0200, 128) avrdude: jtag3_paged_load(): block_size at addr 512 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 63 (command_sequence == 63) Raw message: 12 84 00 7e 77 75 78 7d 80 81 81 83 8a 92 99 9d 9d 99 96 97 9d a4 a4 9e 94 8b 8a 8c 8d 89 80 75 6d 6b 6d 6e 6d 6d 6f 73 78 7e 82 83 84 86 8b 92 96 94 8f 8a 89 8e 94 97 96 90 87 7f 79 72 6b 65 5f 58 50 48 45 4a 58 67 73 7a 7f 83 87 8b 8d 8e 8c 89 86 86 8a 8e 8f 8d 89 86 82 7d 76 6d 63 59 52 50 55 5c 61 63 63 65 6d 7a 87 8c 88 81 7b 7b 81 89 8e 8e 8a 85 82 81 7f 7c 77 71 6a 64 61 61 62 63 66 00 [AVR] Data returned: 0x00 0x7e 0x77 0x75 0x78 0x7d 0x80 0x81 0x81 0x83 0x8a 0x92 0x99 0x9d 0x9d 0x99 0x96 0x97 0x9d 0xa4 0xa4 0x9e 0x94 0x8b 0x8a 0x8c 0x8d 0x89 0x80 0x75 0x6d 0x6b 0x6d 0x6e 0x6d 0x6d 0x6f 0x73 0x78 0x7e 0x82 0x83 0x84 0x86 0x8b 0x92 0x96 0x94 0x8f 0x8a 0x89 0x8e 0x94 0x97 0x96 0x90 0x87 0x7f 0x79 0x72 0x6b 0x65 0x5f 0x58 0x50 0x48 0x45 0x4a 0x58 0x67 0x73 0x7a 0x7f 0x83 0x87 0x8b 0x8d 0x8e 0x8c 0x89 0x86 0x86 0x8a 0x8e 0x8f 0x8d 0x89 0x86 0x82 0x7d 0x76 0x6d 0x63 0x59 0x52 0x50 0x55 0x5c 0x61 0x63 0x63 0x65 0x6d 0x7a 0x87 0x8c 0x88 0x81 0x7b 0x7b 0x81 0x89 0x8e 0x8e 0x8a 0x85 0x82 0x81 0x7f 0x7c 0x77 0x71 0x6a 0x64 0x61 0x61 0x62 0x63 0x66 0x00 Reading | ###### | 12% 0.40 s avrdude: jtag3_paged_load(.., flash, 128, 0x0280, 128) avrdude: jtag3_paged_load(): block_size at addr 640 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 64 (command_sequence == 64) Raw message: 12 84 00 6b 72 78 7c 7f 81 81 82 81 80 7f 80 82 85 89 8d 8f 8f 8e 8a 87 84 82 7e 76 6f 6c 6d 72 78 7e 83 85 85 85 87 8a 8d 8d 87 7f 79 78 7d 84 8c 92 95 96 94 93 94 99 9d 9f 9a 8f 84 82 86 8e 93 94 93 91 91 92 93 93 90 89 80 79 76 77 7c 80 81 81 83 88 90 98 9c 9d 99 95 95 9a a1 a5 a1 97 8d 89 8b 8d 8b 83 78 6e 6a 6c 6e 6d 6d 6e 71 76 7d 82 84 84 84 88 8e 94 95 91 8b 88 8b 91 96 96 92 8a 82 00 [AVR] Data returned: 0x00 0x6b 0x72 0x78 0x7c 0x7f 0x81 0x81 0x82 0x81 0x80 0x7f 0x80 0x82 0x85 0x89 0x8d 0x8f 0x8f 0x8e 0x8a 0x87 0x84 0x82 0x7e 0x76 0x6f 0x6c 0x6d 0x72 0x78 0x7e 0x83 0x85 0x85 0x85 0x87 0x8a 0x8d 0x8d 0x87 0x7f 0x79 0x78 0x7d 0x84 0x8c 0x92 0x95 0x96 0x94 0x93 0x94 0x99 0x9d 0x9f 0x9a 0x8f 0x84 0x82 0x86 0x8e 0x93 0x94 0x93 0x91 0x91 0x92 0x93 0x93 0x90 0x89 0x80 0x79 0x76 0x77 0x7c 0x80 0x81 0x81 0x83 0x88 0x90 0x98 0x9c 0x9d 0x99 0x95 0x95 0x9a 0xa1 0xa5 0xa1 0x97 0x8d 0x89 0x8b 0x8d 0x8b 0x83 0x78 0x6e 0x6a 0x6c 0x6e 0x6d 0x6d 0x6e 0x71 0x76 0x7d 0x82 0x84 0x84 0x84 0x88 0x8e 0x94 0x95 0x91 0x8b 0x88 0x8b 0x91 0x96 0x96 0x92 0x8a 0x82 0x00 Reading | ####### | 14% 0.48 s avrdude: jtag3_paged_load(.., flash, 128, 0x0300, 128) avrdude: jtag3_paged_load(): block_size at addr 768 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 65 (command_sequence == 65) Raw message: 12 84 00 7b 75 6e 66 60 5a 53 4c 46 47 51 61 6f 78 7e 82 85 88 8c 8d 8d 8a 87 85 87 8b 8e 8e 8b 88 84 7f 78 71 68 5d 54 50 52 58 5f 63 64 65 69 74 82 8b 8b 84 7d 7a 7d 85 8c 8f 8c 87 84 82 80 7e 7a 74 6d 66 62 61 62 63 65 69 6f 76 7b 7f 81 82 82 81 80 7f 7f 81 84 87 8c 8f 90 8f 8c 89 86 83 80 7a 73 6d 6c 70 75 7c 81 85 86 85 86 88 8c 8e 8b 83 7c 79 7b 81 89 8f 94 96 95 94 93 96 9b 9e 9c 95 00 [AVR] Data returned: 0x00 0x7b 0x75 0x6e 0x66 0x60 0x5a 0x53 0x4c 0x46 0x47 0x51 0x61 0x6f 0x78 0x7e 0x82 0x85 0x88 0x8c 0x8d 0x8d 0x8a 0x87 0x85 0x87 0x8b 0x8e 0x8e 0x8b 0x88 0x84 0x7f 0x78 0x71 0x68 0x5d 0x54 0x50 0x52 0x58 0x5f 0x63 0x64 0x65 0x69 0x74 0x82 0x8b 0x8b 0x84 0x7d 0x7a 0x7d 0x85 0x8c 0x8f 0x8c 0x87 0x84 0x82 0x80 0x7e 0x7a 0x74 0x6d 0x66 0x62 0x61 0x62 0x63 0x65 0x69 0x6f 0x76 0x7b 0x7f 0x81 0x82 0x82 0x81 0x80 0x7f 0x7f 0x81 0x84 0x87 0x8c 0x8f 0x90 0x8f 0x8c 0x89 0x86 0x83 0x80 0x7a 0x73 0x6d 0x6c 0x70 0x75 0x7c 0x81 0x85 0x86 0x85 0x86 0x88 0x8c 0x8e 0x8b 0x83 0x7c 0x79 0x7b 0x81 0x89 0x8f 0x94 0x96 0x95 0x94 0x93 0x96 0x9b 0x9e 0x9c 0x95 0x00 Reading | ######### | 17% 0.56 s avrdude: jtag3_paged_load(.., flash, 128, 0x0380, 128) avrdude: jtag3_paged_load(): block_size at addr 896 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 66 (command_sequence == 66) Raw message: 12 84 00 8a 83 84 8a 90 94 95 93 92 92 93 93 93 8e 86 7d 78 76 79 7d 81 82 82 84 8b 94 9a 9d 9c 97 94 97 9e a4 a4 9d 92 8a 8a 8c 8d 88 7f 73 6c 6b 6d 6e 6d 6d 6f 73 79 7f 82 83 83 85 8b 91 95 93 8d 88 89 8e 93 96 94 8e 86 7f 79 72 6a 63 5e 58 51 49 45 4a 57 66 73 7b 80 83 86 89 8d 8e 8c 88 85 84 87 8c 8e 8d 8a 86 81 7c 75 6e 65 5a 52 50 54 5b 61 63 64 66 6d 7b 87 8c 89 81 7b 7b 80 88 8e 8e 00 [AVR] Data returned: 0x00 0x8a 0x83 0x84 0x8a 0x90 0x94 0x95 0x93 0x92 0x92 0x93 0x93 0x93 0x8e 0x86 0x7d 0x78 0x76 0x79 0x7d 0x81 0x82 0x82 0x84 0x8b 0x94 0x9a 0x9d 0x9c 0x97 0x94 0x97 0x9e 0xa4 0xa4 0x9d 0x92 0x8a 0x8a 0x8c 0x8d 0x88 0x7f 0x73 0x6c 0x6b 0x6d 0x6e 0x6d 0x6d 0x6f 0x73 0x79 0x7f 0x82 0x83 0x83 0x85 0x8b 0x91 0x95 0x93 0x8d 0x88 0x89 0x8e 0x93 0x96 0x94 0x8e 0x86 0x7f 0x79 0x72 0x6a 0x63 0x5e 0x58 0x51 0x49 0x45 0x4a 0x57 0x66 0x73 0x7b 0x80 0x83 0x86 0x89 0x8d 0x8e 0x8c 0x88 0x85 0x84 0x87 0x8c 0x8e 0x8d 0x8a 0x86 0x81 0x7c 0x75 0x6e 0x65 0x5a 0x52 0x50 0x54 0x5b 0x61 0x63 0x64 0x66 0x6d 0x7b 0x87 0x8c 0x89 0x81 0x7b 0x7b 0x80 0x88 0x8e 0x8e 0x00 Reading | ########## | 19% 0.64 s avrdude: jtag3_paged_load(.., flash, 128, 0x0400, 128) avrdude: jtag3_paged_load(): block_size at addr 1024 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 67 (command_sequence == 67) Raw message: 12 84 00 8a 86 83 81 7f 7c 78 72 6b 64 61 61 62 63 66 6b 72 78 7d 80 82 82 82 81 80 80 80 82 85 89 8c 8e 8f 8e 8b 88 85 82 7e 77 70 6c 6e 72 78 7e 83 85 85 85 86 8a 8e 8e 89 81 7b 7a 7d 83 89 8e 92 93 93 92 93 96 9a 9c 9a 93 8a 85 87 8c 92 95 96 94 92 92 92 93 93 8f 86 7d 76 75 78 7d 80 80 80 83 8a 92 9a 9e 9c 97 96 99 a0 a5 a3 9a 8f 89 8a 8d 8d 87 7d 73 6d 6c 6d 6d 6c 6d 6f 73 78 7d 80 82 00 [AVR] Data returned: 0x00 0x8a 0x86 0x83 0x81 0x7f 0x7c 0x78 0x72 0x6b 0x64 0x61 0x61 0x62 0x63 0x66 0x6b 0x72 0x78 0x7d 0x80 0x82 0x82 0x82 0x81 0x80 0x80 0x80 0x82 0x85 0x89 0x8c 0x8e 0x8f 0x8e 0x8b 0x88 0x85 0x82 0x7e 0x77 0x70 0x6c 0x6e 0x72 0x78 0x7e 0x83 0x85 0x85 0x85 0x86 0x8a 0x8e 0x8e 0x89 0x81 0x7b 0x7a 0x7d 0x83 0x89 0x8e 0x92 0x93 0x93 0x92 0x93 0x96 0x9a 0x9c 0x9a 0x93 0x8a 0x85 0x87 0x8c 0x92 0x95 0x96 0x94 0x92 0x92 0x92 0x93 0x93 0x8f 0x86 0x7d 0x76 0x75 0x78 0x7d 0x80 0x80 0x80 0x83 0x8a 0x92 0x9a 0x9e 0x9c 0x97 0x96 0x99 0xa0 0xa5 0xa3 0x9a 0x8f 0x89 0x8a 0x8d 0x8d 0x87 0x7d 0x73 0x6d 0x6c 0x6d 0x6d 0x6c 0x6d 0x6f 0x73 0x78 0x7d 0x80 0x82 0x00 Reading | ########### | 21% 0.72 s avrdude: jtag3_paged_load(.., flash, 128, 0x0480, 128) avrdude: jtag3_paged_load(): block_size at addr 1152 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 68 (command_sequence == 68) Raw message: 12 84 00 83 87 8e 94 96 93 8c 89 8b 90 95 96 92 8b 83 7d 77 70 69 63 5d 55 4d 46 45 4e 5d 6b 75 7b 80 84 88 8c 8f 8e 8b 87 86 87 8b 8f 8e 8b 87 84 7f 7a 73 6a 5f 55 50 51 57 5e 62 62 63 67 72 81 8c 8d 87 7f 7b 7e 85 8c 8f 8d 88 84 81 7f 7d 7a 75 6f 68 63 61 61 62 64 68 6f 75 7a 7e 81 82 82 82 81 80 80 81 83 87 8a 8d 8e 8e 8d 89 86 83 80 7a 72 6d 6c 70 75 7a 7f 83 85 85 86 88 8b 8e 8c 86 7e 00 [AVR] Data returned: 0x00 0x83 0x87 0x8e 0x94 0x96 0x93 0x8c 0x89 0x8b 0x90 0x95 0x96 0x92 0x8b 0x83 0x7d 0x77 0x70 0x69 0x63 0x5d 0x55 0x4d 0x46 0x45 0x4e 0x5d 0x6b 0x75 0x7b 0x80 0x84 0x88 0x8c 0x8f 0x8e 0x8b 0x87 0x86 0x87 0x8b 0x8f 0x8e 0x8b 0x87 0x84 0x7f 0x7a 0x73 0x6a 0x5f 0x55 0x50 0x51 0x57 0x5e 0x62 0x62 0x63 0x67 0x72 0x81 0x8c 0x8d 0x87 0x7f 0x7b 0x7e 0x85 0x8c 0x8f 0x8d 0x88 0x84 0x81 0x7f 0x7d 0x7a 0x75 0x6f 0x68 0x63 0x61 0x61 0x62 0x64 0x68 0x6f 0x75 0x7a 0x7e 0x81 0x82 0x82 0x82 0x81 0x80 0x80 0x81 0x83 0x87 0x8a 0x8d 0x8e 0x8e 0x8d 0x89 0x86 0x83 0x80 0x7a 0x72 0x6d 0x6c 0x70 0x75 0x7a 0x7f 0x83 0x85 0x85 0x86 0x88 0x8b 0x8e 0x8c 0x86 0x7e 0x00 Reading | ############ | 24% 0.80 s avrdude: jtag3_paged_load(.., flash, 128, 0x0500, 128) avrdude: jtag3_paged_load(): block_size at addr 1280 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 69 (command_sequence == 69) Raw message: 12 84 00 79 79 7f 86 8d 92 94 93 92 92 94 99 9c 9c 97 8c 85 84 89 90 94 95 94 92 92 92 93 93 90 88 7f 78 75 77 7c 7f 80 80 82 88 91 98 9d 9d 99 95 97 9d a4 a5 9f 95 8c 8a 8c 8d 8a 81 76 6e 6c 6d 6d 6d 6d 6e 72 77 7d 80 82 83 85 8b 91 95 94 8f 8a 89 8e 94 98 96 8f 86 7e 78 72 6c 65 5f 58 4f 48 44 4a 58 67 72 7a 7f 83 86 8a 8d 8e 8c 89 86 87 8a 8e 8f 8d 89 85 81 7d 76 6e 63 58 51 4f 54 5c 61 00 [AVR] Data returned: 0x00 0x79 0x79 0x7f 0x86 0x8d 0x92 0x94 0x93 0x92 0x92 0x94 0x99 0x9c 0x9c 0x97 0x8c 0x85 0x84 0x89 0x90 0x94 0x95 0x94 0x92 0x92 0x92 0x93 0x93 0x90 0x88 0x7f 0x78 0x75 0x77 0x7c 0x7f 0x80 0x80 0x82 0x88 0x91 0x98 0x9d 0x9d 0x99 0x95 0x97 0x9d 0xa4 0xa5 0x9f 0x95 0x8c 0x8a 0x8c 0x8d 0x8a 0x81 0x76 0x6e 0x6c 0x6d 0x6d 0x6d 0x6d 0x6e 0x72 0x77 0x7d 0x80 0x82 0x83 0x85 0x8b 0x91 0x95 0x94 0x8f 0x8a 0x89 0x8e 0x94 0x98 0x96 0x8f 0x86 0x7e 0x78 0x72 0x6c 0x65 0x5f 0x58 0x4f 0x48 0x44 0x4a 0x58 0x67 0x72 0x7a 0x7f 0x83 0x86 0x8a 0x8d 0x8e 0x8c 0x89 0x86 0x87 0x8a 0x8e 0x8f 0x8d 0x89 0x85 0x81 0x7d 0x76 0x6e 0x63 0x58 0x51 0x4f 0x54 0x5c 0x61 0x00 Reading | ############# | 26% 0.87 s avrdude: jtag3_paged_load(.., flash, 128, 0x0580, 128) avrdude: jtag3_paged_load(): block_size at addr 1408 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 70 (command_sequence == 70) Raw message: 12 84 00 63 63 65 6d 7b 88 8e 89 81 7c 7c 82 8a 8f 8e 8a 85 82 81 7f 7c 77 71 69 63 61 61 62 63 66 6c 73 79 7d 80 82 82 82 81 80 7f 80 82 85 89 8c 8f 8f 8e 8b 87 84 81 7d 76 6f 6c 6d 72 78 7d 82 85 86 86 87 8a 8d 8e 89 80 7a 78 7c 83 8b 91 94 94 93 92 94 97 9b 9d 99 90 87 83 87 8d 93 95 94 93 92 92 93 93 91 8b 82 7a 76 76 7b 7f 81 81 81 86 8f 97 9c 9d 9a 96 95 9a a1 a5 a2 99 8f 8a 8b 8e 8c 00 [AVR] Data returned: 0x00 0x63 0x63 0x65 0x6d 0x7b 0x88 0x8e 0x89 0x81 0x7c 0x7c 0x82 0x8a 0x8f 0x8e 0x8a 0x85 0x82 0x81 0x7f 0x7c 0x77 0x71 0x69 0x63 0x61 0x61 0x62 0x63 0x66 0x6c 0x73 0x79 0x7d 0x80 0x82 0x82 0x82 0x81 0x80 0x7f 0x80 0x82 0x85 0x89 0x8c 0x8f 0x8f 0x8e 0x8b 0x87 0x84 0x81 0x7d 0x76 0x6f 0x6c 0x6d 0x72 0x78 0x7d 0x82 0x85 0x86 0x86 0x87 0x8a 0x8d 0x8e 0x89 0x80 0x7a 0x78 0x7c 0x83 0x8b 0x91 0x94 0x94 0x93 0x92 0x94 0x97 0x9b 0x9d 0x99 0x90 0x87 0x83 0x87 0x8d 0x93 0x95 0x94 0x93 0x92 0x92 0x93 0x93 0x91 0x8b 0x82 0x7a 0x76 0x76 0x7b 0x7f 0x81 0x81 0x81 0x86 0x8f 0x97 0x9c 0x9d 0x9a 0x96 0x95 0x9a 0xa1 0xa5 0xa2 0x99 0x8f 0x8a 0x8b 0x8e 0x8c 0x00 Reading | ############### | 29% 0.95 s avrdude: jtag3_paged_load(.., flash, 128, 0x0600, 128) avrdude: jtag3_paged_load(): block_size at addr 1536 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 71 (command_sequence == 71) Raw message: 12 84 00 85 7a 70 6c 6c 6e 6d 6c 6d 70 75 7b 80 83 83 84 87 8e 94 96 92 8b 88 8b 91 96 97 92 8a 81 7b 75 6e 67 61 5a 53 4b 45 46 51 60 6e 77 7d 81 85 88 8c 8e 8d 8b 87 85 87 8b 8e 8e 8b 87 83 7e 78 71 68 5d 53 4e 50 57 5f 63 64 64 69 74 83 8c 8c 85 7d 7b 7e 86 8d 8f 8c 87 84 82 80 7e 7a 74 6d 66 61 60 61 62 64 68 6f 76 7b 7f 82 82 82 81 81 80 80 81 84 87 8b 8e 8f 8f 8d 89 85 83 7f 7a 72 6d 00 [AVR] Data returned: 0x00 0x85 0x7a 0x70 0x6c 0x6c 0x6e 0x6d 0x6c 0x6d 0x70 0x75 0x7b 0x80 0x83 0x83 0x84 0x87 0x8e 0x94 0x96 0x92 0x8b 0x88 0x8b 0x91 0x96 0x97 0x92 0x8a 0x81 0x7b 0x75 0x6e 0x67 0x61 0x5a 0x53 0x4b 0x45 0x46 0x51 0x60 0x6e 0x77 0x7d 0x81 0x85 0x88 0x8c 0x8e 0x8d 0x8b 0x87 0x85 0x87 0x8b 0x8e 0x8e 0x8b 0x87 0x83 0x7e 0x78 0x71 0x68 0x5d 0x53 0x4e 0x50 0x57 0x5f 0x63 0x64 0x64 0x69 0x74 0x83 0x8c 0x8c 0x85 0x7d 0x7b 0x7e 0x86 0x8d 0x8f 0x8c 0x87 0x84 0x82 0x80 0x7e 0x7a 0x74 0x6d 0x66 0x61 0x60 0x61 0x62 0x64 0x68 0x6f 0x76 0x7b 0x7f 0x82 0x82 0x82 0x81 0x81 0x80 0x80 0x81 0x84 0x87 0x8b 0x8e 0x8f 0x8f 0x8d 0x89 0x85 0x83 0x7f 0x7a 0x72 0x6d 0x00 Reading | ################ | 31% 1.03 s avrdude: jtag3_paged_load(.., flash, 128, 0x0680, 128) avrdude: jtag3_paged_load(): block_size at addr 1664 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 72 (command_sequence == 72) Raw message: 12 84 00 6c 6f 75 7b 81 84 86 86 86 88 8c 8e 8c 84 7d 79 7a 80 87 8e 93 95 94 93 93 95 99 9c 9c 96 8b 85 85 8a 91 95 96 94 93 92 93 93 93 8f 87 7f 78 75 78 7d 80 81 81 83 8a 92 99 9d 9c 97 95 97 9d a4 a5 9e 94 8c 8a 8d 8d 8a 80 75 6e 6c 6d 6d 6c 6c 6e 72 78 7d 81 82 83 85 8b 92 96 94 8e 89 89 8e 94 97 95 8e 86 7f 79 72 6b 64 5e 57 4f 48 44 49 57 66 72 7a 7f 83 86 8a 8d 8e 8d 89 86 85 88 8d 00 [AVR] Data returned: 0x00 0x6c 0x6f 0x75 0x7b 0x81 0x84 0x86 0x86 0x86 0x88 0x8c 0x8e 0x8c 0x84 0x7d 0x79 0x7a 0x80 0x87 0x8e 0x93 0x95 0x94 0x93 0x93 0x95 0x99 0x9c 0x9c 0x96 0x8b 0x85 0x85 0x8a 0x91 0x95 0x96 0x94 0x93 0x92 0x93 0x93 0x93 0x8f 0x87 0x7f 0x78 0x75 0x78 0x7d 0x80 0x81 0x81 0x83 0x8a 0x92 0x99 0x9d 0x9c 0x97 0x95 0x97 0x9d 0xa4 0xa5 0x9e 0x94 0x8c 0x8a 0x8d 0x8d 0x8a 0x80 0x75 0x6e 0x6c 0x6d 0x6d 0x6c 0x6c 0x6e 0x72 0x78 0x7d 0x81 0x82 0x83 0x85 0x8b 0x92 0x96 0x94 0x8e 0x89 0x89 0x8e 0x94 0x97 0x95 0x8e 0x86 0x7f 0x79 0x72 0x6b 0x64 0x5e 0x57 0x4f 0x48 0x44 0x49 0x57 0x66 0x72 0x7a 0x7f 0x83 0x86 0x8a 0x8d 0x8e 0x8d 0x89 0x86 0x85 0x88 0x8d 0x00 Reading | ################# | 34% 1.11 s avrdude: jtag3_paged_load(.., flash, 128, 0x0700, 128) avrdude: jtag3_paged_load(): block_size at addr 1792 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 73 (command_sequence == 73) Raw message: 12 84 00 8f 8d 8a 85 81 7c 76 6e 64 59 51 4e 53 5b 61 63 63 65 6d 7a 88 8d 89 81 7b 7b 81 89 8e 8e 8a 86 83 81 7f 7c 77 71 6a 63 60 60 61 62 65 6b 72 78 7d 80 82 82 82 81 80 80 80 82 85 89 8c 8e 8f 8e 8b 87 84 81 7d 76 6f 6c 6d 72 77 7d 83 86 86 86 87 8a 8e 8e 89 81 7b 79 7c 83 8a 90 93 94 93 92 93 97 9b 9d 9a 92 88 84 87 8d 93 96 95 94 92 92 93 94 92 8d 84 7c 76 76 7a 7e 80 81 81 85 8c 94 00 [AVR] Data returned: 0x00 0x8f 0x8d 0x8a 0x85 0x81 0x7c 0x76 0x6e 0x64 0x59 0x51 0x4e 0x53 0x5b 0x61 0x63 0x63 0x65 0x6d 0x7a 0x88 0x8d 0x89 0x81 0x7b 0x7b 0x81 0x89 0x8e 0x8e 0x8a 0x86 0x83 0x81 0x7f 0x7c 0x77 0x71 0x6a 0x63 0x60 0x60 0x61 0x62 0x65 0x6b 0x72 0x78 0x7d 0x80 0x82 0x82 0x82 0x81 0x80 0x80 0x80 0x82 0x85 0x89 0x8c 0x8e 0x8f 0x8e 0x8b 0x87 0x84 0x81 0x7d 0x76 0x6f 0x6c 0x6d 0x72 0x77 0x7d 0x83 0x86 0x86 0x86 0x87 0x8a 0x8e 0x8e 0x89 0x81 0x7b 0x79 0x7c 0x83 0x8a 0x90 0x93 0x94 0x93 0x92 0x93 0x97 0x9b 0x9d 0x9a 0x92 0x88 0x84 0x87 0x8d 0x93 0x96 0x95 0x94 0x92 0x92 0x93 0x94 0x92 0x8d 0x84 0x7c 0x76 0x76 0x7a 0x7e 0x80 0x81 0x81 0x85 0x8c 0x94 0x00 Reading | ################## | 36% 1.19 s avrdude: jtag3_paged_load(.., flash, 128, 0x0780, 128) avrdude: jtag3_paged_load(): block_size at addr 1920 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 74 (command_sequence == 74) Raw message: 12 84 00 9a 9d 9b 97 96 9a a1 a5 a3 9a 90 8b 8b 8d 8c 86 7c 72 6c 6c 6d 6d 6c 6d 70 74 7a 7e 81 82 84 88 8f 94 96 92 8c 89 8c 92 96 97 93 8a 82 7b 76 6f 68 62 5b 53 4b 45 46 50 5f 6d 76 7c 81 85 89 8d 8f 8e 8b 87 86 88 8c 8f 8f 8b 87 83 7f 79 72 69 5e 54 4f 51 58 5f 62 63 63 68 73 82 8c 8c 85 7e 7b 7f 86 8d 90 8c 88 84 81 7f 7d 79 74 6d 66 61 60 60 62 64 69 6f 76 7b 7e 81 82 82 81 81 80 7f 00 [AVR] Data returned: 0x00 0x9a 0x9d 0x9b 0x97 0x96 0x9a 0xa1 0xa5 0xa3 0x9a 0x90 0x8b 0x8b 0x8d 0x8c 0x86 0x7c 0x72 0x6c 0x6c 0x6d 0x6d 0x6c 0x6d 0x70 0x74 0x7a 0x7e 0x81 0x82 0x84 0x88 0x8f 0x94 0x96 0x92 0x8c 0x89 0x8c 0x92 0x96 0x97 0x93 0x8a 0x82 0x7b 0x76 0x6f 0x68 0x62 0x5b 0x53 0x4b 0x45 0x46 0x50 0x5f 0x6d 0x76 0x7c 0x81 0x85 0x89 0x8d 0x8f 0x8e 0x8b 0x87 0x86 0x88 0x8c 0x8f 0x8f 0x8b 0x87 0x83 0x7f 0x79 0x72 0x69 0x5e 0x54 0x4f 0x51 0x58 0x5f 0x62 0x63 0x63 0x68 0x73 0x82 0x8c 0x8c 0x85 0x7e 0x7b 0x7f 0x86 0x8d 0x90 0x8c 0x88 0x84 0x81 0x7f 0x7d 0x79 0x74 0x6d 0x66 0x61 0x60 0x60 0x62 0x64 0x69 0x6f 0x76 0x7b 0x7e 0x81 0x82 0x82 0x81 0x81 0x80 0x7f 0x00 Reading | #################### | 39% 1.27 s avrdude: jtag3_paged_load(.., flash, 128, 0x0800, 128) avrdude: jtag3_paged_load(): block_size at addr 2048 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 75 (command_sequence == 75) Raw message: 12 84 00 81 84 87 8b 8e 8f 8f 8c 89 85 82 7f 79 71 6c 6c 6f 75 7b 80 84 86 86 86 88 8b 8e 8b 84 7c 78 79 7f 88 8f 94 95 94 92 92 96 9a 9d 9c 94 89 83 84 8b 92 95 95 93 92 92 93 94 92 8d 85 7d 77 76 79 7e 80 81 81 84 8c 94 99 9c 9b 97 95 98 9e a4 a5 9e 93 8c 8b 8d 8d 88 7f 73 6c 6b 6d 6d 6d 6d 6f 73 79 7f 82 83 84 86 8b 92 95 93 8d 89 8a 8f 96 98 96 8e 84 7c 77 71 6a 63 5c 55 4c 46 45 4d 5c 00 [AVR] Data returned: 0x00 0x81 0x84 0x87 0x8b 0x8e 0x8f 0x8f 0x8c 0x89 0x85 0x82 0x7f 0x79 0x71 0x6c 0x6c 0x6f 0x75 0x7b 0x80 0x84 0x86 0x86 0x86 0x88 0x8b 0x8e 0x8b 0x84 0x7c 0x78 0x79 0x7f 0x88 0x8f 0x94 0x95 0x94 0x92 0x92 0x96 0x9a 0x9d 0x9c 0x94 0x89 0x83 0x84 0x8b 0x92 0x95 0x95 0x93 0x92 0x92 0x93 0x94 0x92 0x8d 0x85 0x7d 0x77 0x76 0x79 0x7e 0x80 0x81 0x81 0x84 0x8c 0x94 0x99 0x9c 0x9b 0x97 0x95 0x98 0x9e 0xa4 0xa5 0x9e 0x93 0x8c 0x8b 0x8d 0x8d 0x88 0x7f 0x73 0x6c 0x6b 0x6d 0x6d 0x6d 0x6d 0x6f 0x73 0x79 0x7f 0x82 0x83 0x84 0x86 0x8b 0x92 0x95 0x93 0x8d 0x89 0x8a 0x8f 0x96 0x98 0x96 0x8e 0x84 0x7c 0x77 0x71 0x6a 0x63 0x5c 0x55 0x4c 0x46 0x45 0x4d 0x5c 0x00 Reading | ##################### | 41% 1.35 s avrdude: jtag3_paged_load(.., flash, 128, 0x0880, 128) avrdude: jtag3_paged_load(): block_size at addr 2176 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 76 (command_sequence == 76) Raw message: 12 84 00 6a 74 7a 7f 84 88 8b 8d 8d 8b 88 86 87 8b 8f 8f 8c 88 85 81 7b 74 6b 60 56 4f 4f 55 5d 62 63 63 66 6f 7e 8a 8d 87 7f 7b 7d 84 8c 90 8e 8a 85 83 81 7f 7b 75 6f 67 62 5f 60 62 64 67 6d 74 7a 7e 81 82 82 81 80 80 7f 80 83 86 8a 8e 90 90 8e 8a 86 83 80 7b 74 6d 6b 6d 72 79 7f 84 86 86 86 87 8a 8d 8c 86 7e 78 78 7d 85 8e 93 96 96 94 93 95 99 9d 9d 97 8c 83 83 89 90 95 95 93 92 92 93 94 00 [AVR] Data returned: 0x00 0x6a 0x74 0x7a 0x7f 0x84 0x88 0x8b 0x8d 0x8d 0x8b 0x88 0x86 0x87 0x8b 0x8f 0x8f 0x8c 0x88 0x85 0x81 0x7b 0x74 0x6b 0x60 0x56 0x4f 0x4f 0x55 0x5d 0x62 0x63 0x63 0x66 0x6f 0x7e 0x8a 0x8d 0x87 0x7f 0x7b 0x7d 0x84 0x8c 0x90 0x8e 0x8a 0x85 0x83 0x81 0x7f 0x7b 0x75 0x6f 0x67 0x62 0x5f 0x60 0x62 0x64 0x67 0x6d 0x74 0x7a 0x7e 0x81 0x82 0x82 0x81 0x80 0x80 0x7f 0x80 0x83 0x86 0x8a 0x8e 0x90 0x90 0x8e 0x8a 0x86 0x83 0x80 0x7b 0x74 0x6d 0x6b 0x6d 0x72 0x79 0x7f 0x84 0x86 0x86 0x86 0x87 0x8a 0x8d 0x8c 0x86 0x7e 0x78 0x78 0x7d 0x85 0x8e 0x93 0x96 0x96 0x94 0x93 0x95 0x99 0x9d 0x9d 0x97 0x8c 0x83 0x83 0x89 0x90 0x95 0x95 0x93 0x92 0x92 0x93 0x94 0x00 Reading | ###################### | 43% 1.43 s avrdude: jtag3_paged_load(.., flash, 128, 0x0900, 128) avrdude: jtag3_paged_load(): block_size at addr 2304 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 77 (command_sequence == 77) Raw message: 12 84 00 93 8f 87 7f 79 77 79 7d 81 82 82 84 8a 93 99 9c 9b 98 94 96 9c a3 a5 a0 96 8d 8b 8d 8e 8b 82 76 6d 6a 6c 6e 6d 6c 6e 71 78 7e 82 84 84 85 89 8f 94 94 8f 8a 88 8c 93 97 96 91 88 80 7a 73 6c 65 5f 58 51 49 45 48 54 64 70 79 7e 82 85 89 8c 8d 8c 8a 86 85 87 8b 8e 8e 8b 87 83 7d 77 70 66 5b 53 4f 52 59 60 63 64 65 6b 77 85 8c 8a 82 7c 7a 7f 87 8d 8f 8b 87 84 82 80 7e 79 72 6b 64 60 60 00 [AVR] Data returned: 0x00 0x93 0x8f 0x87 0x7f 0x79 0x77 0x79 0x7d 0x81 0x82 0x82 0x84 0x8a 0x93 0x99 0x9c 0x9b 0x98 0x94 0x96 0x9c 0xa3 0xa5 0xa0 0x96 0x8d 0x8b 0x8d 0x8e 0x8b 0x82 0x76 0x6d 0x6a 0x6c 0x6e 0x6d 0x6c 0x6e 0x71 0x78 0x7e 0x82 0x84 0x84 0x85 0x89 0x8f 0x94 0x94 0x8f 0x8a 0x88 0x8c 0x93 0x97 0x96 0x91 0x88 0x80 0x7a 0x73 0x6c 0x65 0x5f 0x58 0x51 0x49 0x45 0x48 0x54 0x64 0x70 0x79 0x7e 0x82 0x85 0x89 0x8c 0x8d 0x8c 0x8a 0x86 0x85 0x87 0x8b 0x8e 0x8e 0x8b 0x87 0x83 0x7d 0x77 0x70 0x66 0x5b 0x53 0x4f 0x52 0x59 0x60 0x63 0x64 0x65 0x6b 0x77 0x85 0x8c 0x8a 0x82 0x7c 0x7a 0x7f 0x87 0x8d 0x8f 0x8b 0x87 0x84 0x82 0x80 0x7e 0x79 0x72 0x6b 0x64 0x60 0x60 0x00 Reading | ####################### | 46% 1.51 s avrdude: jtag3_paged_load(.., flash, 128, 0x0980, 128) avrdude: jtag3_paged_load(): block_size at addr 2432 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 78 (command_sequence == 78) Raw message: 12 84 00 61 63 65 6a 70 77 7d 80 82 82 81 80 80 7f 80 81 84 87 8b 8f 90 8f 8c 88 85 82 7f 78 71 6c 6c 6f 75 7c 82 86 86 85 86 89 8c 8e 8a 82 7b 78 7b 82 89 90 94 95 95 93 93 97 9b 9d 9b 92 87 82 85 8c 92 95 95 93 92 92 93 94 92 8d 84 7d 78 77 7a 7f 81 82 82 86 8d 95 9a 9c 9a 96 94 98 9f a4 a3 9b 91 8b 8b 8e 8e 88 7e 72 6c 6b 6d 6d 6d 6d 6f 74 7a 7f 83 84 84 86 8c 92 95 92 8c 88 8a 8f 95 97 00 [AVR] Data returned: 0x00 0x61 0x63 0x65 0x6a 0x70 0x77 0x7d 0x80 0x82 0x82 0x81 0x80 0x80 0x7f 0x80 0x81 0x84 0x87 0x8b 0x8f 0x90 0x8f 0x8c 0x88 0x85 0x82 0x7f 0x78 0x71 0x6c 0x6c 0x6f 0x75 0x7c 0x82 0x86 0x86 0x85 0x86 0x89 0x8c 0x8e 0x8a 0x82 0x7b 0x78 0x7b 0x82 0x89 0x90 0x94 0x95 0x95 0x93 0x93 0x97 0x9b 0x9d 0x9b 0x92 0x87 0x82 0x85 0x8c 0x92 0x95 0x95 0x93 0x92 0x92 0x93 0x94 0x92 0x8d 0x84 0x7d 0x78 0x77 0x7a 0x7f 0x81 0x82 0x82 0x86 0x8d 0x95 0x9a 0x9c 0x9a 0x96 0x94 0x98 0x9f 0xa4 0xa3 0x9b 0x91 0x8b 0x8b 0x8e 0x8e 0x88 0x7e 0x72 0x6c 0x6b 0x6d 0x6d 0x6d 0x6d 0x6f 0x74 0x7a 0x7f 0x83 0x84 0x84 0x86 0x8c 0x92 0x95 0x92 0x8c 0x88 0x8a 0x8f 0x95 0x97 0x00 Reading | ######################## | 48% 1.59 s avrdude: jtag3_paged_load(.., flash, 128, 0x0a00, 128) avrdude: jtag3_paged_load(): block_size at addr 2560 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 79 (command_sequence == 79) Raw message: 12 84 00 94 8d 84 7d 77 70 69 62 5c 56 4e 47 45 4d 5b 6a 74 7b 80 83 86 8a 8d 8d 8b 87 85 86 8a 8e 8f 8d 89 85 80 7b 74 6c 62 57 51 50 55 5d 62 64 64 67 70 7e 89 8c 87 7f 7b 7c 83 8a 8f 8e 8a 86 83 81 7e 7b 76 6f 68 62 60 60 62 64 67 6d 74 7a 7f 81 82 82 81 80 80 80 80 82 85 89 8d 8f 8f 8e 8a 86 83 80 7c 74 6e 6b 6d 72 78 7f 84 86 86 85 87 8a 8e 8d 87 7f 7a 79 7e 85 8c 91 94 94 93 92 93 97 00 [AVR] Data returned: 0x00 0x94 0x8d 0x84 0x7d 0x77 0x70 0x69 0x62 0x5c 0x56 0x4e 0x47 0x45 0x4d 0x5b 0x6a 0x74 0x7b 0x80 0x83 0x86 0x8a 0x8d 0x8d 0x8b 0x87 0x85 0x86 0x8a 0x8e 0x8f 0x8d 0x89 0x85 0x80 0x7b 0x74 0x6c 0x62 0x57 0x51 0x50 0x55 0x5d 0x62 0x64 0x64 0x67 0x70 0x7e 0x89 0x8c 0x87 0x7f 0x7b 0x7c 0x83 0x8a 0x8f 0x8e 0x8a 0x86 0x83 0x81 0x7e 0x7b 0x76 0x6f 0x68 0x62 0x60 0x60 0x62 0x64 0x67 0x6d 0x74 0x7a 0x7f 0x81 0x82 0x82 0x81 0x80 0x80 0x80 0x80 0x82 0x85 0x89 0x8d 0x8f 0x8f 0x8e 0x8a 0x86 0x83 0x80 0x7c 0x74 0x6e 0x6b 0x6d 0x72 0x78 0x7f 0x84 0x86 0x86 0x85 0x87 0x8a 0x8e 0x8d 0x87 0x7f 0x7a 0x79 0x7e 0x85 0x8c 0x91 0x94 0x94 0x93 0x92 0x93 0x97 0x00 Reading | ########################## | 51% 1.67 s avrdude: jtag3_paged_load(.., flash, 128, 0x0a80, 128) avrdude: jtag3_paged_load(): block_size at addr 2688 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 80 (command_sequence == 80) Raw message: 12 84 00 9b 9c 98 8e 86 84 88 8f 94 96 95 93 92 92 93 93 91 8a 82 7a 76 77 7b 7f 81 81 82 87 8e 96 9b 9c 99 95 95 9b a2 a5 a1 97 8e 8a 8c 8e 8c 85 79 70 6c 6c 6d 6d 6c 6e 70 75 7b 80 82 83 84 89 90 95 95 90 8a 89 8c 92 97 96 91 88 80 7a 74 6d 67 61 59 51 49 44 48 54 64 70 77 7d 81 85 89 8d 8e 8d 8a 87 86 8a 8e 90 8e 8a 86 83 7e 78 70 66 5b 53 50 53 5a 60 63 63 64 6b 77 85 8d 8a 83 7d 7b 80 00 [AVR] Data returned: 0x00 0x9b 0x9c 0x98 0x8e 0x86 0x84 0x88 0x8f 0x94 0x96 0x95 0x93 0x92 0x92 0x93 0x93 0x91 0x8a 0x82 0x7a 0x76 0x77 0x7b 0x7f 0x81 0x81 0x82 0x87 0x8e 0x96 0x9b 0x9c 0x99 0x95 0x95 0x9b 0xa2 0xa5 0xa1 0x97 0x8e 0x8a 0x8c 0x8e 0x8c 0x85 0x79 0x70 0x6c 0x6c 0x6d 0x6d 0x6c 0x6e 0x70 0x75 0x7b 0x80 0x82 0x83 0x84 0x89 0x90 0x95 0x95 0x90 0x8a 0x89 0x8c 0x92 0x97 0x96 0x91 0x88 0x80 0x7a 0x74 0x6d 0x67 0x61 0x59 0x51 0x49 0x44 0x48 0x54 0x64 0x70 0x77 0x7d 0x81 0x85 0x89 0x8d 0x8e 0x8d 0x8a 0x87 0x86 0x8a 0x8e 0x90 0x8e 0x8a 0x86 0x83 0x7e 0x78 0x70 0x66 0x5b 0x53 0x50 0x53 0x5a 0x60 0x63 0x63 0x64 0x6b 0x77 0x85 0x8d 0x8a 0x83 0x7d 0x7b 0x80 0x00 Reading | ########################### | 53% 1.75 s avrdude: jtag3_paged_load(.., flash, 128, 0x0b00, 128) avrdude: jtag3_paged_load(): block_size at addr 2816 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 81 (command_sequence == 81) Raw message: 12 84 00 88 8e 8f 8b 87 84 81 7f 7c 78 72 6b 65 60 60 61 63 66 6b 72 78 7d 80 82 82 82 81 80 80 80 81 84 87 8b 8e 8f 8f 8c 88 84 81 7e 78 70 6c 6c 70 76 7c 82 85 86 86 86 89 8c 8e 8a 82 7a 77 7a 82 8b 91 95 96 94 92 93 97 9c 9e 9a 91 86 82 86 8d 93 96 94 92 92 92 94 94 91 8b 82 7b 77 77 7b 7f 81 81 82 87 8f 96 9b 9c 99 95 93 98 9f a4 a3 9a 90 8b 8b 8e 8d 87 7c 71 6b 6b 6d 6d 6d 6d 70 75 7b 00 [AVR] Data returned: 0x00 0x88 0x8e 0x8f 0x8b 0x87 0x84 0x81 0x7f 0x7c 0x78 0x72 0x6b 0x65 0x60 0x60 0x61 0x63 0x66 0x6b 0x72 0x78 0x7d 0x80 0x82 0x82 0x82 0x81 0x80 0x80 0x80 0x81 0x84 0x87 0x8b 0x8e 0x8f 0x8f 0x8c 0x88 0x84 0x81 0x7e 0x78 0x70 0x6c 0x6c 0x70 0x76 0x7c 0x82 0x85 0x86 0x86 0x86 0x89 0x8c 0x8e 0x8a 0x82 0x7a 0x77 0x7a 0x82 0x8b 0x91 0x95 0x96 0x94 0x92 0x93 0x97 0x9c 0x9e 0x9a 0x91 0x86 0x82 0x86 0x8d 0x93 0x96 0x94 0x92 0x92 0x92 0x94 0x94 0x91 0x8b 0x82 0x7b 0x77 0x77 0x7b 0x7f 0x81 0x81 0x82 0x87 0x8f 0x96 0x9b 0x9c 0x99 0x95 0x93 0x98 0x9f 0xa4 0xa3 0x9a 0x90 0x8b 0x8b 0x8e 0x8d 0x87 0x7c 0x71 0x6b 0x6b 0x6d 0x6d 0x6d 0x6d 0x70 0x75 0x7b 0x00 Reading | ############################ | 56% 1.83 s avrdude: jtag3_paged_load(.., flash, 128, 0x0b80, 128) avrdude: jtag3_paged_load(): block_size at addr 2944 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 82 (command_sequence == 82) Raw message: 12 84 00 80 83 84 84 86 8c 92 94 91 8b 88 8a 90 95 97 94 8b 82 7a 75 6f 68 62 5b 53 4b 45 46 50 5f 6d 76 7c 80 84 87 8b 8d 8c 8a 87 85 87 8b 8e 8e 8c 88 84 80 7a 72 69 5e 55 50 51 57 5e 63 64 65 69 73 81 8b 8c 85 7d 7a 7d 84 8c 8f 8d 88 85 82 81 7f 7a 74 6d 66 61 5f 61 63 65 69 6f 76 7c 80 82 83 82 80 80 7f 7f 81 83 86 8a 8e 90 90 8e 8a 85 82 7f 7a 73 6d 6b 6e 73 79 80 84 86 86 86 88 8b 8e 00 [AVR] Data returned: 0x00 0x80 0x83 0x84 0x84 0x86 0x8c 0x92 0x94 0x91 0x8b 0x88 0x8a 0x90 0x95 0x97 0x94 0x8b 0x82 0x7a 0x75 0x6f 0x68 0x62 0x5b 0x53 0x4b 0x45 0x46 0x50 0x5f 0x6d 0x76 0x7c 0x80 0x84 0x87 0x8b 0x8d 0x8c 0x8a 0x87 0x85 0x87 0x8b 0x8e 0x8e 0x8c 0x88 0x84 0x80 0x7a 0x72 0x69 0x5e 0x55 0x50 0x51 0x57 0x5e 0x63 0x64 0x65 0x69 0x73 0x81 0x8b 0x8c 0x85 0x7d 0x7a 0x7d 0x84 0x8c 0x8f 0x8d 0x88 0x85 0x82 0x81 0x7f 0x7a 0x74 0x6d 0x66 0x61 0x5f 0x61 0x63 0x65 0x69 0x6f 0x76 0x7c 0x80 0x82 0x83 0x82 0x80 0x80 0x7f 0x7f 0x81 0x83 0x86 0x8a 0x8e 0x90 0x90 0x8e 0x8a 0x85 0x82 0x7f 0x7a 0x73 0x6d 0x6b 0x6e 0x73 0x79 0x80 0x84 0x86 0x86 0x86 0x88 0x8b 0x8e 0x00 Reading | ############################# | 58% 1.91 s avrdude: jtag3_paged_load(.., flash, 128, 0x0c00, 128) avrdude: jtag3_paged_load(): block_size at addr 3072 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 83 (command_sequence == 83) Raw message: 12 84 00 8c 84 7c 78 79 7f 88 8f 94 96 96 94 94 96 9a 9d 9c 95 8a 83 84 8a 91 95 95 93 92 93 93 94 92 8e 86 7e 78 77 79 7e 81 82 82 85 8c 94 9a 9c 9b 96 93 95 9c a3 a4 9e 94 8c 8b 8d 8e 8a 81 75 6d 6b 6d 6e 6d 6c 6e 72 78 7f 83 85 84 85 89 90 94 93 8e 89 88 8c 93 96 95 8f 86 7e 78 72 6b 64 5e 57 4f 48 45 4a 57 67 72 7a 7f 83 85 89 8c 8d 8c 89 86 85 88 8c 8f 8e 8b 87 82 7c 76 6e 64 5a 52 4f 00 [AVR] Data returned: 0x00 0x8c 0x84 0x7c 0x78 0x79 0x7f 0x88 0x8f 0x94 0x96 0x96 0x94 0x94 0x96 0x9a 0x9d 0x9c 0x95 0x8a 0x83 0x84 0x8a 0x91 0x95 0x95 0x93 0x92 0x93 0x93 0x94 0x92 0x8e 0x86 0x7e 0x78 0x77 0x79 0x7e 0x81 0x82 0x82 0x85 0x8c 0x94 0x9a 0x9c 0x9b 0x96 0x93 0x95 0x9c 0xa3 0xa4 0x9e 0x94 0x8c 0x8b 0x8d 0x8e 0x8a 0x81 0x75 0x6d 0x6b 0x6d 0x6e 0x6d 0x6c 0x6e 0x72 0x78 0x7f 0x83 0x85 0x84 0x85 0x89 0x90 0x94 0x93 0x8e 0x89 0x88 0x8c 0x93 0x96 0x95 0x8f 0x86 0x7e 0x78 0x72 0x6b 0x64 0x5e 0x57 0x4f 0x48 0x45 0x4a 0x57 0x67 0x72 0x7a 0x7f 0x83 0x85 0x89 0x8c 0x8d 0x8c 0x89 0x86 0x85 0x88 0x8c 0x8f 0x8e 0x8b 0x87 0x82 0x7c 0x76 0x6e 0x64 0x5a 0x52 0x4f 0x00 Reading | ############################## | 60% 1.99 s avrdude: jtag3_paged_load(.., flash, 128, 0x0c80, 128) avrdude: jtag3_paged_load(): block_size at addr 3200 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 84 (command_sequence == 84) Raw message: 12 84 00 53 5a 60 64 65 66 6d 7a 87 8c 89 81 7b 7b 80 88 8d 8e 8a 87 84 82 80 7d 78 72 6a 63 60 60 61 63 66 6b 72 79 7e 82 83 82 81 80 80 80 80 82 84 88 8c 8f 90 8f 8c 88 84 81 7d 77 70 6c 6c 70 76 7d 82 86 86 86 86 89 8d 8e 89 81 7a 79 7c 83 8a 90 94 95 94 93 94 97 9a 9c 9a 91 87 83 86 8d 93 96 95 94 93 92 93 94 92 8c 84 7c 77 76 7a 7f 81 82 82 86 8e 95 9b 9c 99 95 93 98 9f a4 a3 9a 90 8b 00 [AVR] Data returned: 0x00 0x53 0x5a 0x60 0x64 0x65 0x66 0x6d 0x7a 0x87 0x8c 0x89 0x81 0x7b 0x7b 0x80 0x88 0x8d 0x8e 0x8a 0x87 0x84 0x82 0x80 0x7d 0x78 0x72 0x6a 0x63 0x60 0x60 0x61 0x63 0x66 0x6b 0x72 0x79 0x7e 0x82 0x83 0x82 0x81 0x80 0x80 0x80 0x80 0x82 0x84 0x88 0x8c 0x8f 0x90 0x8f 0x8c 0x88 0x84 0x81 0x7d 0x77 0x70 0x6c 0x6c 0x70 0x76 0x7d 0x82 0x86 0x86 0x86 0x86 0x89 0x8d 0x8e 0x89 0x81 0x7a 0x79 0x7c 0x83 0x8a 0x90 0x94 0x95 0x94 0x93 0x94 0x97 0x9a 0x9c 0x9a 0x91 0x87 0x83 0x86 0x8d 0x93 0x96 0x95 0x94 0x93 0x92 0x93 0x94 0x92 0x8c 0x84 0x7c 0x77 0x76 0x7a 0x7f 0x81 0x82 0x82 0x86 0x8e 0x95 0x9b 0x9c 0x99 0x95 0x93 0x98 0x9f 0xa4 0xa3 0x9a 0x90 0x8b 0x00 Reading | ################################ | 63% 2.07 s avrdude: jtag3_paged_load(.., flash, 128, 0x0d00, 128) avrdude: jtag3_paged_load(): block_size at addr 3328 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 85 (command_sequence == 85) Raw message: 12 84 00 8c 8e 8e 88 7d 72 6c 6c 6d 6d 6d 6d 70 74 7a 7f 82 83 84 87 8d 93 95 91 8c 88 8a 8f 95 96 93 8b 83 7c 76 6f 68 62 5b 54 4c 46 45 4e 5d 6b 75 7c 80 83 87 8b 8d 8d 8b 87 85 86 8a 8e 8f 8c 89 85 80 7a 73 6b 60 56 50 50 56 5d 62 64 65 68 72 80 8b 8c 86 7e 7a 7d 83 8b 8e 8d 89 85 83 80 7e 7a 75 6f 67 62 60 60 62 64 68 6f 76 7c 80 83 83 82 81 80 80 80 81 83 86 89 8d 8f 90 8e 8a 86 83 80 00 [AVR] Data returned: 0x00 0x8c 0x8e 0x8e 0x88 0x7d 0x72 0x6c 0x6c 0x6d 0x6d 0x6d 0x6d 0x70 0x74 0x7a 0x7f 0x82 0x83 0x84 0x87 0x8d 0x93 0x95 0x91 0x8c 0x88 0x8a 0x8f 0x95 0x96 0x93 0x8b 0x83 0x7c 0x76 0x6f 0x68 0x62 0x5b 0x54 0x4c 0x46 0x45 0x4e 0x5d 0x6b 0x75 0x7c 0x80 0x83 0x87 0x8b 0x8d 0x8d 0x8b 0x87 0x85 0x86 0x8a 0x8e 0x8f 0x8c 0x89 0x85 0x80 0x7a 0x73 0x6b 0x60 0x56 0x50 0x50 0x56 0x5d 0x62 0x64 0x65 0x68 0x72 0x80 0x8b 0x8c 0x86 0x7e 0x7a 0x7d 0x83 0x8b 0x8e 0x8d 0x89 0x85 0x83 0x80 0x7e 0x7a 0x75 0x6f 0x67 0x62 0x60 0x60 0x62 0x64 0x68 0x6f 0x76 0x7c 0x80 0x83 0x83 0x82 0x81 0x80 0x80 0x80 0x81 0x83 0x86 0x89 0x8d 0x8f 0x90 0x8e 0x8a 0x86 0x83 0x80 0x00 Reading | ################################# | 65% 2.15 s avrdude: jtag3_paged_load(.., flash, 128, 0x0d80, 128) avrdude: jtag3_paged_load(): block_size at addr 3456 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 86 (command_sequence == 86) Raw message: 12 84 00 7a 73 6d 6c 6e 73 79 7f 84 86 86 86 88 8b 8e 8c 85 7d 79 79 7f 86 8d 92 95 95 93 93 95 99 9c 9c 96 8b 84 84 89 90 95 96 94 93 92 93 94 93 8f 88 7f 79 76 78 7c 80 81 81 84 8a 91 98 9c 9b 97 94 95 9c a2 a4 9f 95 8d 8b 8d 8e 8b 82 77 6e 6b 6c 6d 6c 6d 6e 72 77 7c 80 83 84 85 8a 90 94 93 8e 89 88 8d 93 97 96 90 87 7f 79 73 6c 65 5f 57 4f 48 44 49 56 66 72 79 7e 82 85 89 8c 8d 8c 88 85 00 [AVR] Data returned: 0x00 0x7a 0x73 0x6d 0x6c 0x6e 0x73 0x79 0x7f 0x84 0x86 0x86 0x86 0x88 0x8b 0x8e 0x8c 0x85 0x7d 0x79 0x79 0x7f 0x86 0x8d 0x92 0x95 0x95 0x93 0x93 0x95 0x99 0x9c 0x9c 0x96 0x8b 0x84 0x84 0x89 0x90 0x95 0x96 0x94 0x93 0x92 0x93 0x94 0x93 0x8f 0x88 0x7f 0x79 0x76 0x78 0x7c 0x80 0x81 0x81 0x84 0x8a 0x91 0x98 0x9c 0x9b 0x97 0x94 0x95 0x9c 0xa2 0xa4 0x9f 0x95 0x8d 0x8b 0x8d 0x8e 0x8b 0x82 0x77 0x6e 0x6b 0x6c 0x6d 0x6c 0x6d 0x6e 0x72 0x77 0x7c 0x80 0x83 0x84 0x85 0x8a 0x90 0x94 0x93 0x8e 0x89 0x88 0x8d 0x93 0x97 0x96 0x90 0x87 0x7f 0x79 0x73 0x6c 0x65 0x5f 0x57 0x4f 0x48 0x44 0x49 0x56 0x66 0x72 0x79 0x7e 0x82 0x85 0x89 0x8c 0x8d 0x8c 0x88 0x85 0x00 Reading | ################################## | 68% 2.23 s avrdude: jtag3_paged_load(.., flash, 128, 0x0e00, 128) avrdude: jtag3_paged_load(): block_size at addr 3584 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 87 (command_sequence == 87) Raw message: 12 84 00 85 89 8d 8f 8e 8a 86 82 7d 77 6f 64 5a 52 4f 53 5b 61 63 64 66 6d 7a 87 8d 89 81 7b 7b 80 88 8e 8e 8b 87 84 82 80 7d 78 72 6b 64 60 60 61 63 66 6c 73 79 7e 81 83 83 81 80 80 7f 80 82 84 88 8c 8f 90 8f 8c 88 84 81 7d 76 6f 6c 6c 70 77 7d 83 86 86 86 87 8a 8d 8e 88 80 79 77 7b 83 8c 92 96 96 95 93 95 99 9d 9e 99 8e 84 81 86 8e 94 95 94 92 92 93 94 94 90 89 80 7a 77 78 7c 80 81 82 83 00 [AVR] Data returned: 0x00 0x85 0x89 0x8d 0x8f 0x8e 0x8a 0x86 0x82 0x7d 0x77 0x6f 0x64 0x5a 0x52 0x4f 0x53 0x5b 0x61 0x63 0x64 0x66 0x6d 0x7a 0x87 0x8d 0x89 0x81 0x7b 0x7b 0x80 0x88 0x8e 0x8e 0x8b 0x87 0x84 0x82 0x80 0x7d 0x78 0x72 0x6b 0x64 0x60 0x60 0x61 0x63 0x66 0x6c 0x73 0x79 0x7e 0x81 0x83 0x83 0x81 0x80 0x80 0x7f 0x80 0x82 0x84 0x88 0x8c 0x8f 0x90 0x8f 0x8c 0x88 0x84 0x81 0x7d 0x76 0x6f 0x6c 0x6c 0x70 0x77 0x7d 0x83 0x86 0x86 0x86 0x87 0x8a 0x8d 0x8e 0x88 0x80 0x79 0x77 0x7b 0x83 0x8c 0x92 0x96 0x96 0x95 0x93 0x95 0x99 0x9d 0x9e 0x99 0x8e 0x84 0x81 0x86 0x8e 0x94 0x95 0x94 0x92 0x92 0x93 0x94 0x94 0x90 0x89 0x80 0x7a 0x77 0x78 0x7c 0x80 0x81 0x82 0x83 0x00 Reading | ################################### | 70% 2.31 s avrdude: jtag3_paged_load(.., flash, 128, 0x0e80, 128) avrdude: jtag3_paged_load(): block_size at addr 3712 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 88 (command_sequence == 88) Raw message: 12 84 00 89 91 98 9b 9b 98 94 93 99 a0 a4 a1 99 8f 8b 8c 8e 8c 85 7a 6f 6b 6b 6d 6d 6d 6d 70 76 7c 81 84 85 85 87 8d 92 93 90 8a 87 8a 90 96 97 93 8a 81 7a 74 6e 67 61 5a 52 4a 45 47 52 61 6f 78 7d 81 84 88 8b 8c 8b 89 86 85 87 8b 8e 8e 8c 88 84 7f 79 71 68 5d 54 4f 51 58 5f 63 65 66 6a 75 83 8b 8a 83 7c 7a 7d 85 8c 8e 8c 88 85 83 81 7f 7a 74 6d 65 61 5f 61 63 65 6a 70 77 7d 81 83 83 82 80 00 [AVR] Data returned: 0x00 0x89 0x91 0x98 0x9b 0x9b 0x98 0x94 0x93 0x99 0xa0 0xa4 0xa1 0x99 0x8f 0x8b 0x8c 0x8e 0x8c 0x85 0x7a 0x6f 0x6b 0x6b 0x6d 0x6d 0x6d 0x6d 0x70 0x76 0x7c 0x81 0x84 0x85 0x85 0x87 0x8d 0x92 0x93 0x90 0x8a 0x87 0x8a 0x90 0x96 0x97 0x93 0x8a 0x81 0x7a 0x74 0x6e 0x67 0x61 0x5a 0x52 0x4a 0x45 0x47 0x52 0x61 0x6f 0x78 0x7d 0x81 0x84 0x88 0x8b 0x8c 0x8b 0x89 0x86 0x85 0x87 0x8b 0x8e 0x8e 0x8c 0x88 0x84 0x7f 0x79 0x71 0x68 0x5d 0x54 0x4f 0x51 0x58 0x5f 0x63 0x65 0x66 0x6a 0x75 0x83 0x8b 0x8a 0x83 0x7c 0x7a 0x7d 0x85 0x8c 0x8e 0x8c 0x88 0x85 0x83 0x81 0x7f 0x7a 0x74 0x6d 0x65 0x61 0x5f 0x61 0x63 0x65 0x6a 0x70 0x77 0x7d 0x81 0x83 0x83 0x82 0x80 0x00 Reading | ##################################### | 73% 2.39 s avrdude: jtag3_paged_load(.., flash, 128, 0x0f00, 128) avrdude: jtag3_paged_load(): block_size at addr 3840 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 89 (command_sequence == 89) Raw message: 12 84 00 7f 7f 7f 81 83 86 8a 8e 90 90 8e 8a 86 82 7f 79 72 6d 6c 6e 74 7b 81 85 87 86 86 88 8c 8e 8a 83 7b 77 79 80 89 90 95 97 96 94 94 97 9b 9e 9b 92 87 81 83 8b 92 95 94 93 92 93 94 94 92 8c 84 7c 78 77 7a 7f 81 82 83 87 8e 96 9b 9c 99 95 93 96 9d a3 a3 9c 92 8c 8c 8e 8e 89 7e 73 6c 6b 6d 6d 6d 6d 6f 73 7a 80 84 85 85 86 8b 91 94 92 8c 87 88 8d 93 96 95 8f 86 7f 78 72 6a 63 5d 56 4f 47 00 [AVR] Data returned: 0x00 0x7f 0x7f 0x7f 0x81 0x83 0x86 0x8a 0x8e 0x90 0x90 0x8e 0x8a 0x86 0x82 0x7f 0x79 0x72 0x6d 0x6c 0x6e 0x74 0x7b 0x81 0x85 0x87 0x86 0x86 0x88 0x8c 0x8e 0x8a 0x83 0x7b 0x77 0x79 0x80 0x89 0x90 0x95 0x97 0x96 0x94 0x94 0x97 0x9b 0x9e 0x9b 0x92 0x87 0x81 0x83 0x8b 0x92 0x95 0x94 0x93 0x92 0x93 0x94 0x94 0x92 0x8c 0x84 0x7c 0x78 0x77 0x7a 0x7f 0x81 0x82 0x83 0x87 0x8e 0x96 0x9b 0x9c 0x99 0x95 0x93 0x96 0x9d 0xa3 0xa3 0x9c 0x92 0x8c 0x8c 0x8e 0x8e 0x89 0x7e 0x73 0x6c 0x6b 0x6d 0x6d 0x6d 0x6d 0x6f 0x73 0x7a 0x80 0x84 0x85 0x85 0x86 0x8b 0x91 0x94 0x92 0x8c 0x87 0x88 0x8d 0x93 0x96 0x95 0x8f 0x86 0x7f 0x78 0x72 0x6a 0x63 0x5d 0x56 0x4f 0x47 0x00 Reading | ###################################### | 75% 2.46 s avrdude: jtag3_paged_load(.., flash, 128, 0x0f80, 128) avrdude: jtag3_paged_load(): block_size at addr 3968 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 90 (command_sequence == 90) Raw message: 12 84 00 44 4a 58 68 74 7c 80 83 86 89 8c 8d 8b 88 84 84 87 8c 8f 8e 8b 87 82 7c 75 6e 64 5a 52 4f 53 5a 61 64 66 68 6f 7b 87 8b 87 7f 7a 7a 7f 87 8d 8d 8a 87 85 83 80 7d 78 71 69 63 60 60 61 63 66 6b 73 7a 7f 82 83 82 81 80 7f 7f 80 81 84 87 8b 8f 90 8f 8c 88 85 82 7d 77 6f 6c 6d 70 77 7d 83 86 86 85 87 8a 8d 8d 88 7f 79 79 7d 84 8c 92 96 96 95 94 95 99 9d 9e 99 8e 84 82 86 8e 93 95 94 93 00 [AVR] Data returned: 0x00 0x44 0x4a 0x58 0x68 0x74 0x7c 0x80 0x83 0x86 0x89 0x8c 0x8d 0x8b 0x88 0x84 0x84 0x87 0x8c 0x8f 0x8e 0x8b 0x87 0x82 0x7c 0x75 0x6e 0x64 0x5a 0x52 0x4f 0x53 0x5a 0x61 0x64 0x66 0x68 0x6f 0x7b 0x87 0x8b 0x87 0x7f 0x7a 0x7a 0x7f 0x87 0x8d 0x8d 0x8a 0x87 0x85 0x83 0x80 0x7d 0x78 0x71 0x69 0x63 0x60 0x60 0x61 0x63 0x66 0x6b 0x73 0x7a 0x7f 0x82 0x83 0x82 0x81 0x80 0x7f 0x7f 0x80 0x81 0x84 0x87 0x8b 0x8f 0x90 0x8f 0x8c 0x88 0x85 0x82 0x7d 0x77 0x6f 0x6c 0x6d 0x70 0x77 0x7d 0x83 0x86 0x86 0x85 0x87 0x8a 0x8d 0x8d 0x88 0x7f 0x79 0x79 0x7d 0x84 0x8c 0x92 0x96 0x96 0x95 0x94 0x95 0x99 0x9d 0x9e 0x99 0x8e 0x84 0x82 0x86 0x8e 0x93 0x95 0x94 0x93 0x00 Reading | ####################################### | 78% 2.54 s avrdude: jtag3_paged_load(.., flash, 128, 0x1000, 128) avrdude: jtag3_paged_load(): block_size at addr 4096 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 91 (command_sequence == 91) Raw message: 12 84 00 92 93 94 94 91 8a 81 7b 77 77 7b 7f 82 82 84 89 91 98 9c 9c 98 94 94 99 a0 a4 a0 97 8e 8b 8d 8f 8d 85 7a 70 6b 6c 6d 6d 6d 6e 71 76 7c 81 84 85 85 89 8e 93 94 90 8a 87 8a 90 95 96 92 8b 82 7c 76 6f 67 61 5a 53 4b 45 46 51 60 6e 77 7d 81 84 87 8b 8d 8c 89 86 84 86 8b 8e 8f 8c 89 84 7f 79 72 69 5f 55 50 51 57 5e 62 64 65 6a 74 82 8a 8a 83 7c 7a 7d 84 8b 8e 8c 89 86 83 81 7e 7a 74 6e 00 [AVR] Data returned: 0x00 0x92 0x93 0x94 0x94 0x91 0x8a 0x81 0x7b 0x77 0x77 0x7b 0x7f 0x82 0x82 0x84 0x89 0x91 0x98 0x9c 0x9c 0x98 0x94 0x94 0x99 0xa0 0xa4 0xa0 0x97 0x8e 0x8b 0x8d 0x8f 0x8d 0x85 0x7a 0x70 0x6b 0x6c 0x6d 0x6d 0x6d 0x6e 0x71 0x76 0x7c 0x81 0x84 0x85 0x85 0x89 0x8e 0x93 0x94 0x90 0x8a 0x87 0x8a 0x90 0x95 0x96 0x92 0x8b 0x82 0x7c 0x76 0x6f 0x67 0x61 0x5a 0x53 0x4b 0x45 0x46 0x51 0x60 0x6e 0x77 0x7d 0x81 0x84 0x87 0x8b 0x8d 0x8c 0x89 0x86 0x84 0x86 0x8b 0x8e 0x8f 0x8c 0x89 0x84 0x7f 0x79 0x72 0x69 0x5f 0x55 0x50 0x51 0x57 0x5e 0x62 0x64 0x65 0x6a 0x74 0x82 0x8a 0x8a 0x83 0x7c 0x7a 0x7d 0x84 0x8b 0x8e 0x8c 0x89 0x86 0x83 0x81 0x7e 0x7a 0x74 0x6e 0x00 Reading | ######################################## | 80% 2.62 s avrdude: jtag3_paged_load(.., flash, 128, 0x1080, 128) avrdude: jtag3_paged_load(): block_size at addr 4224 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 92 (command_sequence == 92) Raw message: 12 84 00 66 61 60 60 62 65 69 70 77 7c 80 82 82 81 80 7f 7f 7f 81 83 86 89 8d 8f 8f 8d 8a 86 82 7f 79 72 6d 6c 6f 74 7a 81 85 86 85 86 88 8b 8e 8b 83 7b 78 7a 80 89 90 95 96 96 94 94 97 9c 9e 9c 93 87 0c 94 00 00 cf 92 df 92 ef 92 ff 92 0f 93 1f 93 cf 93 df 93 ec 01 89 2b 09 f4 44 c0 0a 81 1b 81 01 15 11 05 09 f4 3e c0 28 81 39 81 20 ff 3a c0 21 30 31 05 b9 f1 78 01 c1 2c d1 2c d7 01 1d 92 00 [AVR] Data returned: 0x00 0x66 0x61 0x60 0x60 0x62 0x65 0x69 0x70 0x77 0x7c 0x80 0x82 0x82 0x81 0x80 0x7f 0x7f 0x7f 0x81 0x83 0x86 0x89 0x8d 0x8f 0x8f 0x8d 0x8a 0x86 0x82 0x7f 0x79 0x72 0x6d 0x6c 0x6f 0x74 0x7a 0x81 0x85 0x86 0x85 0x86 0x88 0x8b 0x8e 0x8b 0x83 0x7b 0x78 0x7a 0x80 0x89 0x90 0x95 0x96 0x96 0x94 0x94 0x97 0x9c 0x9e 0x9c 0x93 0x87 0x0c 0x94 0x00 0x00 0xcf 0x92 0xdf 0x92 0xef 0x92 0xff 0x92 0x0f 0x93 0x1f 0x93 0xcf 0x93 0xdf 0x93 0xec 0x01 0x89 0x2b 0x09 0xf4 0x44 0xc0 0x0a 0x81 0x1b 0x81 0x01 0x15 0x11 0x05 0x09 0xf4 0x3e 0xc0 0x28 0x81 0x39 0x81 0x20 0xff 0x3a 0xc0 0x21 0x30 0x31 0x05 0xb9 0xf1 0x78 0x01 0xc1 0x2c 0xd1 0x2c 0xd7 0x01 0x1d 0x92 0x00 Reading | ######################################### | 82% 2.69 s avrdude: jtag3_paged_load(.., flash, 128, 0x1100, 128) avrdude: jtag3_paged_load(): block_size at addr 4352 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 93 (command_sequence == 93) Raw message: 12 84 00 1c 92 bf ef cb 1a db 0a c6 01 b9 01 36 d0 fc 01 43 e0 ee 0f ff 1f 4a 95 e1 f7 e0 0f f1 1f d7 01 12 96 ed 93 fc 93 13 97 14 96 ed 93 fc 93 15 97 e6 82 f7 82 b8 e0 eb 0e f1 1c c2 16 d3 06 f0 f2 0c 83 1d 83 0e 83 1f 83 36 95 27 95 93 e0 22 0f 33 1f 9a 95 e1 f7 20 0f 31 1f 28 87 39 87 80 e0 90 e0 02 c0 8f ef 9f ef df 91 cf 91 1f 91 0f 91 ff 90 ef 90 df 90 cf 90 08 95 aa 1b bb 1b 51 e1 00 [AVR] Data returned: 0x00 0x1c 0x92 0xbf 0xef 0xcb 0x1a 0xdb 0x0a 0xc6 0x01 0xb9 0x01 0x36 0xd0 0xfc 0x01 0x43 0xe0 0xee 0x0f 0xff 0x1f 0x4a 0x95 0xe1 0xf7 0xe0 0x0f 0xf1 0x1f 0xd7 0x01 0x12 0x96 0xed 0x93 0xfc 0x93 0x13 0x97 0x14 0x96 0xed 0x93 0xfc 0x93 0x15 0x97 0xe6 0x82 0xf7 0x82 0xb8 0xe0 0xeb 0x0e 0xf1 0x1c 0xc2 0x16 0xd3 0x06 0xf0 0xf2 0x0c 0x83 0x1d 0x83 0x0e 0x83 0x1f 0x83 0x36 0x95 0x27 0x95 0x93 0xe0 0x22 0x0f 0x33 0x1f 0x9a 0x95 0xe1 0xf7 0x20 0x0f 0x31 0x1f 0x28 0x87 0x39 0x87 0x80 0xe0 0x90 0xe0 0x02 0xc0 0x8f 0xef 0x9f 0xef 0xdf 0x91 0xcf 0x91 0x1f 0x91 0x0f 0x91 0xff 0x90 0xef 0x90 0xdf 0x90 0xcf 0x90 0x08 0x95 0xaa 0x1b 0xbb 0x1b 0x51 0xe1 0x00 Reading | ########################################### | 85% 2.77 s avrdude: jtag3_paged_load(.., flash, 128, 0x1180, 128) avrdude: jtag3_paged_load(): block_size at addr 4480 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 94 (command_sequence == 94) Raw message: 12 84 00 07 c0 aa 1f bb 1f a6 17 b7 07 10 f0 a6 1b b7 0b 88 1f 99 1f 5a 95 a9 f7 80 95 90 95 bc 01 cd 01 08 95 ef 92 ff 92 0f 93 1f 93 cf 93 df 93 dc 01 14 96 ed 91 fc 91 15 97 16 96 8d 91 9c 91 17 97 04 81 15 81 e8 17 f9 07 21 f4 16 96 0d 93 1c 93 17 97 18 96 8d 91 9c 91 19 97 e8 17 f9 07 41 f0 40 81 51 81 ec 01 28 81 39 81 24 17 35 07 3c f4 ec 01 8e 81 9f 81 18 96 8d 93 9c 93 19 97 60 83 00 [AVR] Data returned: 0x00 0x07 0xc0 0xaa 0x1f 0xbb 0x1f 0xa6 0x17 0xb7 0x07 0x10 0xf0 0xa6 0x1b 0xb7 0x0b 0x88 0x1f 0x99 0x1f 0x5a 0x95 0xa9 0xf7 0x80 0x95 0x90 0x95 0xbc 0x01 0xcd 0x01 0x08 0x95 0xef 0x92 0xff 0x92 0x0f 0x93 0x1f 0x93 0xcf 0x93 0xdf 0x93 0xdc 0x01 0x14 0x96 0xed 0x91 0xfc 0x91 0x15 0x97 0x16 0x96 0x8d 0x91 0x9c 0x91 0x17 0x97 0x04 0x81 0x15 0x81 0xe8 0x17 0xf9 0x07 0x21 0xf4 0x16 0x96 0x0d 0x93 0x1c 0x93 0x17 0x97 0x18 0x96 0x8d 0x91 0x9c 0x91 0x19 0x97 0xe8 0x17 0xf9 0x07 0x41 0xf0 0x40 0x81 0x51 0x81 0xec 0x01 0x28 0x81 0x39 0x81 0x24 0x17 0x35 0x07 0x3c 0xf4 0xec 0x01 0x8e 0x81 0x9f 0x81 0x18 0x96 0x8d 0x93 0x9c 0x93 0x19 0x97 0x60 0x83 0x00 Reading | ############################################ | 87% 2.85 s avrdude: jtag3_paged_load(.., flash, 128, 0x1200, 128) avrdude: jtag3_paged_load(): block_size at addr 4608 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 95 (command_sequence == 95) Raw message: 12 84 00 71 83 86 81 97 81 e8 01 8e 83 9f 83 86 81 97 81 ec 01 0c 83 1d 83 82 81 93 81 14 96 8d 93 9c 93 15 97 16 96 ed 90 fc 90 17 97 2d 91 3c 91 11 97 a9 01 41 50 51 09 80 e0 90 e0 84 17 95 07 90 f4 e7 01 08 81 19 81 60 17 71 07 3c f4 00 97 51 f4 16 96 ed 93 fc 93 17 97 05 c0 e7 01 ec 80 fd 80 01 96 eb cf e7 01 4e 81 5f 81 ea 01 ec 83 fd 83 46 83 57 83 e7 01 ee 83 ff 83 e4 82 f5 82 36 95 00 [AVR] Data returned: 0x00 0x71 0x83 0x86 0x81 0x97 0x81 0xe8 0x01 0x8e 0x83 0x9f 0x83 0x86 0x81 0x97 0x81 0xec 0x01 0x0c 0x83 0x1d 0x83 0x82 0x81 0x93 0x81 0x14 0x96 0x8d 0x93 0x9c 0x93 0x15 0x97 0x16 0x96 0xed 0x90 0xfc 0x90 0x17 0x97 0x2d 0x91 0x3c 0x91 0x11 0x97 0xa9 0x01 0x41 0x50 0x51 0x09 0x80 0xe0 0x90 0xe0 0x84 0x17 0x95 0x07 0x90 0xf4 0xe7 0x01 0x08 0x81 0x19 0x81 0x60 0x17 0x71 0x07 0x3c 0xf4 0x00 0x97 0x51 0xf4 0x16 0x96 0xed 0x93 0xfc 0x93 0x17 0x97 0x05 0xc0 0xe7 0x01 0xec 0x80 0xfd 0x80 0x01 0x96 0xeb 0xcf 0xe7 0x01 0x4e 0x81 0x5f 0x81 0xea 0x01 0xec 0x83 0xfd 0x83 0x46 0x83 0x57 0x83 0xe7 0x01 0xee 0x83 0xff 0x83 0xe4 0x82 0xf5 0x82 0x36 0x95 0x00 Reading | ############################################# | 90% 2.92 s avrdude: jtag3_paged_load(.., flash, 128, 0x1280, 128) avrdude: jtag3_paged_load(): block_size at addr 4736 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 96 (command_sequence == 96) Raw message: 12 84 00 27 95 82 17 93 07 50 f0 18 96 ed 91 fc 91 19 97 84 81 95 81 18 96 8d 93 9c 93 19 97 18 96 ed 91 fc 91 19 97 80 81 91 81 df 91 cf 91 1f 91 0f 91 ff 90 ef 90 08 95 cf 93 df 93 00 d0 00 d0 cd b7 de b7 68 d0 36 d0 80 e4 80 93 61 04 1b 82 1c 82 19 82 1a 82 e8 ef f8 e6 8f e1 90 e0 80 83 91 83 80 e0 98 e6 82 83 93 83 cf 01 ec de e0 e0 10 e4 01 e0 0e 0f f0 e0 e0 5e fe 47 80 81 90 e0 8b 83 00 [AVR] Data returned: 0x00 0x27 0x95 0x82 0x17 0x93 0x07 0x50 0xf0 0x18 0x96 0xed 0x91 0xfc 0x91 0x19 0x97 0x84 0x81 0x95 0x81 0x18 0x96 0x8d 0x93 0x9c 0x93 0x19 0x97 0x18 0x96 0xed 0x91 0xfc 0x91 0x19 0x97 0x80 0x81 0x91 0x81 0xdf 0x91 0xcf 0x91 0x1f 0x91 0x0f 0x91 0xff 0x90 0xef 0x90 0x08 0x95 0xcf 0x93 0xdf 0x93 0x00 0xd0 0x00 0xd0 0xcd 0xb7 0xde 0xb7 0x68 0xd0 0x36 0xd0 0x80 0xe4 0x80 0x93 0x61 0x04 0x1b 0x82 0x1c 0x82 0x19 0x82 0x1a 0x82 0xe8 0xef 0xf8 0xe6 0x8f 0xe1 0x90 0xe0 0x80 0x83 0x91 0x83 0x80 0xe0 0x98 0xe6 0x82 0x83 0x93 0x83 0xcf 0x01 0xec 0xde 0xe0 0xe0 0x10 0xe4 0x01 0xe0 0x0e 0x0f 0xf0 0xe0 0xe0 0x5e 0xfe 0x47 0x80 0x81 0x90 0xe0 0x8b 0x83 0x00 Reading | ############################################## | 92% 3.01 s avrdude: jtag3_paged_load(.., flash, 128, 0x1300, 128) avrdude: jtag3_paged_load(): block_size at addr 4864 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 97 (command_sequence == 97) Raw message: 12 84 00 9c 83 8f e4 93 ec 01 97 f1 f7 00 c0 00 00 10 93 65 04 6b 81 7c 81 88 ef 98 e6 43 df 89 83 9a 83 10 93 66 04 69 81 7a 81 8b 81 9c 81 10 d0 e0 2f df cf 81 e0 80 93 41 04 e0 e2 f8 e0 85 e4 90 e0 80 87 91 87 80 e4 86 83 83 e0 87 83 08 95 cf 93 df 93 00 d0 00 d0 cd b7 de b7 89 83 9a 83 6b 83 7c 83 31 d0 88 23 e9 f3 83 e0 1b d0 ce 01 01 96 1b d0 ce 01 03 96 18 d0 26 d0 88 23 e9 f3 8c ef 00 [AVR] Data returned: 0x00 0x9c 0x83 0x8f 0xe4 0x93 0xec 0x01 0x97 0xf1 0xf7 0x00 0xc0 0x00 0x00 0x10 0x93 0x65 0x04 0x6b 0x81 0x7c 0x81 0x88 0xef 0x98 0xe6 0x43 0xdf 0x89 0x83 0x9a 0x83 0x10 0x93 0x66 0x04 0x69 0x81 0x7a 0x81 0x8b 0x81 0x9c 0x81 0x10 0xd0 0xe0 0x2f 0xdf 0xcf 0x81 0xe0 0x80 0x93 0x41 0x04 0xe0 0xe2 0xf8 0xe0 0x85 0xe4 0x90 0xe0 0x80 0x87 0x91 0x87 0x80 0xe4 0x86 0x83 0x83 0xe0 0x87 0x83 0x08 0x95 0xcf 0x93 0xdf 0x93 0x00 0xd0 0x00 0xd0 0xcd 0xb7 0xde 0xb7 0x89 0x83 0x9a 0x83 0x6b 0x83 0x7c 0x83 0x31 0xd0 0x88 0x23 0xe9 0xf3 0x83 0xe0 0x1b 0xd0 0xce 0x01 0x01 0x96 0x1b 0xd0 0xce 0x01 0x03 0x96 0x18 0xd0 0x26 0xd0 0x88 0x23 0xe9 0xf3 0x8c 0xef 0x00 Reading | ################################################ | 95% 3.09 s avrdude: jtag3_paged_load(.., flash, 128, 0x1380, 128) avrdude: jtag3_paged_load(): block_size at addr 4992 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 98 (command_sequence == 98) Raw message: 12 84 00 10 d0 27 d0 88 23 e9 f3 24 96 cd bf de bf df 91 cf 91 08 95 60 91 61 00 61 7e 62 61 81 e6 90 e0 1e c0 80 93 22 08 08 95 cf 93 df 93 ec 01 0b d0 88 23 e9 f3 88 81 f5 df 06 d0 88 23 e9 f3 89 81 df 91 cf 91 ee cf 80 91 24 08 85 fb 88 27 80 f9 08 95 80 91 24 08 86 fb 88 27 80 f9 08 95 dc 01 28 ed 20 93 34 00 6c 93 08 95 08 95 08 95 08 95 ec 01 fc df fa df ce 01 fa df ce 01 00 d0 0e 94 00 [AVR] Data returned: 0x00 0x10 0xd0 0x27 0xd0 0x88 0x23 0xe9 0xf3 0x24 0x96 0xcd 0xbf 0xde 0xbf 0xdf 0x91 0xcf 0x91 0x08 0x95 0x60 0x91 0x61 0x00 0x61 0x7e 0x62 0x61 0x81 0xe6 0x90 0xe0 0x1e 0xc0 0x80 0x93 0x22 0x08 0x08 0x95 0xcf 0x93 0xdf 0x93 0xec 0x01 0x0b 0xd0 0x88 0x23 0xe9 0xf3 0x88 0x81 0xf5 0xdf 0x06 0xd0 0x88 0x23 0xe9 0xf3 0x89 0x81 0xdf 0x91 0xcf 0x91 0xee 0xcf 0x80 0x91 0x24 0x08 0x85 0xfb 0x88 0x27 0x80 0xf9 0x08 0x95 0x80 0x91 0x24 0x08 0x86 0xfb 0x88 0x27 0x80 0xf9 0x08 0x95 0xdc 0x01 0x28 0xed 0x20 0x93 0x34 0x00 0x6c 0x93 0x08 0x95 0x08 0x95 0x08 0x95 0x08 0x95 0xec 0x01 0xfc 0xdf 0xfa 0xdf 0xce 0x01 0xfa 0xdf 0xce 0x01 0x00 0xd0 0x0e 0x94 0x00 Reading | ################################################# | 97% 3.16 s avrdude: jtag3_paged_load(.., flash, 128, 0x1400, 128) avrdude: jtag3_paged_load(): block_size at addr 5120 is 128 avrdude: sending read memory command: avrdude: jtag3_edbg_send(): sending 12 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 99 (command_sequence == 99) Raw message: 12 84 00 8e 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 [AVR] Data returned: 0x00 0x8e 0x00 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x00 Reading | ################################################## | 100% 3.24 s avrdude: avr_read_mem(): skipping page 41: no interesting data avrdude: avr_read_mem(): skipping page 42: no interesting data avrdude: avr_read_mem(): skipping page 43: no interesting data avrdude: avr_read_mem(): skipping page 44: no interesting data avrdude: avr_read_mem(): skipping page 45: no interesting data avrdude: avr_read_mem(): skipping page 46: no interesting data avrdude: avr_read_mem(): skipping page 47: no interesting data avrdude: avr_read_mem(): skipping page 48: no interesting data avrdude: avr_read_mem(): skipping page 49: no interesting data avrdude: avr_read_mem(): skipping page 50: no interesting data avrdude: avr_read_mem(): skipping page 51: no interesting data avrdude: avr_read_mem(): skipping page 52: no interesting data avrdude: avr_read_mem(): skipping page 53: no interesting data avrdude: avr_read_mem(): skipping page 54: no interesting data avrdude: avr_read_mem(): skipping page 55: no interesting data avrdude: avr_read_mem(): skipping page 56: no interesting data avrdude: avr_read_mem(): skipping page 57: no interesting data avrdude: avr_read_mem(): skipping page 58: no interesting data avrdude: avr_read_mem(): skipping page 59: no interesting data avrdude: avr_read_mem(): skipping page 60: no interesting data avrdude: avr_read_mem(): skipping page 61: no interesting data avrdude: avr_read_mem(): skipping page 62: no interesting data avrdude: avr_read_mem(): skipping page 63: no interesting data avrdude: avr_read_mem(): skipping page 64: no interesting data avrdude: avr_read_mem(): skipping page 65: no interesting data avrdude: avr_read_mem(): skipping page 66: no interesting data avrdude: avr_read_mem(): skipping page 67: no interesting data avrdude: avr_read_mem(): skipping page 68: no interesting data avrdude: avr_read_mem(): skipping page 69: no interesting data avrdude: avr_read_mem(): skipping page 70: no interesting data avrdude: avr_read_mem(): skipping page 71: no interesting data avrdude: avr_read_mem(): skipping page 72: no interesting data avrdude: avr_read_mem(): skipping page 73: no interesting data avrdude: avr_read_mem(): skipping page 74: no interesting data avrdude: avr_read_mem(): skipping page 75: no interesting data avrdude: avr_read_mem(): skipping page 76: no interesting data avrdude: avr_read_mem(): skipping page 77: no interesting data avrdude: avr_read_mem(): skipping page 78: no interesting data avrdude: avr_read_mem(): skipping page 79: no interesting data avrdude: avr_read_mem(): skipping page 80: no interesting data avrdude: avr_read_mem(): skipping page 81: no interesting data avrdude: avr_read_mem(): skipping page 82: no interesting data avrdude: avr_read_mem(): skipping page 83: no interesting data avrdude: avr_read_mem(): skipping page 84: no interesting data avrdude: avr_read_mem(): skipping page 85: no interesting data avrdude: avr_read_mem(): skipping page 86: no interesting data avrdude: avr_read_mem(): skipping page 87: no interesting data avrdude: avr_read_mem(): skipping page 88: no interesting data avrdude: avr_read_mem(): skipping page 89: no interesting data avrdude: avr_read_mem(): skipping page 90: no interesting data avrdude: avr_read_mem(): skipping page 91: no interesting data avrdude: avr_read_mem(): skipping page 92: no interesting data avrdude: avr_read_mem(): skipping page 93: no interesting data avrdude: avr_read_mem(): skipping page 94: no interesting data avrdude: avr_read_mem(): skipping page 95: no interesting data avrdude: avr_read_mem(): skipping page 96: no interesting data avrdude: avr_read_mem(): skipping page 97: no interesting data avrdude: avr_read_mem(): skipping page 98: no interesting data avrdude: avr_read_mem(): skipping page 99: no interesting data avrdude: avr_read_mem(): skipping page 100: no interesting data avrdude: avr_read_mem(): skipping page 101: no interesting data avrdude: avr_read_mem(): skipping page 102: no interesting data avrdude: avr_read_mem(): skipping page 103: no interesting data avrdude: avr_read_mem(): skipping page 104: no interesting data avrdude: avr_read_mem(): skipping page 105: no interesting data avrdude: avr_read_mem(): skipping page 106: no interesting data avrdude: avr_read_mem(): skipping page 107: no interesting data avrdude: avr_read_mem(): skipping page 108: no interesting data avrdude: avr_read_mem(): skipping page 109: no interesting data avrdude: avr_read_mem(): skipping page 110: no interesting data avrdude: avr_read_mem(): skipping page 111: no interesting data avrdude: avr_read_mem(): skipping page 112: no interesting data avrdude: avr_read_mem(): skipping page 113: no interesting data avrdude: avr_read_mem(): skipping page 114: no interesting data avrdude: avr_read_mem(): skipping page 115: no interesting data avrdude: avr_read_mem(): skipping page 116: no interesting data avrdude: avr_read_mem(): skipping page 117: no interesting data avrdude: avr_read_mem(): skipping page 118: no interesting data avrdude: avr_read_mem(): skipping page 119: no interesting data avrdude: avr_read_mem(): skipping page 120: no interesting data avrdude: avr_read_mem(): skipping page 121: no interesting data avrdude: avr_read_mem(): skipping page 122: no interesting data avrdude: avr_read_mem(): skipping page 123: no interesting data avrdude: avr_read_mem(): skipping page 124: no interesting data avrdude: avr_read_mem(): skipping page 125: no interesting data avrdude: avr_read_mem(): skipping page 126: no interesting data avrdude: avr_read_mem(): skipping page 127: no interesting data avrdude: avr_read_mem(): skipping page 128: no interesting data avrdude: avr_read_mem(): skipping page 129: no interesting data avrdude: avr_read_mem(): skipping page 130: no interesting data avrdude: avr_read_mem(): skipping page 131: no interesting data avrdude: avr_read_mem(): skipping page 132: no interesting data avrdude: avr_read_mem(): skipping page 133: no interesting data avrdude: avr_read_mem(): skipping page 134: no interesting data avrdude: avr_read_mem(): skipping page 135: no interesting data avrdude: avr_read_mem(): skipping page 136: no interesting data avrdude: avr_read_mem(): skipping page 137: no interesting data avrdude: avr_read_mem(): skipping page 138: no interesting data avrdude: avr_read_mem(): skipping page 139: no interesting data avrdude: avr_read_mem(): skipping page 140: no interesting data avrdude: avr_read_mem(): skipping page 141: no interesting data avrdude: avr_read_mem(): skipping page 142: no interesting data avrdude: avr_read_mem(): skipping page 143: no interesting data avrdude: avr_read_mem(): skipping page 144: no interesting data avrdude: avr_read_mem(): skipping page 145: no interesting data avrdude: avr_read_mem(): skipping page 146: no interesting data avrdude: avr_read_mem(): skipping page 147: no interesting data avrdude: avr_read_mem(): skipping page 148: no interesting data avrdude: avr_read_mem(): skipping page 149: no interesting data avrdude: avr_read_mem(): skipping page 150: no interesting data avrdude: avr_read_mem(): skipping page 151: no interesting data avrdude: avr_read_mem(): skipping page 152: no interesting data avrdude: avr_read_mem(): skipping page 153: no interesting data avrdude: avr_read_mem(): skipping page 154: no interesting data avrdude: avr_read_mem(): skipping page 155: no interesting data avrdude: avr_read_mem(): skipping page 156: no interesting data avrdude: avr_read_mem(): skipping page 157: no interesting data avrdude: avr_read_mem(): skipping page 158: no interesting data avrdude: avr_read_mem(): skipping page 159: no interesting data avrdude: avr_read_mem(): skipping page 160: no interesting data avrdude: avr_read_mem(): skipping page 161: no interesting data avrdude: avr_read_mem(): skipping page 162: no interesting data avrdude: avr_read_mem(): skipping page 163: no interesting data avrdude: avr_read_mem(): skipping page 164: no interesting data avrdude: avr_read_mem(): skipping page 165: no interesting data avrdude: avr_read_mem(): skipping page 166: no interesting data avrdude: avr_read_mem(): skipping page 167: no interesting data avrdude: avr_read_mem(): skipping page 168: no interesting data avrdude: avr_read_mem(): skipping page 169: no interesting data avrdude: avr_read_mem(): skipping page 170: no interesting data avrdude: avr_read_mem(): skipping page 171: no interesting data avrdude: avr_read_mem(): skipping page 172: no interesting data avrdude: avr_read_mem(): skipping page 173: no interesting data avrdude: avr_read_mem(): skipping page 174: no interesting data avrdude: avr_read_mem(): skipping page 175: no interesting data avrdude: avr_read_mem(): skipping page 176: no interesting data avrdude: avr_read_mem(): skipping page 177: no interesting data avrdude: avr_read_mem(): skipping page 178: no interesting data avrdude: avr_read_mem(): skipping page 179: no interesting data avrdude: avr_read_mem(): skipping page 180: no interesting data avrdude: avr_read_mem(): skipping page 181: no interesting data avrdude: avr_read_mem(): skipping page 182: no interesting data avrdude: avr_read_mem(): skipping page 183: no interesting data avrdude: avr_read_mem(): skipping page 184: no interesting data avrdude: avr_read_mem(): skipping page 185: no interesting data avrdude: avr_read_mem(): skipping page 186: no interesting data avrdude: avr_read_mem(): skipping page 187: no interesting data avrdude: avr_read_mem(): skipping page 188: no interesting data avrdude: avr_read_mem(): skipping page 189: no interesting data avrdude: avr_read_mem(): skipping page 190: no interesting data avrdude: avr_read_mem(): skipping page 191: no interesting data avrdude: avr_read_mem(): skipping page 192: no interesting data avrdude: avr_read_mem(): skipping page 193: no interesting data avrdude: avr_read_mem(): skipping page 194: no interesting data avrdude: avr_read_mem(): skipping page 195: no interesting data avrdude: avr_read_mem(): skipping page 196: no interesting data avrdude: avr_read_mem(): skipping page 197: no interesting data avrdude: avr_read_mem(): skipping page 198: no interesting data avrdude: avr_read_mem(): skipping page 199: no interesting data avrdude: avr_read_mem(): skipping page 200: no interesting data avrdude: avr_read_mem(): skipping page 201: no interesting data avrdude: avr_read_mem(): skipping page 202: no interesting data avrdude: avr_read_mem(): skipping page 203: no interesting data avrdude: avr_read_mem(): skipping page 204: no interesting data avrdude: avr_read_mem(): skipping page 205: no interesting data avrdude: avr_read_mem(): skipping page 206: no interesting data avrdude: avr_read_mem(): skipping page 207: no interesting data avrdude: avr_read_mem(): skipping page 208: no interesting data avrdude: avr_read_mem(): skipping page 209: no interesting data avrdude: avr_read_mem(): skipping page 210: no interesting data avrdude: avr_read_mem(): skipping page 211: no interesting data avrdude: avr_read_mem(): skipping page 212: no interesting data avrdude: avr_read_mem(): skipping page 213: no interesting data avrdude: avr_read_mem(): skipping page 214: no interesting data avrdude: avr_read_mem(): skipping page 215: no interesting data avrdude: avr_read_mem(): skipping page 216: no interesting data avrdude: avr_read_mem(): skipping page 217: no interesting data avrdude: avr_read_mem(): skipping page 218: no interesting data avrdude: avr_read_mem(): skipping page 219: no interesting data avrdude: avr_read_mem(): skipping page 220: no interesting data avrdude: avr_read_mem(): skipping page 221: no interesting data avrdude: avr_read_mem(): skipping page 222: no interesting data avrdude: avr_read_mem(): skipping page 223: no interesting data avrdude: avr_read_mem(): skipping page 224: no interesting data avrdude: avr_read_mem(): skipping page 225: no interesting data avrdude: avr_read_mem(): skipping page 226: no interesting data avrdude: avr_read_mem(): skipping page 227: no interesting data avrdude: avr_read_mem(): skipping page 228: no interesting data avrdude: avr_read_mem(): skipping page 229: no interesting data avrdude: avr_read_mem(): skipping page 230: no interesting data avrdude: avr_read_mem(): skipping page 231: no interesting data avrdude: avr_read_mem(): skipping page 232: no interesting data avrdude: avr_read_mem(): skipping page 233: no interesting data avrdude: avr_read_mem(): skipping page 234: no interesting data avrdude: avr_read_mem(): skipping page 235: no interesting data avrdude: avr_read_mem(): skipping page 236: no interesting data avrdude: avr_read_mem(): skipping page 237: no interesting data avrdude: avr_read_mem(): skipping page 238: no interesting data avrdude: avr_read_mem(): skipping page 239: no interesting data avrdude: avr_read_mem(): skipping page 240: no interesting data avrdude: avr_read_mem(): skipping page 241: no interesting data avrdude: avr_read_mem(): skipping page 242: no interesting data avrdude: avr_read_mem(): skipping page 243: no interesting data avrdude: avr_read_mem(): skipping page 244: no interesting data avrdude: avr_read_mem(): skipping page 245: no interesting data avrdude: avr_read_mem(): skipping page 246: no interesting data avrdude: avr_read_mem(): skipping page 247: no interesting data avrdude: avr_read_mem(): skipping page 248: no interesting data avrdude: avr_read_mem(): skipping page 249: no interesting data avrdude: avr_read_mem(): skipping page 250: no interesting data avrdude: avr_read_mem(): skipping page 251: no interesting data avrdude: avr_read_mem(): skipping page 252: no interesting data avrdude: avr_read_mem(): skipping page 253: no interesting data avrdude: avr_read_mem(): skipping page 254: no interesting data avrdude: avr_read_mem(): skipping page 255: no interesting data avrdude: avr_read_mem(): skipping page 256: no interesting data avrdude: avr_read_mem(): skipping page 257: no interesting data avrdude: avr_read_mem(): skipping page 258: no interesting data avrdude: avr_read_mem(): skipping page 259: no interesting data avrdude: avr_read_mem(): skipping page 260: no interesting data avrdude: avr_read_mem(): skipping page 261: no interesting data avrdude: avr_read_mem(): skipping page 262: no interesting data avrdude: avr_read_mem(): skipping page 263: no interesting data avrdude: avr_read_mem(): skipping page 264: no interesting data avrdude: avr_read_mem(): skipping page 265: no interesting data avrdude: avr_read_mem(): skipping page 266: no interesting data avrdude: avr_read_mem(): skipping page 267: no interesting data avrdude: avr_read_mem(): skipping page 268: no interesting data avrdude: avr_read_mem(): skipping page 269: no interesting data avrdude: avr_read_mem(): skipping page 270: no interesting data avrdude: avr_read_mem(): skipping page 271: no interesting data avrdude: avr_read_mem(): skipping page 272: no interesting data avrdude: avr_read_mem(): skipping page 273: no interesting data avrdude: avr_read_mem(): skipping page 274: no interesting data avrdude: avr_read_mem(): skipping page 275: no interesting data avrdude: avr_read_mem(): skipping page 276: no interesting data avrdude: avr_read_mem(): skipping page 277: no interesting data avrdude: avr_read_mem(): skipping page 278: no interesting data avrdude: avr_read_mem(): skipping page 279: no interesting data avrdude: avr_read_mem(): skipping page 280: no interesting data avrdude: avr_read_mem(): skipping page 281: no interesting data avrdude: avr_read_mem(): skipping page 282: no interesting data avrdude: avr_read_mem(): skipping page 283: no interesting data avrdude: avr_read_mem(): skipping page 284: no interesting data avrdude: avr_read_mem(): skipping page 285: no interesting data avrdude: avr_read_mem(): skipping page 286: no interesting data avrdude: avr_read_mem(): skipping page 287: no interesting data avrdude: avr_read_mem(): skipping page 288: no interesting data avrdude: avr_read_mem(): skipping page 289: no interesting data avrdude: avr_read_mem(): skipping page 290: no interesting data avrdude: avr_read_mem(): skipping page 291: no interesting data avrdude: avr_read_mem(): skipping page 292: no interesting data avrdude: avr_read_mem(): skipping page 293: no interesting data avrdude: avr_read_mem(): skipping page 294: no interesting data avrdude: avr_read_mem(): skipping page 295: no interesting data avrdude: avr_read_mem(): skipping page 296: no interesting data avrdude: avr_read_mem(): skipping page 297: no interesting data avrdude: avr_read_mem(): skipping page 298: no interesting data avrdude: avr_read_mem(): skipping page 299: no interesting data avrdude: avr_read_mem(): skipping page 300: no interesting data avrdude: avr_read_mem(): skipping page 301: no interesting data avrdude: avr_read_mem(): skipping page 302: no interesting data avrdude: avr_read_mem(): skipping page 303: no interesting data avrdude: avr_read_mem(): skipping page 304: no interesting data avrdude: avr_read_mem(): skipping page 305: no interesting data avrdude: avr_read_mem(): skipping page 306: no interesting data avrdude: avr_read_mem(): skipping page 307: no interesting data avrdude: avr_read_mem(): skipping page 308: no interesting data avrdude: avr_read_mem(): skipping page 309: no interesting data avrdude: avr_read_mem(): skipping page 310: no interesting data avrdude: avr_read_mem(): skipping page 311: no interesting data avrdude: avr_read_mem(): skipping page 312: no interesting data avrdude: avr_read_mem(): skipping page 313: no interesting data avrdude: avr_read_mem(): skipping page 314: no interesting data avrdude: avr_read_mem(): skipping page 315: no interesting data avrdude: avr_read_mem(): skipping page 316: no interesting data avrdude: avr_read_mem(): skipping page 317: no interesting data avrdude: avr_read_mem(): skipping page 318: no interesting data avrdude: avr_read_mem(): skipping page 319: no interesting data avrdude: avr_read_mem(): skipping page 320: no interesting data avrdude: avr_read_mem(): skipping page 321: no interesting data avrdude: avr_read_mem(): skipping page 322: no interesting data avrdude: avr_read_mem(): skipping page 323: no interesting data avrdude: avr_read_mem(): skipping page 324: no interesting data avrdude: avr_read_mem(): skipping page 325: no interesting data avrdude: avr_read_mem(): skipping page 326: no interesting data avrdude: avr_read_mem(): skipping page 327: no interesting data avrdude: avr_read_mem(): skipping page 328: no interesting data avrdude: avr_read_mem(): skipping page 329: no interesting data avrdude: avr_read_mem(): skipping page 330: no interesting data avrdude: avr_read_mem(): skipping page 331: no interesting data avrdude: avr_read_mem(): skipping page 332: no interesting data avrdude: avr_read_mem(): skipping page 333: no interesting data avrdude: avr_read_mem(): skipping page 334: no interesting data avrdude: avr_read_mem(): skipping page 335: no interesting data avrdude: avr_read_mem(): skipping page 336: no interesting data avrdude: avr_read_mem(): skipping page 337: no interesting data avrdude: avr_read_mem(): skipping page 338: no interesting data avrdude: avr_read_mem(): skipping page 339: no interesting data avrdude: avr_read_mem(): skipping page 340: no interesting data avrdude: avr_read_mem(): skipping page 341: no interesting data avrdude: avr_read_mem(): skipping page 342: no interesting data avrdude: avr_read_mem(): skipping page 343: no interesting data avrdude: avr_read_mem(): skipping page 344: no interesting data avrdude: avr_read_mem(): skipping page 345: no interesting data avrdude: avr_read_mem(): skipping page 346: no interesting data avrdude: avr_read_mem(): skipping page 347: no interesting data avrdude: avr_read_mem(): skipping page 348: no interesting data avrdude: avr_read_mem(): skipping page 349: no interesting data avrdude: avr_read_mem(): skipping page 350: no interesting data avrdude: avr_read_mem(): skipping page 351: no interesting data avrdude: avr_read_mem(): skipping page 352: no interesting data avrdude: avr_read_mem(): skipping page 353: no interesting data avrdude: avr_read_mem(): skipping page 354: no interesting data avrdude: avr_read_mem(): skipping page 355: no interesting data avrdude: avr_read_mem(): skipping page 356: no interesting data avrdude: avr_read_mem(): skipping page 357: no interesting data avrdude: avr_read_mem(): skipping page 358: no interesting data avrdude: avr_read_mem(): skipping page 359: no interesting data avrdude: avr_read_mem(): skipping page 360: no interesting data avrdude: avr_read_mem(): skipping page 361: no interesting data avrdude: avr_read_mem(): skipping page 362: no interesting data avrdude: avr_read_mem(): skipping page 363: no interesting data avrdude: avr_read_mem(): skipping page 364: no interesting data avrdude: avr_read_mem(): skipping page 365: no interesting data avrdude: avr_read_mem(): skipping page 366: no interesting data avrdude: avr_read_mem(): skipping page 367: no interesting data avrdude: avr_read_mem(): skipping page 368: no interesting data avrdude: avr_read_mem(): skipping page 369: no interesting data avrdude: avr_read_mem(): skipping page 370: no interesting data avrdude: avr_read_mem(): skipping page 371: no interesting data avrdude: avr_read_mem(): skipping page 372: no interesting data avrdude: avr_read_mem(): skipping page 373: no interesting data avrdude: avr_read_mem(): skipping page 374: no interesting data avrdude: avr_read_mem(): skipping page 375: no interesting data avrdude: avr_read_mem(): skipping page 376: no interesting data avrdude: avr_read_mem(): skipping page 377: no interesting data avrdude: avr_read_mem(): skipping page 378: no interesting data avrdude: avr_read_mem(): skipping page 379: no interesting data avrdude: avr_read_mem(): skipping page 380: no interesting data avrdude: avr_read_mem(): skipping page 381: no interesting data avrdude: avr_read_mem(): skipping page 382: no interesting data avrdude: avr_read_mem(): skipping page 383: no interesting data avrdude: avr_read_mem(): skipping page 384: no interesting data avrdude: avr_read_mem(): skipping page 385: no interesting data avrdude: avr_read_mem(): skipping page 386: no interesting data avrdude: avr_read_mem(): skipping page 387: no interesting data avrdude: avr_read_mem(): skipping page 388: no interesting data avrdude: avr_read_mem(): skipping page 389: no interesting data avrdude: avr_read_mem(): skipping page 390: no interesting data avrdude: avr_read_mem(): skipping page 391: no interesting data avrdude: avr_read_mem(): skipping page 392: no interesting data avrdude: avr_read_mem(): skipping page 393: no interesting data avrdude: avr_read_mem(): skipping page 394: no interesting data avrdude: avr_read_mem(): skipping page 395: no interesting data avrdude: avr_read_mem(): skipping page 396: no interesting data avrdude: avr_read_mem(): skipping page 397: no interesting data avrdude: avr_read_mem(): skipping page 398: no interesting data avrdude: avr_read_mem(): skipping page 399: no interesting data avrdude: avr_read_mem(): skipping page 400: no interesting data avrdude: avr_read_mem(): skipping page 401: no interesting data avrdude: avr_read_mem(): skipping page 402: no interesting data avrdude: avr_read_mem(): skipping page 403: no interesting data avrdude: avr_read_mem(): skipping page 404: no interesting data avrdude: avr_read_mem(): skipping page 405: no interesting data avrdude: avr_read_mem(): skipping page 406: no interesting data avrdude: avr_read_mem(): skipping page 407: no interesting data avrdude: avr_read_mem(): skipping page 408: no interesting data avrdude: avr_read_mem(): skipping page 409: no interesting data avrdude: avr_read_mem(): skipping page 410: no interesting data avrdude: avr_read_mem(): skipping page 411: no interesting data avrdude: avr_read_mem(): skipping page 412: no interesting data avrdude: avr_read_mem(): skipping page 413: no interesting data avrdude: avr_read_mem(): skipping page 414: no interesting data avrdude: avr_read_mem(): skipping page 415: no interesting data avrdude: avr_read_mem(): skipping page 416: no interesting data avrdude: avr_read_mem(): skipping page 417: no interesting data avrdude: avr_read_mem(): skipping page 418: no interesting data avrdude: avr_read_mem(): skipping page 419: no interesting data avrdude: avr_read_mem(): skipping page 420: no interesting data avrdude: avr_read_mem(): skipping page 421: no interesting data avrdude: avr_read_mem(): skipping page 422: no interesting data avrdude: avr_read_mem(): skipping page 423: no interesting data avrdude: avr_read_mem(): skipping page 424: no interesting data avrdude: avr_read_mem(): skipping page 425: no interesting data avrdude: avr_read_mem(): skipping page 426: no interesting data avrdude: avr_read_mem(): skipping page 427: no interesting data avrdude: avr_read_mem(): skipping page 428: no interesting data avrdude: avr_read_mem(): skipping page 429: no interesting data avrdude: avr_read_mem(): skipping page 430: no interesting data avrdude: avr_read_mem(): skipping page 431: no interesting data avrdude: avr_read_mem(): skipping page 432: no interesting data avrdude: avr_read_mem(): skipping page 433: no interesting data avrdude: avr_read_mem(): skipping page 434: no interesting data avrdude: avr_read_mem(): skipping page 435: no interesting data avrdude: avr_read_mem(): skipping page 436: no interesting data avrdude: avr_read_mem(): skipping page 437: no interesting data avrdude: avr_read_mem(): skipping page 438: no interesting data avrdude: avr_read_mem(): skipping page 439: no interesting data avrdude: avr_read_mem(): skipping page 440: no interesting data avrdude: avr_read_mem(): skipping page 441: no interesting data avrdude: avr_read_mem(): skipping page 442: no interesting data avrdude: avr_read_mem(): skipping page 443: no interesting data avrdude: avr_read_mem(): skipping page 444: no interesting data avrdude: avr_read_mem(): skipping page 445: no interesting data avrdude: avr_read_mem(): skipping page 446: no interesting data avrdude: avr_read_mem(): skipping page 447: no interesting data avrdude: avr_read_mem(): skipping page 448: no interesting data avrdude: avr_read_mem(): skipping page 449: no interesting data avrdude: avr_read_mem(): skipping page 450: no interesting data avrdude: avr_read_mem(): skipping page 451: no interesting data avrdude: avr_read_mem(): skipping page 452: no interesting data avrdude: avr_read_mem(): skipping page 453: no interesting data avrdude: avr_read_mem(): skipping page 454: no interesting data avrdude: avr_read_mem(): skipping page 455: no interesting data avrdude: avr_read_mem(): skipping page 456: no interesting data avrdude: avr_read_mem(): skipping page 457: no interesting data avrdude: avr_read_mem(): skipping page 458: no interesting data avrdude: avr_read_mem(): skipping page 459: no interesting data avrdude: avr_read_mem(): skipping page 460: no interesting data avrdude: avr_read_mem(): skipping page 461: no interesting data avrdude: avr_read_mem(): skipping page 462: no interesting data avrdude: avr_read_mem(): skipping page 463: no interesting data avrdude: avr_read_mem(): skipping page 464: no interesting data avrdude: avr_read_mem(): skipping page 465: no interesting data avrdude: avr_read_mem(): skipping page 466: no interesting data avrdude: avr_read_mem(): skipping page 467: no interesting data avrdude: avr_read_mem(): skipping page 468: no interesting data avrdude: avr_read_mem(): skipping page 469: no interesting data avrdude: avr_read_mem(): skipping page 470: no interesting data avrdude: avr_read_mem(): skipping page 471: no interesting data avrdude: avr_read_mem(): skipping page 472: no interesting data avrdude: avr_read_mem(): skipping page 473: no interesting data avrdude: avr_read_mem(): skipping page 474: no interesting data avrdude: avr_read_mem(): skipping page 475: no interesting data avrdude: avr_read_mem(): skipping page 476: no interesting data avrdude: avr_read_mem(): skipping page 477: no interesting data avrdude: avr_read_mem(): skipping page 478: no interesting data avrdude: avr_read_mem(): skipping page 479: no interesting data avrdude: avr_read_mem(): skipping page 480: no interesting data avrdude: avr_read_mem(): skipping page 481: no interesting data avrdude: avr_read_mem(): skipping page 482: no interesting data avrdude: avr_read_mem(): skipping page 483: no interesting data avrdude: avr_read_mem(): skipping page 484: no interesting data avrdude: avr_read_mem(): skipping page 485: no interesting data avrdude: avr_read_mem(): skipping page 486: no interesting data avrdude: avr_read_mem(): skipping page 487: no interesting data avrdude: avr_read_mem(): skipping page 488: no interesting data avrdude: avr_read_mem(): skipping page 489: no interesting data avrdude: avr_read_mem(): skipping page 490: no interesting data avrdude: avr_read_mem(): skipping page 491: no interesting data avrdude: avr_read_mem(): skipping page 492: no interesting data avrdude: avr_read_mem(): skipping page 493: no interesting data avrdude: avr_read_mem(): skipping page 494: no interesting data avrdude: avr_read_mem(): skipping page 495: no interesting data avrdude: avr_read_mem(): skipping page 496: no interesting data avrdude: avr_read_mem(): skipping page 497: no interesting data avrdude: avr_read_mem(): skipping page 498: no interesting data avrdude: avr_read_mem(): skipping page 499: no interesting data avrdude: avr_read_mem(): skipping page 500: no interesting data avrdude: avr_read_mem(): skipping page 501: no interesting data avrdude: avr_read_mem(): skipping page 502: no interesting data avrdude: avr_read_mem(): skipping page 503: no interesting data avrdude: avr_read_mem(): skipping page 504: no interesting data avrdude: avr_read_mem(): skipping page 505: no interesting data avrdude: avr_read_mem(): skipping page 506: no interesting data avrdude: avr_read_mem(): skipping page 507: no interesting data avrdude: avr_read_mem(): skipping page 508: no interesting data avrdude: avr_read_mem(): skipping page 509: no interesting data avrdude: avr_read_mem(): skipping page 510: no interesting data avrdude: avr_read_mem(): skipping page 511: no interesting data avrdude: verifying ... avrdude: 5122 bytes of flash verified avrdude: sending leave progmode command: avrdude: jtag3_edbg_send(): sending 3 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 100 (command_sequence == 100) Raw message: 12 80 00 [AVR] OK avrdude: jtag3_close() avrdude: sending AVR sign-off command: avrdude: jtag3_edbg_send(): sending 3 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 101 (command_sequence == 101) Raw message: 12 80 00 [AVR] OK avrdude: sending sign-off command: avrdude: jtag3_edbg_send(): sending 4 bytes avrdude: jtag3_edbg_recv(): avrdude: jtag3_recv(): Got message seqno 102 (command_sequence == 102) Raw message: 01 80 00 [general] OK avrdude: jtag3_edbg_signoff() avrdude done. Thank you. ```
mcuee commented 10 months ago

@askn37

I have changed the label to unconfirmed for now. Please follow the suggestion from @dbuchwald.

I will change the lable back to bug if another user or I can confirm the issue. Thanks.

mcuee commented 10 months ago

@stefanrueger and @dbuchwald

I can not test this right now but I am not sure if you can get some useful info from my debug log using the -c pkobn_updi programmer. Please take a look the debug log. Thanks.

stefanrueger commented 10 months ago

@askn37 Thanks for reporting and for expanding your submission with additional information. Could I ask you to give the complete line, including which -c programmer etc where you get IO memory instead of flash, please. So, we can try to reproduce. You appear to use -U flash:r:avr64ea32/Flash.hex:i as one element.

dbuchwald commented 10 months ago

@mcuee if you have access to Curiosity Nano board with AVR64EA32 (or AVR64EA48) chip, you can connect your SerialUPDI programmer like so:

curiosity_nano

I know it looks flimsy AF, but it does work, good enough to run some tests.

That being said, I want to clarify something - my implementation of SerialUPDI in AVRDUDE was always meant to be just a port of Python-based Microchip reference implementation. It was never built directly based on chip datasheets, an for a reason. I could have never dreamt of testing my code against statistically significant sample of the actual microcontrollers, so following manufacturer's reference implementation was the only "natural" thing to do. This is why I need comparison between pymcuprog and AVRDUDE, I need to know how the reference implementation handles support for these processors. Sure, I can add new parameter to the programmer to enable 24-bit operation on NVM v3 and offer it as an experimental feature, but I would be hesitant to changing the core implementation based on datasheet of a chip I can't get my hands on in reasonable timeframe.

Bottom line: I really need to know two things:

  1. How does pymcuprog handle scenarios with "resetting"/"sleeping" chip (as far as I recall, it doesn't), and how to reproduce this behavior (how to put one of the Dx chips I do have in these states),
  2. How does pymcuprog handle programming of the AVR64EA32 chips.

Please note: English is not my first language, and now rereading the above it sounds like I don't want to handle this issue, but that would be wrong impression. I really do want to help, and I'm happy to experiment with different approaches, but I really need to know that whatever we are trying to do here will not break existing functionality.

mcuee commented 10 months ago

@dbuchwald

Thanks a lot for the tip. I will try to get some compariosons done tomorrow.between pymcuprog and avrdude.

No worry, you have been very helpful to avrdude project.

askn37 commented 10 months ago

@mcuee

  1. How does pymcuprog handle scenarios with "resetting"/"sleeping" chip (as far as I recall, it doesn't), and how to reproduce this behavior (how to put one of the Dx chips I do have in these states),
  2. How does pymcuprog handle programming of the AVR64EA32 chips.

Please note: English is not my first language, and now rereading the above it sounds like I don't want to handle this issue, but that would be wrong impression. I really do want to help, and I'm happy to experiment with different approaches, but I really need to know that whatever we are trying to do here will not break existing functionality.

Unfortunately, it appears that pymcuprog has not been updated since October 2022. Microchip published his AVR16EAxx and AVR32EAxx repositories in April 2023 and began shipping engineering samples to customers. Therefore, it is unlikely that pymcuprog can expect full compatibility with his NVMCTRL version 3.

In fact, the first release of Microchip's AVR-LIBC library for his AVR32EAxx had an EEPROM control bug that incorrectly used version 0 code for NVMCTRL version 3. I first discovered it and reported it to Microchip. The repository was properly modified and published in July.

I have never tested pymcuprog before. Because debugging Python is not my main job. However, if new issues are discovered, you will need to report them to Microchip again.

(By the way, my native language is Japanese. Conversation with a microchip is quite troublesome.)

mcuee commented 10 months ago

@xedbg

Just wondering if you can help to check here. Thanks.

stefanrueger commented 10 months ago

I'm happy to experiment with different approaches

Thank you, @dbuchwald. This is great. Given the choice between a working implementation and one that's conform to a possibly outdated reference implementation, I'd go for the former in a heartbeat. It would be good if you could continue to look after the UPDI implementation @dbuchwald. Many thanks all round, @mcuee for testing and @askn37 for making us aware of this problem. (@askn37 if you have specific code suggestions to try, please feel free to share).

dbuchwald commented 10 months ago

@mcuee if you get some time to replicate the issue, you can also grab the version I just provided via PR above - it basically replaces 16-bit addressing mode for NVM v3 controllers by 24-bit mode. You can test if it works any better. The main problem I see now is that I don't know if there is any reasonable way to get list of devices using NVM v3 and test them against this implementation. As for Microchip dropping support for pymcuprog/serialupdi, this is unfortunate, but somehow consistent with their way of operation. Let's leave it there.

If it works, then we need to look into this "sleep" mode, and as far as I can tell from the datasheet, it might not be trivial thing to do:

_The UPDI PHY layer runs independently of all sleep modes, and the UPDI is always accessible for a connected debugger independent of the device’s sleep state. If the system enters a sleep mode that turns the system clock off, the UPDI cannot access the system bus and read memories and peripherals. When enabled, the UPDI will request the system clock so that the UPDI always has contact with the rest of the device. Thus, the UPDI PHY layer clock is unaffected by the sleep mode’s settings. By reading the System Domain in Sleep (INSLEEP) bit in the ASI System Status (UPDI.ASI_SYS_STATUS) register, it is possible to monitor if the system domain is in a sleep mode. It is possible to prevent the system clock from stopping when going into a sleep mode by writing to the Request System Clock (CLKREQ) bit in the ASI System Control A (UPDI.ASI_SYSCTRLA) register. If this bit is set, the system’s sleep mode state is emulated, and the UPDI can access the system bus and read the peripheral registers even in the deepest sleep modes.

mcuee commented 10 months ago

I will label this as bug for now based on the reports by @askn37. But I will try to carry out the test to confirm later.

mcuee commented 10 months ago

@dbuchwald

I can confirm there is an issue in git main and your PR #1531 helps, at least for reading. For writing I still encounfer faliures but I do not have a steady hand now to hold the pin headers long enough. I will do that later.

1) git main failed to verify flash contents (I used the on-board programmer to program the flash first and then verify with serialupdi.

PS> .\avrdude_git -c serialupdi -P COM9 -p avr64ea48 -U flash:v:median_Release_1.0.0.hex:i
avrdude_git: AVR device initialized and ready to accept instructions
avrdude_git: device signature = 0x1e961e (probably avr64ea48)

avrdude_git: processing -U flash:v:median_Release_1.0.0.hex:i
avrdude_git: verifying flash memory against median_Release_1.0.0.hex
Reading | ################################################## | 100% 1.19 s
avrdude_git warning: verification mismatch
            device 0x00 != input 0x5c at addr 0x0000 (error)
avrdude_git error: verification mismatch

avrdude_git done.  Thank you.

PR #1531 is good in terms of verification.

PS> .\avrdude_pr1531 -C .\avrdude_pr1531.conf -cserialupdi -PCOM9 -pavr64ea48 -U flash:v:median_Release_1.0.0.hex:i
avrdude_pr1531: AVR device initialized and ready to accept instructions
avrdude_pr1531: device signature = 0x1e961e (probably avr64ea48)

avrdude_pr1531: processing -U flash:v:median_Release_1.0.0.hex:i
avrdude_pr1531: verifying flash memory against median_Release_1.0.0.hex
Reading | ################################################## | 100% 1.19 s
avrdude_pr1531: 5122 bytes of flash verified

avrdude_pr1531 done.  Thank you.
mcuee commented 10 months ago

For writing I still encounfer faliures but I do not have a steady hand now to hold the pin headers long enough. I will do that later.

@dbuchwald

I managed to hold the pin header and PR #1531 is good as well.

PS > .\avrdude_pr1531 -C .\avrdude_pr1531.conf -c serialupdi -P COM9 -p avr64ea48 -U median_Release_1.0.0.hex
avrdude_pr1531: AVR device initialized and ready to accept instructions
avrdude_pr1531: device signature = 0x1e961e (probably avr64ea48)
avrdude_pr1531: Note: flash memory has been specified, an erase cycle will be performed.
                To disable this feature, specify the -D option.
avrdude_pr1531: erasing chip

avrdude_pr1531: processing -U flash:w:median_Release_1.0.0.hex:i
avrdude_pr1531: reading input file median_Release_1.0.0.hex for flash
                with 5122 bytes in 1 section within [0, 0x1401]
                using 41 pages and 126 pad bytes
avrdude_pr1531: writing 5122 bytes flash ...
Writing | ################################################## | 100% 1.91 s
avrdude_pr1531: 5122 bytes of flash written
avrdude_pr1531: verifying flash memory against median_Release_1.0.0.hex
Reading | ################################################## | 100% 0.93 s
avrdude_pr1531: 5122 bytes of flash verified

avrdude_pr1531 done.  Thank you.

git main will fail.

PS > .\avrdude_git -c serialupdi -P COM9 -p avr64ea48 -U median_Release_1.0.0.hex
avrdude_git: AVR device initialized and ready to accept instructions
avrdude_git: device signature = 0x1e961e (probably avr64ea48)
avrdude_git: Note: flash memory has been specified, an erase cycle will be performed.
             To disable this feature, specify the -D option.
avrdude_git: erasing chip

avrdude_git: processing -U flash:w:median_Release_1.0.0.hex:i
avrdude_git: reading input file median_Release_1.0.0.hex for flash
             with 5122 bytes in 1 section within [0, 0x1401]
             using 41 pages and 126 pad bytes
avrdude_git: writing 5122 bytes flash ...
Writing | ##------------------------------------------------ | 4% 2.16 s
avrdude_git error: commit data command failed
avrdude_git error: wait NVM ready timed out
avrdude_git error: updi_nvm_wait_ready() failed
 ***failed;
avrdude_git error: wait NVM ready timed out
avrdude_git error: updi_nvm_wait_ready() failed
 ***failed;
avrdude_git error: wait NVM ready timed out
avrdude_git error: updi_nvm_wait_ready() failed
 ***failed;
avrdude_git error: wait NVM ready timed out
avrdude_git error: updi_nvm_wait_ready() failed
 ***failed;
avrdude_git error: wait NVM ready timed out
avrdude_git error: updi_nvm_wait_ready() failed
 ***failed;
avrdude_git error: wait NVM ready timed out
avrdude_git error: updi_nvm_wait_ready() failed
 ***failed;
(I hit CTRL-C to exit)
mcuee commented 10 months ago

BTW, I need to mention that the nice setial2updi adapter (with pogo-pins or pin headers) is courtesy of @SpenceKonde (aka Dr. Azzy).

He is very kind and sent me the following at the end of last year. 1) Nice serialupdi adapter with pogo pins and pin headers 2) AVR64DD32 board 3) AVR32DD14 breakout board 4) ATTiny3227 breakout board

mcuee commented 10 months ago

@askn37

Please give PR #1531 a try. Thanks. My testing shows that it works fine.

askn37 commented 10 months ago

I would like to thank you all for your great work.

The attached code is a program that allows you to experience sleep failures (rather than address width issues). This applies to tinyAVR-2 and most of its AVR_DA/DB/DD/EA/EB. It can be constructed with AVR-LIBC.

When I run it, the LED keeps blinking using PA7, but the CPU remains in a STANDBY sleep state with interrupts disabled. Also, F_CPU is 512Hz.

(TCB0, CCL, and EVOUT are used for this LED blinking operation, but tinyAVR-0/1 and megaAVR-0 are not supported because the difference in CCL is troublesome.)

Please upload your code to the device using a method other than the problematic SerialUPDI and test it with SerialUPDI. It is important not to reset the CPU at this point. The CPU startup start time is affected by the SUT setting value of FUSE_SYSCFG1.

To test without going to sleep, run a SerialUPDI with the reset pad LOW, wait a second or two, then release the reset. SerialUPDI should be able to recognize the CPU. A power-on reset is required if the chip's reset pad functionality is disabled in FUSE_SYSCFG0.

Engineering samples of the AVR16EBxx will begin arriving to stakeholders soon. It seems that the application for free distribution has ended. moderAVR_sleep_c.txt

xedbg commented 10 months ago

Just wondering if you can help to check here. Thanks.

Sure, i can take a closer look today. But something does looks off here - the 'default' should use 24-bit UPDI going forward for all parts.

dbuchwald commented 10 months ago

But something does looks off here - the 'default' should use 24-bit UPDI going forward for all parts.

And that was the change I made - chips reporting NVM v3 are now handled with 24-bit addressing. That being said, it would be great to find some sort of list of all the devices using this NVM mode to test it with more than one or two...

mcuee commented 10 months ago

If it works, then we need to look into this "sleep" mode, and as far as I can tell from the datasheet, it might not be trivial thing to do:

_The UPDI PHY layer runs independently of all sleep modes, and the UPDI is always accessible for a connected debugger independent of the device’s sleep state. If the system enters a sleep mode that turns the system clock off, the UPDI cannot access the system bus and read memories and peripherals. When enabled, the UPDI will request the system clock so that the UPDI always has contact with the rest of the device. Thus, the UPDI PHY layer clock is unaffected by the sleep mode’s settings. By reading the System Domain in Sleep (INSLEEP) bit in the ASI System Status (UPDI.ASI_SYS_STATUS) register, it is possible to monitor if the system domain is in a sleep mode. It is possible to prevent the system clock from stopping when going into a sleep mode by writing to the Request System Clock (CLKREQ) bit in the ASI System Control A (UPDI.ASI_SYSCTRLA) register. If this bit is set, the system’s sleep mode state is emulated, and the UPDI can access the system bus and read the peripheral registers even in the deepest sleep modes.

If this is not trivial to do, I think we can just document this as a limitation.

mcuee commented 10 months ago

But something does looks off here - the 'default' should use 24-bit UPDI going forward for all parts.

And that was the change I made - chips reporting NVM v3 are now handled with 24-bit addressing. That being said, it would be great to find some sort of list of all the devices using this NVM mode to test it with more than one or two...

Do you know other AVR families which use NVM v3?

dbuchwald commented 10 months ago

If this is not trivial to do, I think we can just document this as a limitation.

I will try to reproduce the issue using the code provided by @askn37, and if it occurs on a hardware that I do have at hand (Curiosity Nano with AVR128DA), I can see if there is any procedure that would "wake up" the chip. So far I haven't found any suggestion in the datasheet, but I need to look deeper. At the very least I can try to read the status register to check if device is asleep and display some sort of information.

Do you know other AVR families which use NVM v3?

Nope. I actually found my original PR with first implementation of SerialUPDI interface https://github.com/avrdudes/avrdude/pull/772 and found this part of the comment:

NVM mode 3 has not been tested, since I don't have EA-series chips either. I don't even know if they can be obtained

So yeah, testing against another NVM v3 device would be great...

xedbg commented 10 months ago

But something does looks off here - the 'default' should use 24-bit UPDI going forward for all parts.

And that was the change I made - chips reporting NVM v3 are now handled with 24-bit addressing. That being said, it would be great to find some sort of list of all the devices using this NVM mode to test it with more than one or two...

Do you know other AVR families which use NVM v3?

I think its just EA. (DU uses P:4 and EB uses P:5)

askn37 commented 10 months ago

@dbuchwald: The easiest way is to get information other than UPDI_SIB after "entering NVM programming mode". It is now guaranteed to be unaffected by the execution state of the target CPU.

@mcuee: The AVR_EA and AVR_EB series are currently known to use NVMCTRL version 3. As proof, look for the "ioavr16eb32.h" file in his PACK, available at Microchip Packs Repository. And check the NVMCTRL_CMD_enum information. Let's also take a look at "#define NVMCTRL_ADDR". This is where the differences between the versions of NVMCTRL become apparent.

mcuee commented 10 months ago

@mcuee: The AVR_EA and AVR_EB series are currently known to use NVMCTRL version 3. As proof, look for the "ioavr16eb32.h" file in his PACK, available at Microchip Packs Repository. And check the NVMCTRL_CMD_enum information. Let's also take a look at "#define NVMCTRL_ADDR". This is where the differences between the versions of NVMCTRL become apparent.

Thanks a lot for the tip. I have just refreshed my atdf repo. The only missing pack seems to be AVR32 DFP.

I am not good at using Bash commands. So I use a crude method. There are only 13 files containing the nvm_ctrl_avr_v3 string and then the number of AVR EA and EB atdf files are also 13.

 MINGW64 /c/work/avr/avrdude_test/atdf
$ ls -la *.atdf | wc -l
387

$ cat AVR64EA48.atdf | grep nvm_ctrl_avr_v3
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"

$ cat AVR16EB32.atdf | grep nvm_ctrl_avr_v3
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"

$ cat *.atdf | grep nvm_ctrl_avr_v3
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"
            <module id="nvm_ctrl_avr_v3" name="NVMCTRL">
              id="nvm_ctrl_avr_v3"

$ ls *EA*.atdf
AVR16EA28.atdf  AVR16EA32.atdf  AVR16EA48.atdf  AVR32EA28.atdf  AVR32EA32.atdf  
AVR32EA48.atdf  AVR64EA28.atdf  AVR64EA32.atdf  AVR64EA48.atdf

$ ls *EB*.atdf
AVR16EB14.atdf  AVR16EB20.atdf  AVR16EB28.atdf  AVR16EB32.atdf

$ ls *.atdf -laG --time-style=long-iso | awk '{print $4, $5, $6, $7}'
399906 2020-09-18 15:57 AT32UC3A0128.atdf
399907 2020-09-18 15:57 AT32UC3A0256.atdf
399907 2020-09-18 15:57 AT32UC3A0512.atdf
381293 2020-09-18 15:57 AT32UC3A1128.atdf
381293 2020-09-18 15:57 AT32UC3A1256.atdf
381293 2020-09-18 15:57 AT32UC3A1512.atdf
515771 2020-09-18 15:57 AT32UC3A3128.atdf
524960 2020-09-18 15:57 AT32UC3A3128S.atdf
515771 2020-09-18 15:57 AT32UC3A3256.atdf
524960 2020-09-18 15:57 AT32UC3A3256S.atdf
513912 2020-09-18 15:57 AT32UC3A364.atdf
523101 2020-09-18 15:57 AT32UC3A364S.atdf
515790 2020-09-18 15:57 AT32UC3A4128.atdf
524979 2020-09-18 15:57 AT32UC3A4128S.atdf
515790 2020-09-18 15:57 AT32UC3A4256.atdf
524979 2020-09-18 15:57 AT32UC3A4256S.atdf
513931 2020-09-18 15:57 AT32UC3A464.atdf
523120 2020-09-18 15:57 AT32UC3A464S.atdf
353307 2020-09-18 15:57 AT32UC3B0128.atdf
353306 2020-09-18 15:57 AT32UC3B0256.atdf
357446 2020-09-18 15:57 AT32UC3B0512.atdf
353305 2020-09-18 15:57 AT32UC3B064.atdf
337678 2020-09-18 15:57 AT32UC3B1128.atdf
337678 2020-09-18 15:57 AT32UC3B1256.atdf
356551 2020-09-18 15:57 AT32UC3B1512.atdf
337674 2020-09-18 15:57 AT32UC3B164.atdf
841945 2020-09-18 15:57 AT32UC3C0128C.atdf
838821 2020-09-18 15:57 AT32UC3C0256C.atdf
838918 2020-09-18 15:57 AT32UC3C0512C.atdf
838821 2020-09-18 15:57 AT32UC3C064C.atdf
827160 2020-09-18 15:57 AT32UC3C1128C.atdf
827161 2020-09-18 15:57 AT32UC3C1256C.atdf
827244 2020-09-18 15:57 AT32UC3C1512C.atdf
827161 2020-09-18 15:57 AT32UC3C164C.atdf
815056 2020-09-18 15:57 AT32UC3C2128C.atdf
815057 2020-09-18 15:57 AT32UC3C2256C.atdf
815140 2020-09-18 15:57 AT32UC3C2512C.atdf
815057 2020-09-18 15:57 AT32UC3C264C.atdf
607660 2020-09-18 15:57 AT32UC3L0128.atdf
489228 2020-09-18 15:57 AT32UC3L016.atdf
607429 2020-09-18 15:57 AT32UC3L0256.atdf
489351 2020-09-18 15:57 AT32UC3L032.atdf
512152 2020-09-18 15:57 AT32UC3L064.atdf
102904 2023-08-15 15:08 AT90CAN128.atdf
101282 2023-08-15 15:08 AT90CAN32.atdf
101402 2023-08-15 15:08 AT90CAN64.atdf
75537 2023-08-15 15:08 AT90PWM1.atdf
70469 2023-08-15 15:08 AT90PWM161.atdf
79625 2023-08-15 15:08 AT90PWM216.atdf
81495 2023-08-15 15:08 AT90PWM2B.atdf
88682 2023-08-15 15:08 AT90PWM3.atdf
86968 2023-08-15 15:08 AT90PWM316.atdf
87613 2023-08-15 15:08 AT90PWM3B.atdf
71631 2023-08-15 15:08 AT90PWM81.atdf
85865 2023-08-15 15:08 AT90USB1286.atdf
91745 2023-08-15 15:08 AT90USB1287.atdf
62628 2023-08-15 15:08 AT90USB162.atdf
91741 2023-08-15 15:08 AT90USB646.atdf
91741 2023-08-15 15:08 AT90USB647.atdf
62627 2023-08-15 15:08 AT90USB82.atdf
64885 2022-03-03 12:51 ATA5272.atdf
65106 2022-09-26 11:59 ATA5505.atdf
152085 2022-09-26 11:59 ATA5700M322.atdf
170156 2022-09-26 11:59 ATA5702M322.atdf
117293 2022-09-26 11:59 ATA5781.atdf
117534 2022-09-26 11:59 ATA5782.atdf
117531 2022-09-26 11:59 ATA5783.atdf
125819 2022-09-26 11:59 ATA5787.atdf
56337 2022-03-03 12:51 ATA5790.atdf
57771 2022-03-03 12:51 ATA5790N.atdf
57852 2022-03-03 12:51 ATA5791.atdf
48975 2022-03-03 12:51 ATA5795.atdf
128703 2022-09-26 11:59 ATA5831.atdf
128700 2022-09-26 11:59 ATA5832.atdf
128461 2022-09-26 11:59 ATA5833.atdf
137403 2022-09-26 11:59 ATA5835.atdf
47160 2022-03-03 12:51 ATA6285.atdf
47160 2022-03-03 12:51 ATA6286.atdf
67961 2022-03-03 12:51 ATA6612C.atdf
68149 2022-03-03 12:51 ATA6613C.atdf
68245 2022-03-03 12:51 ATA6614Q.atdf
64654 2022-03-03 12:51 ATA6616C.atdf
64654 2022-03-03 12:51 ATA6617C.atdf
64542 2022-03-03 12:51 ATA664251.atdf
117534 2022-09-26 11:59 ATA8210.atdf
117293 2022-09-26 11:59 ATA8215.atdf
128703 2022-09-26 11:59 ATA8510.atdf
128462 2022-09-26 11:59 ATA8515.atdf
361120 2020-09-18 15:59 ATBTLC1000WLCSP.atdf
89745 2023-08-15 15:08 ATmega128.atdf
129170 2023-08-15 15:08 ATmega1280.atdf
113892 2023-08-15 15:08 ATmega1281.atdf
93770 2023-08-15 15:08 ATmega1284.atdf
96851 2023-08-15 15:08 ATmega1284P.atdf
191773 2023-08-15 15:08 ATmega1284RFR2.atdf
88179 2023-08-15 15:08 ATmega128A.atdf
170953 2023-08-15 15:08 ATmega128RFA1.atdf
189862 2023-08-15 15:08 ATmega128RFR2.atdf
73320 2023-08-15 15:08 ATmega16.atdf
256354 2023-08-15 15:08 ATmega1608.atdf
267591 2023-08-15 15:08 ATmega1609.atdf
69975 2023-08-15 15:08 ATmega162.atdf
95062 2023-08-15 15:08 ATmega164A.atdf
92435 2023-08-15 15:08 ATmega164P.atdf
95692 2023-08-15 15:08 ATmega164PA.atdf
64542 2023-08-15 15:08 ATmega165A.atdf
64542 2023-08-15 15:08 ATmega165P.atdf
64684 2023-08-15 15:08 ATmega165PA.atdf
80348 2023-08-15 15:08 ATmega168.atdf
82474 2023-08-15 15:08 ATmega168A.atdf
81733 2023-08-15 15:08 ATmega168P.atdf
83129 2023-08-15 15:08 ATmega168PA.atdf
80648 2023-08-15 15:08 ATmega168PB.atdf
90370 2023-08-15 15:08 ATmega169A.atdf
90526 2023-08-15 15:08 ATmega169P.atdf
92317 2023-08-15 15:08 ATmega169PA.atdf
74627 2023-08-15 15:08 ATmega16A.atdf
42910 2023-08-15 15:08 ATmega16HVA.atdf
61665 2023-08-15 15:08 ATmega16HVB.atdf
61668 2023-08-15 15:08 ATmega16HVBrevB.atdf
101003 2023-08-15 15:08 ATmega16M1.atdf
74611 2023-08-15 15:08 ATmega16U2.atdf
98945 2023-08-15 15:08 ATmega16U4.atdf
129232 2023-08-15 15:08 ATmega2560.atdf
113427 2023-08-15 15:08 ATmega2561.atdf
190199 2023-08-15 15:08 ATmega2564RFR2.atdf
190138 2023-08-15 15:08 ATmega256RFR2.atdf
72648 2023-08-15 15:08 ATmega32.atdf
254148 2023-08-15 15:08 ATmega3208.atdf
265672 2023-08-15 15:08 ATmega3209.atdf
94915 2023-08-15 15:08 ATmega324A.atdf
92592 2023-08-15 15:08 ATmega324P.atdf
97031 2023-08-15 15:08 ATmega324PA.atdf
113019 2023-08-15 15:08 ATmega324PB.atdf
64567 2023-08-15 15:08 ATmega325.atdf
66380 2023-08-15 15:08 ATmega3250.atdf
66381 2023-08-15 15:08 ATmega3250A.atdf
66521 2023-08-15 15:08 ATmega3250P.atdf
66264 2023-08-15 15:08 ATmega3250PA.atdf
64723 2023-08-15 15:08 ATmega325A.atdf
64863 2023-08-15 15:08 ATmega325P.atdf
64663 2023-08-15 15:08 ATmega325PA.atdf
83077 2023-08-15 15:08 ATmega328.atdf
81596 2023-08-15 15:08 ATmega328P.atdf
98689 2023-08-15 15:08 ATmega328PB.atdf
86422 2023-08-15 15:08 ATmega329.atdf
72585 2023-08-15 15:08 ATmega3290.atdf
72586 2023-08-15 15:08 ATmega3290A.atdf
74662 2023-08-15 15:08 ATmega3290P.atdf
74261 2023-08-15 15:08 ATmega3290PA.atdf
99020 2023-08-15 15:08 ATmega329A.atdf
100704 2023-08-15 15:08 ATmega329P.atdf
99165 2023-08-15 15:08 ATmega329PA.atdf
70893 2023-08-15 15:08 ATmega32A.atdf
92499 2023-08-15 15:08 ATmega32C1.atdf
61665 2023-08-15 15:08 ATmega32HVB.atdf
57876 2023-08-15 15:08 ATmega32HVBrevB.atdf
98242 2023-08-15 15:08 ATmega32M1.atdf
73269 2023-08-15 15:08 ATmega32U2.atdf
96445 2023-08-15 15:08 ATmega32U4.atdf
51809 2023-08-15 15:08 ATmega406.atdf
79684 2023-08-15 15:08 ATmega48.atdf
254281 2023-08-15 15:08 ATmega4808.atdf
265805 2023-08-15 15:08 ATmega4809.atdf
80645 2023-08-15 15:08 ATmega48A.atdf
79603 2023-08-15 15:08 ATmega48P.atdf
81445 2023-08-15 15:08 ATmega48PA.atdf
78333 2023-08-15 15:08 ATmega48PB.atdf
90121 2023-08-15 15:08 ATmega64.atdf
128753 2023-08-15 15:08 ATmega640.atdf
87165 2023-08-15 15:08 ATmega644.atdf
89942 2023-08-15 15:08 ATmega644A.atdf
91509 2023-08-15 15:08 ATmega644P.atdf
90419 2023-08-15 15:08 ATmega644PA.atdf
189377 2023-08-15 15:08 ATmega644RFR2.atdf
64368 2023-08-15 15:08 ATmega645.atdf
65970 2023-08-15 15:08 ATmega6450.atdf
65971 2023-08-15 15:08 ATmega6450A.atdf
65971 2023-08-15 15:08 ATmega6450P.atdf
64446 2023-08-15 15:08 ATmega645A.atdf
64586 2023-08-15 15:08 ATmega645P.atdf
86034 2023-08-15 15:08 ATmega649.atdf
72005 2023-08-15 15:08 ATmega6490.atdf
72006 2023-08-15 15:08 ATmega6490A.atdf
72006 2023-08-15 15:08 ATmega6490P.atdf
85740 2023-08-15 15:08 ATmega649A.atdf
85739 2023-08-15 15:08 ATmega649P.atdf
89521 2023-08-15 15:08 ATmega64A.atdf
90287 2023-08-15 15:08 ATmega64C1.atdf
59960 2023-08-15 15:08 ATmega64HVE2.atdf
98280 2023-08-15 15:08 ATmega64M1.atdf
187754 2023-08-15 15:08 ATmega64RFR2.atdf
65718 2023-08-15 15:08 ATmega8.atdf
256350 2023-08-15 15:08 ATmega808.atdf
267588 2023-08-15 15:08 ATmega809.atdf
52857 2023-08-15 15:08 ATmega8515.atdf
59606 2023-08-15 15:08 ATmega8535.atdf
80336 2023-08-15 15:08 ATmega88.atdf
82463 2023-08-15 15:08 ATmega88A.atdf
81544 2023-08-15 15:08 ATmega88P.atdf
83262 2023-08-15 15:08 ATmega88PA.atdf
80638 2023-08-15 15:08 ATmega88PB.atdf
65046 2023-08-15 15:08 ATmega8A.atdf
42909 2023-08-15 15:08 ATmega8HVA.atdf
73258 2023-08-15 15:08 ATmega8U2.atdf
25951 2023-08-16 20:04 ATtiny10.atdf
36953 2023-08-16 20:04 ATtiny102.atdf
38024 2023-08-16 20:04 ATtiny104.atdf
17424 2023-08-16 20:04 ATtiny11.atdf
25497 2023-08-16 20:04 ATtiny12.atdf
40474 2023-08-16 20:04 ATtiny13.atdf
41199 2023-08-16 20:04 ATtiny13A.atdf
31285 2023-08-16 20:04 ATtiny15.atdf
218792 2023-08-16 20:04 ATtiny1604.atdf
226516 2023-08-16 20:04 ATtiny1606.atdf
228319 2023-08-16 20:04 ATtiny1607.atdf
266347 2023-08-16 20:04 ATtiny1614.atdf
276034 2023-08-16 20:04 ATtiny1616.atdf
278997 2023-08-16 20:04 ATtiny1617.atdf
251881 2023-08-16 20:04 ATtiny1624.atdf
260745 2023-08-16 20:04 ATtiny1626.atdf
264642 2023-08-16 20:04 ATtiny1627.atdf
61199 2023-08-16 20:04 ATtiny1634.atdf
64391 2023-08-16 20:04 ATtiny167.atdf
43366 2023-08-16 20:04 ATtiny20.atdf
211016 2023-08-16 20:04 ATtiny202.atdf
220893 2023-08-16 20:04 ATtiny204.atdf
245158 2023-08-16 20:04 ATtiny212.atdf
253873 2023-08-16 20:04 ATtiny214.atdf
49382 2023-08-16 20:04 ATtiny2313.atdf
50623 2023-08-16 20:04 ATtiny2313A.atdf
49454 2023-08-16 20:04 ATtiny24.atdf
56821 2023-08-16 20:04 ATtiny24A.atdf
58038 2023-08-16 20:04 ATtiny25.atdf
45529 2023-08-16 20:04 ATtiny26.atdf
65685 2023-08-16 20:04 ATtiny261.atdf
58264 2023-08-16 20:04 ATtiny261A.atdf
280677 2023-08-16 20:04 ATtiny3216.atdf
284985 2023-08-16 20:04 ATtiny3217.atdf
251881 2023-08-16 20:04 ATtiny3224.atdf
260745 2023-08-16 20:04 ATtiny3226.atdf
264642 2023-08-16 20:04 ATtiny3227.atdf
22250 2023-08-16 20:04 ATtiny4.atdf
42154 2023-08-16 20:04 ATtiny40.atdf
211019 2023-08-16 20:04 ATtiny402.atdf
220896 2023-08-16 20:04 ATtiny404.atdf
226849 2023-08-16 20:04 ATtiny406.atdf
245161 2023-08-16 20:04 ATtiny412.atdf
253876 2023-08-16 20:04 ATtiny414.atdf
261964 2023-08-16 20:04 ATtiny416.atdf
260908 2022-09-26 11:59 ATtiny416auto.atdf
265391 2023-08-16 20:04 ATtiny417.atdf
251878 2023-08-16 20:04 ATtiny424.atdf
260742 2023-08-16 20:04 ATtiny426.atdf
264639 2023-08-16 20:04 ATtiny427.atdf
50605 2023-08-16 20:04 ATtiny4313.atdf
50540 2023-08-16 20:04 ATtiny43U.atdf
49452 2023-08-16 20:04 ATtiny44.atdf
78149 2023-08-16 20:04 ATtiny441.atdf
56671 2023-08-16 20:04 ATtiny44A.atdf
56991 2023-08-16 20:04 ATtiny45.atdf
65681 2023-08-16 20:04 ATtiny461.atdf
58261 2023-08-16 20:04 ATtiny461A.atdf
62483 2023-08-16 20:04 ATtiny48.atdf
25953 2023-08-16 20:04 ATtiny5.atdf
218788 2023-08-16 20:04 ATtiny804.atdf
226510 2023-08-16 20:04 ATtiny806.atdf
228315 2023-08-16 20:04 ATtiny807.atdf
255570 2023-08-16 20:04 ATtiny814.atdf
263845 2023-08-16 20:04 ATtiny816.atdf
265647 2023-08-16 20:04 ATtiny817.atdf
251878 2023-08-16 20:04 ATtiny824.atdf
260742 2023-08-16 20:04 ATtiny826.atdf
264639 2023-08-16 20:04 ATtiny827.atdf
63952 2023-08-16 20:04 ATtiny828.atdf
49452 2023-08-16 20:04 ATtiny84.atdf
78149 2023-08-16 20:04 ATtiny841.atdf
56378 2023-08-16 20:04 ATtiny84A.atdf
56676 2023-08-16 20:04 ATtiny85.atdf
65887 2023-08-16 20:04 ATtiny861.atdf
58382 2023-08-16 20:04 ATtiny861A.atdf
64391 2023-08-16 20:04 ATtiny87.atdf
62484 2023-08-16 20:04 ATtiny88.atdf
22250 2023-08-16 20:04 ATtiny9.atdf
705933 2020-09-18 15:57 ATUC128D3.atdf
706887 2020-09-18 15:57 ATUC128D4.atdf
766531 2020-09-18 15:57 ATUC128L3U.atdf
747722 2020-09-18 15:57 ATUC128L4U.atdf
766527 2020-09-18 15:57 ATUC256L3U.atdf
747718 2020-09-18 15:57 ATUC256L4U.atdf
705967 2020-09-18 15:57 ATUC64D3.atdf
705091 2020-09-18 15:57 ATUC64D4.atdf
766519 2020-09-18 15:57 ATUC64L3U.atdf
747715 2020-09-18 15:57 ATUC64L4U.atdf
194011 2023-08-14 15:03 ATxmega128A1.atdf
258859 2023-08-14 15:03 ATxmega128A1U.atdf
176060 2023-08-14 15:03 ATxmega128A3.atdf
232603 2023-08-14 15:03 ATxmega128A3U.atdf
223401 2023-08-14 15:03 ATxmega128A4U.atdf
215389 2023-01-09 13:05 ATxmega128B1.atdf
204355 2023-01-09 13:05 ATxmega128B3.atdf
185046 2023-08-14 14:56 ATxmega128C3.atdf
169097 2023-08-14 14:56 ATxmega128D3.atdf
168273 2023-08-14 14:56 ATxmega128D4.atdf
172821 2023-08-14 15:03 ATxmega16A4.atdf
222677 2023-08-14 15:03 ATxmega16A4U.atdf
183672 2023-08-14 14:56 ATxmega16C4.atdf
166398 2023-08-14 14:56 ATxmega16D4.atdf
225287 2023-08-14 14:56 ATxmega16E5.atdf
176193 2023-08-14 15:03 ATxmega192A3.atdf
232612 2023-08-14 15:03 ATxmega192A3U.atdf
168651 2023-08-14 14:56 ATxmega192C3.atdf
168958 2023-08-14 14:56 ATxmega192D3.atdf
175951 2023-08-14 15:03 ATxmega256A3.atdf
176580 2023-08-14 15:03 ATxmega256A3B.atdf
228458 2023-08-14 15:03 ATxmega256A3BU.atdf
232604 2023-08-14 15:03 ATxmega256A3U.atdf
185043 2023-08-14 14:56 ATxmega256C3.atdf
168815 2023-08-14 14:56 ATxmega256D3.atdf
172687 2023-08-14 15:03 ATxmega32A4.atdf
222732 2023-08-14 15:03 ATxmega32A4U.atdf
185035 2023-08-14 14:56 ATxmega32C3.atdf
183672 2023-08-14 14:56 ATxmega32C4.atdf
168846 2023-08-14 14:56 ATxmega32D3.atdf
166410 2023-08-14 14:56 ATxmega32D4.atdf
225288 2023-08-14 14:56 ATxmega32E5.atdf
201318 2023-08-14 14:56 ATxmega384C3.atdf
172214 2023-08-14 14:56 ATxmega384D3.atdf
194016 2023-08-14 15:03 ATxmega64A1.atdf
258859 2023-08-14 15:03 ATxmega64A1U.atdf
176057 2023-08-14 15:03 ATxmega64A3.atdf
232599 2023-08-14 15:03 ATxmega64A3U.atdf
223387 2023-08-14 15:03 ATxmega64A4U.atdf
215207 2023-01-09 13:05 ATxmega64B1.atdf
204205 2023-01-09 13:05 ATxmega64B3.atdf
185042 2023-08-14 14:56 ATxmega64C3.atdf
168956 2023-08-14 14:56 ATxmega64D3.atdf
167493 2023-08-14 14:56 ATxmega64D4.atdf
225281 2023-08-14 14:56 ATxmega8E5.atdf
325266 2022-12-16 13:03 AVR128DA28.atdf
332632 2022-12-16 13:03 AVR128DA32.atdf
399474 2022-12-16 13:03 AVR128DA48.atdf
428558 2022-12-16 13:03 AVR128DA64.atdf
351053 2022-12-16 13:03 AVR128DB28.atdf
357383 2022-12-16 13:03 AVR128DB32.atdf
433083 2022-12-16 13:03 AVR128DB48.atdf
457073 2022-12-16 13:03 AVR128DB64.atdf
309618 2022-12-16 13:03 AVR16DD14.atdf
319440 2022-12-16 13:03 AVR16DD20.atdf
327339 2022-12-16 13:03 AVR16DD28.atdf
331274 2022-12-16 13:03 AVR16DD32.atdf
298102 2023-10-02 14:18 AVR16EA28.atdf
302717 2023-10-02 14:18 AVR16EA32.atdf
321483 2023-10-02 14:18 AVR16EA48.atdf
316823 2023-10-02 14:18 AVR16EB14.atdf
330738 2023-10-02 14:18 AVR16EB20.atdf
337209 2023-10-02 14:18 AVR16EB28.atdf
340082 2023-10-02 14:18 AVR16EB32.atdf
324634 2022-12-16 13:03 AVR32DA28.atdf
332000 2022-12-16 13:03 AVR32DA32.atdf
398842 2022-12-16 13:03 AVR32DA48.atdf
350849 2022-12-16 13:03 AVR32DB28.atdf
357179 2022-12-16 13:03 AVR32DB32.atdf
432879 2022-12-16 13:03 AVR32DB48.atdf
309619 2022-12-16 13:03 AVR32DD14.atdf
319441 2022-12-16 13:03 AVR32DD20.atdf
327340 2022-12-16 13:03 AVR32DD28.atdf
331275 2022-12-16 13:03 AVR32DD32.atdf
298103 2023-10-02 14:18 AVR32EA28.atdf
302718 2023-10-02 14:18 AVR32EA32.atdf
321484 2023-10-02 14:18 AVR32EA48.atdf
325064 2022-12-16 13:03 AVR64DA28.atdf
332430 2022-12-16 13:03 AVR64DA32.atdf
399272 2022-12-16 13:03 AVR64DA48.atdf
428356 2022-12-16 13:03 AVR64DA64.atdf
350851 2022-12-16 13:03 AVR64DB28.atdf
357181 2022-12-16 13:03 AVR64DB32.atdf
432881 2022-12-16 13:03 AVR64DB48.atdf
456871 2022-12-16 13:03 AVR64DB64.atdf
309621 2022-12-16 13:03 AVR64DD14.atdf
319443 2022-12-16 13:03 AVR64DD20.atdf
327342 2022-12-16 13:03 AVR64DD28.atdf
331277 2022-12-16 13:03 AVR64DD32.atdf
298105 2023-10-02 14:18 AVR64EA28.atdf
302720 2023-10-02 14:18 AVR64EA32.atdf
321486 2023-10-02 14:18 AVR64EA48.atdf
428426 2020-09-18 16:00 WLR089U0.atdf

atdf.zip

mcuee commented 10 months ago

@stefanrueger

Sorry but just wondering if you have a tip to parse the atdf files to show that only the AVR EA and EB family AVRs are using NVM v3. Thanks.

I am family with simple bash commands but never really go into details. I usually just use Google if I need to use a more comples command, for example, the above ls *.atdf -laG --time-style=long-iso | awk '{print $4, $5, $6, $7}' command.

mcuee commented 10 months ago

I would like to thank you all for your great work.

The attached code is a program that allows you to experience sleep failures (rather than address width issues). This applies to tinyAVR-2 and most of its AVR_DA/DB/DD/EA/EB. It can be constructed with AVR-LIBC.

When I run it, the LED keeps blinking using PA7, but the CPU remains in a STANDBY sleep state with interrupts disabled. Also, F_CPU is 512Hz.

(TCB0, CCL, and EVOUT are used for this LED blinking operation, but tinyAVR-0/1 and megaAVR-0 are not supported because the difference in CCL is troublesome.)

Please upload your code to the device using a method other than the problematic SerialUPDI and test it with SerialUPDI. It is important not to reset the CPU at this point. The CPU startup start time is affected by the SUT setting value of FUSE_SYSCFG1.

To test without going to sleep, run a SerialUPDI with the reset pad LOW, wait a second or two, then release the reset. SerialUPDI should be able to recognize the CPU. A power-on reset is required if the chip's reset pad functionality is disabled in FUSE_SYSCFG0.

I think I can reproduce the issue just using serialupdi.

You can see programming is okay.

But then running simple query command with -c will fail as that does not reset the MCU.

I am using latest git main which has PR #1531 merged.

PS C:\work\avr\avrdude_test\avrdude_bin> cat .\Makefile
CFLAGS ?= -Os -DF_APU=512UL -mmcu=avr32dd14
LDFLAGS ?= -mmcu=avr32dd14

all: sleep.hex

sleep.hex: sleep.elf
        avr-objcopy -O ihex sleep.elf sleep.hex

sleep.elf: sleep.o
        avr-gcc $(LDFLAGS) -o $@ $^

sleep.o: sleep.c
        avr-gcc $(CFLAGS) -c -o $@ $<

clean: FRC
        rm -f sleep.elf sleep.hex sleep.o

FRC:

PS C:\work\avr\avrdude_test\avrdude_bin> make
avr-gcc -Os -DF_APU=512UL -mmcu=avr32dd14 -c -o sleep.o sleep.c
avr-gcc -mmcu=avr32dd14 -o sleep.elf sleep.o
avr-objcopy -O ihex sleep.elf sleep.hex

PS C:\work\avr\avrdude_test\avrdude_bin> function prompt {$null}

PS>.\avrdude_git -c serialupdi -P COM11 -p avr32dd14 -U .\sleep.hex
avrdude_git: AVR device initialized and ready to accept instructions
avrdude_git: device signature = 0x1e953b (probably avr32dd14)
avrdude_git: Note: flash memory has been specified, an erase cycle will be performed.
             To disable this feature, specify the -D option.
avrdude_git: erasing chip

avrdude_git: processing -U flash:w:.\sleep.hex:i
avrdude_git: reading input file .\sleep.hex for flash
             with 276 bytes in 1 section within [0, 0x113]
             using 1 page and 236 pad bytes
avrdude_git: writing 276 bytes flash ...
Writing | ################################################## | 100% 0.16 s
avrdude_git: 276 bytes of flash written
avrdude_git: verifying flash memory against .\sleep.hex
Reading | ################################################## | 100% 0.07 s
avrdude_git: 276 bytes of flash verified

avrdude_git done.  Thank you.
Click for the debug log ``` PS>.\avrdude_git -c serialupdi -P COM11 -p avr32dd14 -vvvv avrdude_git: Version 7.2-20231018 (481a91dd) Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.conf Using Port : COM11 Using Programmer : serialupdi avrdude_git: opening serial port ... avrdude_git: sending 1 bytes [0x00] avrdude_git: send: . [00] avrdude_git: recv: . [00] AVR Part : AVR32DD14 RESET disposition : dedicated RETRY pulse : SCK Serial program mode : yes Parallel program mode : yes Memory Detail : Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse0 wdtcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse1 bodcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse2 osccfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse5 syscfg0 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse6 syscfg1 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse7 codesize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse8 bootsize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuses 0 0 0 0 no 16 16 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lock 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- prodsig sigrow 0 0 0 0 no 128 128 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- signature 0 0 0 0 no 3 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- tempsense 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sernum 0 0 0 0 no 16 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- userrow usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- data 0 0 0 0 no 0 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- io 0 0 0 0 no 4160 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sib 0 0 0 0 no 32 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 0 0 0 0 no 256 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 0 0 0 0 no 32768 512 0 0 0 0x00 0x00 Programmer Type : serialupdi Description : SerialUPDI avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: ser_recv(): programmer is not responding avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: ser_recv(): programmer is not responding avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: ser_recv(): programmer is not responding avrdude_git: ser_recv(): programmer is not responding avrdude_git: serialupdi_recv(): programmer is not responding avrdude_git: check failed avrdude_git: datalink not active, resetting ... avrdude_git: sending double break avrdude_git: send: . [00] avrdude_git: recv: . [00] avrdude_git: send: . [00] avrdude_git: recv: . [00] avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: ser_recv(): programmer is not responding avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: ser_recv(): programmer is not responding avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: ser_recv(): programmer is not responding avrdude_git: ser_recv(): programmer is not responding avrdude_git: serialupdi_recv(): programmer is not responding avrdude_git: check failed avrdude_git: restoring datalink failed avrdude_git serialupdi_initialize() [serialupdi.c:569] error: UPDI link initialization failed avrdude_git main() [main.c:1404] error: initialization failed, rc=-1 - double check the connections and try again - use -b to set lower baud rate, e.g. -b 57600 - use -F to override this check avrdude_git: leaving NVM programming mode avrdude_git: sending reset request avrdude_git: STCS 0x59 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59] avrdude_git: send: U [55] . [c8] Y [59] avrdude_git: ser_recv(): programmer is not responding avrdude_git: sending release reset request avrdude_git: STCS 0x00 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00] avrdude_git: send: U [55] . [c8] . [00] avrdude_git: ser_recv(): programmer is not responding avrdude_git: STCS 0x0C to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x0c] avrdude_git: send: U [55] . [c3] . [0c] avrdude_git: ser_recv(): programmer is not responding avrdude_git done. Thank you. ```
mcuee commented 10 months ago

Hmm, strange. Using -v will fail. Without -v it will be good.

Click for the debug log ``` PS>.\avrdude_git -c serialupdi -P COM11 -p avr32dd14 -U .\sleep.hex avrdude_git: AVR device initialized and ready to accept instructions avrdude_git: device signature = 0x1e953b (probably avr32dd14) avrdude_git: Note: flash memory has been specified, an erase cycle will be performed. To disable this feature, specify the -D option. avrdude_git: erasing chip avrdude_git: processing -U flash:w:.\sleep.hex:i avrdude_git: reading input file .\sleep.hex for flash with 276 bytes in 1 section within [0, 0x113] using 1 page and 236 pad bytes avrdude_git: writing 276 bytes flash ... Writing | ################################################## | 100% 0.16 s avrdude_git: 276 bytes of flash written avrdude_git: verifying flash memory against .\sleep.hex Reading | ################################################## | 100% 0.07 s avrdude_git: 276 bytes of flash verified avrdude_git done. Thank you. PS>.\avrdude_git -c serialupdi -P COM11 -p avr32dd14 -U .\sleep.hex avrdude_git: AVR device initialized and ready to accept instructions avrdude_git: device signature = 0x1e953b (probably avr32dd14) avrdude_git: Note: flash memory has been specified, an erase cycle will be performed. To disable this feature, specify the -D option. avrdude_git: erasing chip avrdude_git: processing -U flash:w:.\sleep.hex:i avrdude_git: reading input file .\sleep.hex for flash with 276 bytes in 1 section within [0, 0x113] using 1 page and 236 pad bytes avrdude_git: writing 276 bytes flash ... Writing | ################################################## | 100% 0.16 s avrdude_git: 276 bytes of flash written avrdude_git: verifying flash memory against .\sleep.hex Reading | ################################################## | 100% 0.07 s avrdude_git: 276 bytes of flash verified avrdude_git done. Thank you. PS>.\avrdude_git -c serialupdi -P COM11 -p avr32dd14 -U .\sleep.hex -vvvv avrdude_git: Version 7.2-20231018 (481a91dd) Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.conf Using Port : COM11 Using Programmer : serialupdi avrdude_git: opening serial port ... avrdude_git: sending 1 bytes [0x00] avrdude_git: send: . [00] avrdude_git: recv: . [00] avrdude_git: defaulting memtype in -U w:.\sleep.hex option to "flash" avrdude_git: input file .\sleep.hex auto detected as Intel Hex AVR Part : AVR32DD14 RESET disposition : dedicated RETRY pulse : SCK Serial program mode : yes Parallel program mode : yes Memory Detail : Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse0 wdtcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse1 bodcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse2 osccfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse5 syscfg0 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse6 syscfg1 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse7 codesize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse8 bootsize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuses 0 0 0 0 no 16 16 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lock 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- prodsig sigrow 0 0 0 0 no 128 128 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- signature 0 0 0 0 no 3 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- tempsense 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sernum 0 0 0 0 no 16 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- userrow usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- data 0 0 0 0 no 0 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- io 0 0 0 0 no 4160 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sib 0 0 0 0 no 32 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 0 0 0 0 no 256 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 0 0 0 0 no 32768 512 0 0 0 0x00 0x00 Programmer Type : serialupdi Description : SerialUPDI avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: ser_recv(): programmer is not responding avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: ser_recv(): programmer is not responding avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: ser_recv(): programmer is not responding avrdude_git: ser_recv(): programmer is not responding avrdude_git: serialupdi_recv(): programmer is not responding avrdude_git: check failed avrdude_git: datalink not active, resetting ... avrdude_git: sending double break avrdude_git: send: . [00] avrdude_git: recv: . [00] avrdude_git: send: . [00] avrdude_git: recv: . [00] avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: ser_recv(): programmer is not responding avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: ser_recv(): programmer is not responding avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: ser_recv(): programmer is not responding avrdude_git: ser_recv(): programmer is not responding avrdude_git: serialupdi_recv(): programmer is not responding avrdude_git: check failed avrdude_git: restoring datalink failed avrdude_git serialupdi_initialize() [serialupdi.c:569] error: UPDI link initialization failed avrdude_git main() [main.c:1404] error: initialization failed, rc=-1 - double check the connections and try again - use -b to set lower baud rate, e.g. -b 57600 - use -F to override this check avrdude_git: leaving NVM programming mode avrdude_git: sending reset request avrdude_git: STCS 0x59 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59] avrdude_git: send: U [55] . [c8] Y [59] avrdude_git: ser_recv(): programmer is not responding avrdude_git: sending release reset request avrdude_git: STCS 0x00 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00] avrdude_git: send: U [55] . [c8] . [00] avrdude_git: ser_recv(): programmer is not responding avrdude_git: STCS 0x0C to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x0c] avrdude_git: send: U [55] . [c3] . [0c] avrdude_git: ser_recv(): programmer is not responding avrdude_git done. Thank you. PS>.\avrdude_git -c serialupdi -P COM11 -p avr32dd14 -U .\sleep.hex -v avrdude_git: Version 7.2-20231018 (481a91dd) Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.conf Using Port : COM11 Using Programmer : serialupdi avrdude_git: input file .\sleep.hex auto detected as Intel Hex AVR Part : AVR32DD14 RESET disposition : dedicated RETRY pulse : SCK Serial program mode : yes Parallel program mode : yes Memory Detail : Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse0 wdtcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse1 bodcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse2 osccfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse5 syscfg0 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse6 syscfg1 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse7 codesize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse8 bootsize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuses 0 0 0 0 no 16 16 0 0 0 0x00 0x00 lock 0 0 0 0 no 4 1 0 0 0 0x00 0x00 prodsig sigrow 0 0 0 0 no 128 128 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 1 0 0 0 0x00 0x00 tempsense 0 0 0 0 no 4 1 0 0 0 0x00 0x00 sernum 0 0 0 0 no 16 1 0 0 0 0x00 0x00 userrow usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00 data 0 0 0 0 no 0 1 0 0 0 0x00 0x00 io 0 0 0 0 no 4160 1 0 0 0 0x00 0x00 sib 0 0 0 0 no 32 1 0 0 0 0x00 0x00 eeprom 0 0 0 0 no 256 1 0 0 0 0x00 0x00 flash 0 0 0 0 no 32768 512 0 0 0 0x00 0x00 Programmer Type : serialupdi Description : SerialUPDI avrdude_git serialupdi_initialize() error: UPDI link initialization failed avrdude_git main() error: initialization failed, rc=-1 - double check the connections and try again - use -b to set lower baud rate, e.g. -b 57600 - use -F to override this check avrdude_git: leaving NVM programming mode avrdude_git done. Thank you. PS>.\avrdude_git -c serialupdi -P COM11 -p avr32dd14 -U .\sleep.hex avrdude_git: AVR device initialized and ready to accept instructions avrdude_git: device signature = 0x1e953b (probably avr32dd14) avrdude_git: Note: flash memory has been specified, an erase cycle will be performed. To disable this feature, specify the -D option. avrdude_git: erasing chip avrdude_git: processing -U flash:w:.\sleep.hex:i avrdude_git: reading input file .\sleep.hex for flash with 276 bytes in 1 section within [0, 0x113] using 1 page and 236 pad bytes avrdude_git: writing 276 bytes flash ... Writing | ################################################## | 100% 0.16 s avrdude_git: 276 bytes of flash written avrdude_git: verifying flash memory against .\sleep.hex Reading | ################################################## | 100% 0.07 s avrdude_git: 276 bytes of flash verified avrdude_git done. Thank you. ```
stefanrueger commented 10 months ago

Using -v will fail. Without -v it will be good.

I suspect just one -v is OK, but -vvvv might ruin the timing of commands by the time it takes to print. Try to log on RAM, eg, -vvvvl/dev/shm/error.log

stefanrueger commented 10 months ago

parse the atdf files to show that only the AVR EA and EB family AVRs are using NVM v3

Do you know how ATDF encodes this? xml_grep is useful

xml_grep -g --pretty_print indented --cond 'module[@name="NVMCTRL"]' *.atdf

reduces the amount to look at

mcuee commented 10 months ago

Using -v will fail. Without -v it will be good.

I suspect just one -v is OK, but -vvvv might ruin the timing of commands by the time it takes to print. Try to log on RAM, eg, -vvvvl/dev/shm/error.log

One -v is already causing problems. Please refer to the log posted earlier.

PS>.\avrdude_git -c serialupdi -P COM11 -p avr32dd14 -U .\sleep.hex -v

avrdude_git: Version 7.2-20231018 (481a91dd)
             Copyright the AVRDUDE authors;
             see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

             System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.conf

             Using Port                    : COM11
             Using Programmer              : serialupdi
avrdude_git: input file .\sleep.hex auto detected as Intel Hex
             AVR Part                      : AVR32DD14
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             Serial program mode           : yes
             Parallel program mode         : yes
             Memory Detail                 :
...
...
             Programmer Type : serialupdi
             Description     : SerialUPDI
avrdude_git serialupdi_initialize() error: UPDI link initialization failed
avrdude_git main() error: initialization failed, rc=-1
            - double check the connections and try again
            - use -b to set lower baud rate, e.g. -b 57600
            - use -F to override this check
avrdude_git: leaving NVM programming mode

avrdude_git done.  Thank you.
mcuee commented 10 months ago

Hmm, I can not reproduce the issue on ATtiny3227.

Click for the run log ``` PS>make -f .\Makefile_t3227 avr-gcc -Os -DF_APU=512UL -mmcu=attiny3227 -c -o sleep.o sleep.c avr-gcc -mmcu=attiny3227 -o sleep.elf sleep.o avr-objcopy -O ihex sleep.elf sleep.hex PS>.\avrdude_git -c serialupdi -P COM11 -p t3227 -U .\sleep.hex avrdude_git: AVR device initialized and ready to accept instructions avrdude_git: device signature = 0x1e9526 (probably t3227) avrdude_git: Note: flash memory has been specified, an erase cycle will be performed. To disable this feature, specify the -D option. avrdude_git: erasing chip avrdude_git: processing -U flash:w:.\sleep.hex:i avrdude_git: reading input file .\sleep.hex for flash with 252 bytes in 1 section within [0, 0xfb] using 2 pages and 4 pad bytes avrdude_git: writing 252 bytes flash ... Writing | ################################################## | 100% 0.11 s avrdude_git: 252 bytes of flash written avrdude_git: verifying flash memory against .\sleep.hex Reading | ################################################## | 100% 0.04 s avrdude_git: 252 bytes of flash verified avrdude_git done. Thank you. PS>.\avrdude_git -c serialupdi -P COM11 -p t3227 avrdude_git: AVR device initialized and ready to accept instructions avrdude_git: device signature = 0x1e9526 (probably t3227) avrdude_git done. Thank you. PS>.\avrdude_git -c serialupdi -P COM11 -p t3227 -v avrdude_git: Version 7.2-20231018 (481a91dd) Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.conf Using Port : COM11 Using Programmer : serialupdi AVR Part : ATtiny3227 RESET disposition : dedicated RETRY pulse : SCK Serial program mode : yes Parallel program mode : yes Memory Detail : Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse0 wdtcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse1 bodcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse2 osccfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse5 syscfg0 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse6 syscfg1 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse7 append 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse8 bootend 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuses 0 0 0 0 no 10 10 0 0 0 0x00 0x00 lock 0 0 0 0 no 1 1 0 0 0 0x00 0x00 prodsig sigrow 0 0 0 0 no 64 64 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 1 0 0 0 0x00 0x00 tempsense 0 0 0 0 no 2 1 0 0 0 0x00 0x00 sernum 0 0 0 0 no 10 1 0 0 0 0x00 0x00 osccal16 0 0 0 0 no 2 1 0 0 0 0x00 0x00 osccal20 0 0 0 0 no 2 1 0 0 0 0x00 0x00 osc16err 0 0 0 0 no 2 1 0 0 0 0x00 0x00 osc20err 0 0 0 0 no 2 1 0 0 0 0x00 0x00 data 0 0 0 0 no 0 1 0 0 0 0x00 0x00 io 0 0 0 0 no 4352 1 0 0 0 0x00 0x00 sib 0 0 0 0 no 32 1 0 0 0 0x00 0x00 userrow usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00 eeprom 0 0 0 0 no 256 64 0 0 0 0x00 0x00 flash 0 0 0 0 no 32768 128 0 0 0 0x00 0x00 Programmer Type : serialupdi Description : SerialUPDI avrdude_git: device is in SLEEP mode avrdude_git: NVM type 0: 16-bit, page oriented write avrdude_git: Chip silicon revision: 0.0 avrdude_git: entering NVM programming mode avrdude_git: AVR device initialized and ready to accept instructions avrdude_git: device signature = 0x1e9526 (probably t3227) avrdude_git: leaving NVM programming mode avrdude_git done. Thank you. PS>.\avrdude_git -c serialupdi -P COM11 -p t3227 -vvvv avrdude_git: Version 7.2-20231018 (481a91dd) Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.conf Using Port : COM11 Using Programmer : serialupdi avrdude_git: opening serial port ... avrdude_git: sending 1 bytes [0x00] avrdude_git: send: . [00] avrdude_git: recv: . [00] AVR Part : ATtiny3227 RESET disposition : dedicated RETRY pulse : SCK Serial program mode : yes Parallel program mode : yes Memory Detail : Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse0 wdtcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse1 bodcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse2 osccfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse5 syscfg0 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse6 syscfg1 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse7 append 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse8 bootend 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuses 0 0 0 0 no 10 10 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lock 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- prodsig sigrow 0 0 0 0 no 64 64 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- signature 0 0 0 0 no 3 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- tempsense 0 0 0 0 no 2 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sernum 0 0 0 0 no 10 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- osccal16 0 0 0 0 no 2 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- osccal20 0 0 0 0 no 2 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- osc16err 0 0 0 0 no 2 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- osc20err 0 0 0 0 no 2 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- data 0 0 0 0 no 0 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- io 0 0 0 0 no 4352 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sib 0 0 0 0 no 32 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- userrow usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 0 0 0 0 no 256 64 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 0 0 0 0 no 32768 128 0 0 0 0x00 0x00 Programmer Type : serialupdi Description : SerialUPDI avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: recv: U [55] . [c3] . [08] avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: recv: U [55] . [c2] . [80] avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: recv: U [55] . [80] avrdude_git: ser_recv(): programmer is not responding avrdude_git: serialupdi_recv(): programmer is not responding avrdude_git: check failed avrdude_git: datalink not active, resetting ... avrdude_git: sending double break avrdude_git: send: . [00] avrdude_git: recv: . [00] avrdude_git: send: . [00] avrdude_git: recv: . [00] avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: recv: U [55] . [c3] . [08] avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: recv: U [55] . [c2] . [80] avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: recv: U [55] . [80] avrdude_git: recv: @ [40] avrdude_git: received 1 bytes [0x40] avrdude_git: UDPI init OK avrdude_git: UPDI link initialization OK avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [92] avrdude_git: received 1 bytes [0x92] avrdude_git: device is in SLEEP mode avrdude_git: sending 2 bytes [0x55, 0xe6] avrdude_git: send: U [55] . [e6] avrdude_git: recv: U [55] . [e6] avrdude_git: recv: t [74] i [69] n [6e] y [79] A [41] V [56] R [52] [20] P [50] : [3a] 0 [30] D [44] : [3a] 1 [31] -[[2d] 3 [33] M [4d] 2 [32] [20] ( [28] 0 [30] 0 [30] . [2e] 5 [35] 9 [39] B [42] 0 [30] E [45] . [2e] 0 [30] ) [29] . [00] avrdude_git: received 32 bytes [0x74, 0x69, 0x6e, 0x79, 0x41, 0x56, 0x52, 0x20, 0x50, 0x3a, 0x30, 0x44, 0x3a, 0x31, 0x2d, 0x33, 0x4d, 0x32, 0x20, 0x28, 0x30, 0x30, 0x2e, 0x35, 0x39, 0x42, 0x30, 0x45, 0x2e, 0x30, 0x29, 0x00] avrdude_git: received SIB: [tinyAVR P:0D:1-3M2 (00.59B0E.0)] avrdude_git: Device family ID: tinyAVR avrdude_git: NVM interface: P:0 avrdude_git: Debug interface: D:1 avrdude_git: PDI oscillator: 3M2 avrdude_git: Extra information: (00.59B0E.0) avrdude_git: NVM type 0: 16-bit, page oriented write avrdude_git: reading 1 bytes from 0x000F01 avrdude_git: ST_PTR to 0x000F01 avrdude_git: sending 4 bytes [0x55, 0x69, 0x01, 0x0f] avrdude_git: send: U [55] i [69] . [01] . [0f] avrdude_git: recv: U [55] i [69] . [01] . [0f] avrdude_git: recv: @ [40] avrdude_git: received 1 bytes [0x40] avrdude_git: LD8 from ptr++ avrdude_git: sending 2 bytes [0x55, 0x24] avrdude_git: send: U [55] $ [24] avrdude_git: recv: U [55] $ [24] avrdude_git: recv: . [00] avrdude_git: received 1 bytes [0x00] avrdude_git: Received chip silicon revision 0x00 avrdude_git: Chip silicon revision: 0.0 avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: recv: U [55] . [c3] . [08] avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: recv: U [55] . [c2] . [80] avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: recv: U [55] . [80] avrdude_git: recv: @ [40] avrdude_git: received 1 bytes [0x40] avrdude_git: UDPI init OK avrdude_git: entering NVM programming mode avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [92] avrdude_git: received 1 bytes [0x92] avrdude_git: UPDI writing key avrdude_git: sending 2 bytes [0x55, 0xe0] avrdude_git: send: U [55] . [e0] avrdude_git: recv: U [55] . [e0] avrdude_git: sending 8 bytes [0x20, 0x67, 0x6f, 0x72, 0x50, 0x4d, 0x56, 0x4e] avrdude_git: send: [20] g [67] o [6f] r [72] P [50] M [4d] V [56] N [4e] avrdude_git: recv: [20] g [67] o [6f] r [72] P [50] M [4d] V [56] N [4e] avrdude_git: LDCS from 0x07 avrdude_git: sending 2 bytes [0x55, 0x87] avrdude_git: send: U [55] . [87] avrdude_git: recv: U [55] . [87] avrdude_git: recv: . [10] avrdude_git: received 1 bytes [0x10] avrdude_git: key status: 0x10 avrdude_git: sending reset request avrdude_git: STCS 0x59 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59] avrdude_git: send: U [55] . [c8] Y [59] avrdude_git: recv: U [55] . [c8] Y [59] avrdude_git: sending release reset request avrdude_git: STCS 0x00 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00] avrdude_git: send: U [55] . [c8] . [00] avrdude_git: recv: U [55] . [c8] . [00] avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: 1 [31] avrdude_git: received 1 bytes [0x31] avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [08] avrdude_git: received 1 bytes [0x08] avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [08] avrdude_git: received 1 bytes [0x08] avrdude_git: entered NVM programming mode avrdude_git: AVR device initialized and ready to accept instructions Reading | | 0% 0.00 s avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [08] avrdude_git: received 1 bytes [0x08] avrdude_git: LD from 0x001100 avrdude_git: sending 4 bytes [0x55, 0x04, 0x00, 0x11] avrdude_git: send: U [55] . [04] . [00] . [11] avrdude_git: recv: U [55] . [04] . [00] . [11] avrdude_git: recv: . [1e] avrdude_git: received 1 bytes [0x1e] avrdude_git: LD from 0x001101 avrdude_git: sending 4 bytes [0x55, 0x04, 0x01, 0x11] avrdude_git: send: U [55] . [04] . [01] . [11] avrdude_git: recv: U [55] . [04] . [01] . [11] avrdude_git: recv: . [95] avrdude_git: received 1 bytes [0x95] avrdude_git: LD from 0x001102 avrdude_git: sending 4 bytes [0x55, 0x04, 0x02, 0x11] avrdude_git: send: U [55] . [04] . [02] . [11] avrdude_git: recv: U [55] . [04] . [02] . [11] avrdude_git: recv: & [26] avrdude_git: received 1 bytes [0x26] Reading | ################################################## | 100% 0.05 s avrdude_git: device signature = 0x1e9526 (probably t3227) avrdude_git: leaving NVM programming mode avrdude_git: sending reset request avrdude_git: STCS 0x59 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59] avrdude_git: send: U [55] . [c8] Y [59] avrdude_git: recv: U [55] . [c8] Y [59] avrdude_git: sending release reset request avrdude_git: STCS 0x00 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00] avrdude_git: send: U [55] . [c8] . [00] avrdude_git: recv: U [55] . [c8] . [00] avrdude_git: STCS 0x0C to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x0c] avrdude_git: send: U [55] . [c3] . [0c] avrdude_git: recv: U [55] . [c3] . [0c] avrdude_git done. Thank you. ```
mcuee commented 10 months ago

Using -v will fail. Without -v it will be good.

I suspect just one -v is OK, but -vvvv might ruin the timing of commands by the time it takes to print. Try to log on RAM, eg, -vvvvl/dev/shm/error.log

One -v is already causing problems. Please refer to the log posted earlier.

Same for another AVR64DD32 board. One -v and it will fail. This one has the LED and I can see the Sleep FW is working.

PS>make -f .\Makefile_avr64dd32
avr-gcc -Os -DF_APU=512UL -mmcu=avr64dd32 -c -o sleep.o sleep.c
avr-gcc -mmcu=avr64dd32 -o sleep.elf sleep.o
avr-objcopy -O ihex sleep.elf sleep.hex
PS>.\avrdude_git -c serialupdi -P COM11 -p avr64dd32 -U .\sleep.hex
avrdude_git: AVR device initialized and ready to accept instructions
avrdude_git: device signature = 0x1e961a (probably avr64dd32)
avrdude_git: Note: flash memory has been specified, an erase cycle will be performed.
             To disable this feature, specify the -D option.
avrdude_git: erasing chip

avrdude_git: processing -U flash:w:.\sleep.hex:i
avrdude_git: reading input file .\sleep.hex for flash
             with 276 bytes in 1 section within [0, 0x113]
             using 1 page and 236 pad bytes
avrdude_git: writing 276 bytes flash ...
Writing | ################################################## | 100% 0.16 s
avrdude_git: 276 bytes of flash written
avrdude_git: verifying flash memory against .\sleep.hex
Reading | ################################################## | 100% 0.07 s
avrdude_git: 276 bytes of flash verified

avrdude_git done.  Thank you.

PS>.\avrdude_git -c serialupdi -P COM11 -p avr64dd32
avrdude_git: AVR device initialized and ready to accept instructions
avrdude_git: device signature = 0x1e961a (probably avr64dd32)

avrdude_git done.  Thank you.

PS>.\avrdude_git -c serialupdi -P COM11 -p avr64dd32 -v

avrdude_git: Version 7.2-20231018 (481a91dd)
             Copyright the AVRDUDE authors;
             see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

             System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.conf

             Using Port                    : COM11
             Using Programmer              : serialupdi
             AVR Part                      : AVR64DD32
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             Serial program mode           : yes
             Parallel program mode         : yes
             Memory Detail                 :

                                               Block Poll               Page                       Polled
               Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse0       wdtcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse1       bodcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse2       osccfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse5       syscfg0     0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse6       syscfg1     0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse7       codesize    0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse8       bootsize    0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuses                   0     0     0    0 no         16   16      0     0     0 0x00 0x00
               lock                    0     0     0    0 no          4    1      0     0     0 0x00 0x00
               prodsig     sigrow      0     0     0    0 no        128  128      0     0     0 0x00 0x00
               signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
               tempsense               0     0     0    0 no          4    1      0     0     0 0x00 0x00
               sernum                  0     0     0    0 no         16    1      0     0     0 0x00 0x00
               userrow     usersig     0     0     0    0 no         32   32      0     0     0 0x00 0x00
               data                    0     0     0    0 no          0    1      0     0     0 0x00 0x00
               io                      0     0     0    0 no       4160    1      0     0     0 0x00 0x00
               sib                     0     0     0    0 no         32    1      0     0     0 0x00 0x00
               eeprom                  0     0     0    0 no        256    1      0     0     0 0x00 0x00
               flash                   0     0     0    0 no      65536  512      0     0     0 0x00 0x00

             Programmer Type : serialupdi
             Description     : SerialUPDI
avrdude_git serialupdi_initialize() error: UPDI link initialization failed
avrdude_git main() error: initialization failed, rc=-1
            - double check the connections and try again
            - use -b to set lower baud rate, e.g. -b 57600
            - use -F to override this check
avrdude_git: leaving NVM programming mode

avrdude_git done.  Thank you.
mcuee commented 10 months ago

Using -v will fail. Without -v it will be good.

I suspect just one -v is OK, but -vvvv might ruin the timing of commands by the time it takes to print. Try to log on RAM, eg, -vvvvl/dev/shm/error.log

I think you are right that the timing is affected which may cause failures.

It is okay if I redirect the log with -v. But -vvvv will still fail. I do not have /dev/shm under Windows PowerShell.

P> .\avrdude_git -c serialupdi -P COM11 -p avr64dd32 -v >error.log 2>&1
PS>cat .\error.log

avrdude_git: Version 7.2-20231018 (481a91dd)
 ...
             Programmer Type : serialupdi
             Description     : SerialUPDI
avrdude_git: device is in SLEEP mode
avrdude_git: NVM type 2: 24-bit, word oriented write
avrdude_git: Chip silicon revision: 1.3
avrdude_git: entering NVM programming mode
avrdude_git: AVR device initialized and ready to accept instructions
avrdude_git: device signature = 0x1e961a (probably avr64dd32)
avrdude_git: leaving NVM programming mode

avrdude_git done.  Thank you.

PS>.\avrdude_git -c serialupdi -P COM11 -p avr64dd32 -vvvv >errorvvvv.log 2>&1
PS>cat .\errorvvvv.log

avrdude_git: Version 7.2-20231018 (481a91dd)
             Copyright the AVRDUDE authors;
             see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

             System wide configuration file is C:\work\avr\avrdude_test\avrdude_bin\avrdude.conf

             Using Port                    : COM11
             Using Programmer              : serialupdi
avrdude_git: opening serial port ...
avrdude_git: sending 1 bytes [0x00]
avrdude_git: send: . [00]
avrdude_git: recv: . [00]
             AVR Part                      : AVR64DD32
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             Serial program mode           : yes
             Parallel program mode         : yes
...
             Programmer Type : serialupdi
             Description     : SerialUPDI
avrdude_git: STCS 0x08 to address 0x03
avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude_git: send: U [55] . [c3] . [08]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: STCS 0x80 to address 0x02
avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude_git: send: U [55] . [c2] . [80]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: LDCS from 0x00
avrdude_git: sending 2 bytes [0x55, 0x80]
avrdude_git: send: U [55] . [80]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: serialupdi_recv(): programmer is not responding
avrdude_git: check failed
avrdude_git: datalink not active, resetting ...
avrdude_git: sending double break
avrdude_git: send: . [00]
avrdude_git: recv: . [00]
avrdude_git: send: . [00]
avrdude_git: recv: . [00]
avrdude_git: STCS 0x08 to address 0x03
avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude_git: send: U [55] . [c3] . [08]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: STCS 0x80 to address 0x02
avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude_git: send: U [55] . [c2] . [80]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: LDCS from 0x00
avrdude_git: sending 2 bytes [0x55, 0x80]
avrdude_git: send: U [55] . [80]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: serialupdi_recv(): programmer is not responding
avrdude_git: check failed
avrdude_git: restoring datalink failed
avrdude_git serialupdi_initialize() [serialupdi.c:569] error: UPDI link initialization failed
avrdude_git main() [main.c:1404] error: initialization failed, rc=-1
            - double check the connections and try again
            - use -b to set lower baud rate, e.g. -b 57600
            - use -F to override this check
avrdude_git: leaving NVM programming mode
avrdude_git: sending reset request
avrdude_git: STCS 0x59 to address 0x08
avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59]
avrdude_git: send: U [55] . [c8] Y [59]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: sending release reset request
avrdude_git: STCS 0x00 to address 0x08
avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude_git: send: U [55] . [c8] . [00]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: STCS 0x0C to address 0x03
avrdude_git: sending 3 bytes [0x55, 0xc3, 0x0c]
avrdude_git: send: U [55] . [c3] . [0c]
avrdude_git: ser_recv(): programmer is not responding

avrdude_git done.  Thank you.
mcuee commented 10 months ago

MSYS2 terminal has /dev/shm but it does not help. -v will be okay, -vv and -vvvv will fail.

MINGW64 /c/work/avr/avrdude_test/avrdude_bin
$ ./avrdude_git -c serialupdi -P COM11 -p avr64dd32 -vvvv > /dev/shm/errorvvvv.log 2>&1

$ cat /dev/shm/errorvvvv.log

avrdude_git: Version 7.2-20231018 (481a91dd)
...
             Programmer Type : serialupdi
             Description     : SerialUPDI
avrdude_git: STCS 0x08 to address 0x03
avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude_git: send: U [55] . [c3] . [08]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: STCS 0x80 to address 0x02
avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude_git: send: U [55] . [c2] . [80]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: LDCS from 0x00
avrdude_git: sending 2 bytes [0x55, 0x80]
avrdude_git: send: U [55] . [80]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: serialupdi_recv(): programmer is not responding
avrdude_git: check failed
avrdude_git: datalink not active, resetting ...
avrdude_git: sending double break
avrdude_git: send: . [00]
avrdude_git: recv: . [00]
avrdude_git: send: . [00]
avrdude_git: recv: . [00]
avrdude_git: STCS 0x08 to address 0x03
avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude_git: send: U [55] . [c3] . [08]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: STCS 0x80 to address 0x02
avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude_git: send: U [55] . [c2] . [80]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: LDCS from 0x00
avrdude_git: sending 2 bytes [0x55, 0x80]
avrdude_git: send: U [55] . [80]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: serialupdi_recv(): programmer is not responding
avrdude_git: check failed
avrdude_git: restoring datalink failed
avrdude_git serialupdi_initialize() [serialupdi.c:569] error: UPDI link initialization failed
avrdude_git main() [main.c:1404] error: initialization failed, rc=-1
            - double check the connections and try again
            - use -b to set lower baud rate, e.g. -b 57600
            - use -F to override this check
avrdude_git: leaving NVM programming mode
avrdude_git: sending reset request
avrdude_git: STCS 0x59 to address 0x08
avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59]
avrdude_git: send: U [55] . [c8] Y [59]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: sending release reset request
avrdude_git: STCS 0x00 to address 0x08
avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude_git: send: U [55] . [c8] . [00]
avrdude_git: ser_recv(): programmer is not responding
avrdude_git: STCS 0x0C to address 0x03
avrdude_git: sending 3 bytes [0x55, 0xc3, 0x0c]
avrdude_git: send: U [55] . [c3] . [0c]
avrdude_git: ser_recv(): programmer is not responding

avrdude_git done.  Thank you.
mcuee commented 10 months ago

parse the atdf files to show that only the AVR EA and EB family AVRs are using NVM v3

Do you know how ATDF encodes this? xml_grep is useful

xml_grep -g --pretty_print indented --cond 'module[@name="NVMCTRL"]' *.atdf

reduces the amount to look at

Thanks for the tip. I tried to install xml_grep by using the command cpan install XML::Twig under MSYS2 but it failed.

Guess it is easier use Linux or macOS for this task.

But I will try under Windows using Strawberry Perl.

mcuee commented 10 months ago

Thanks for the tip. I tried to install xml_grep by using the command cpan install XML::Twig under MSYS2 but it failed.

Guess it is easier use Linux or macOS for this task.

But I will try under Windows using Strawberry Perl.

Strawberry Perl has the module with the default installation, but it does not seem to work.

PS C:\work\avr\avrdude_test\atdf> xml_grep -g --pretty_print indented --cond 'module[@name="NVMCTRL"]' *.atdf
Couldn't open *.atdf:
Invalid argument at C:\Strawberry\perl\bin\xml_grep.bat line 149.
 at C:\Strawberry\perl\bin\xml_grep.bat line 149.
<!-- error parsing file '*.atdf' -->
mcuee commented 10 months ago

Do you know how ATDF encodes this? xml_grep is useful

xml_grep -g --pretty_print indented --cond 'module[@name="NVMCTRL"]' *.atdf

reduces the amount to look at

Guess it is easier use Linux or macOS for this task.

Indeed it is quite easy to install xml-twig-tools under Ubuntu 20.04 and it works perfectly.

mcuee@UbuntuSwift3 ~/build/avr/atdf 
$ xml_grep -g --pretty_print indented --cond 'module[@id="nvm_ctrl_avr_v3"]' *.atdf | grep filename
<file filename="AVR16EA28.atdf">
<file filename="AVR16EA32.atdf">
<file filename="AVR16EA48.atdf">
<file filename="AVR16EB14.atdf">
<file filename="AVR16EB20.atdf">
<file filename="AVR16EB28.atdf">
<file filename="AVR16EB32.atdf">
<file filename="AVR32EA28.atdf">
<file filename="AVR32EA32.atdf">
<file filename="AVR32EA48.atdf">
<file filename="AVR64EA28.atdf">
<file filename="AVR64EA32.atdf">
<file filename="AVR64EA48.atdf">

 $ xml_grep -g --pretty_print indented --cond 'module[@id="nvm_ctrl_avr_v2"]' *.atdf | grep filename
<file filename="ATtiny1624.atdf">
<file filename="ATtiny1626.atdf">
<file filename="ATtiny1627.atdf">
<file filename="ATtiny3224.atdf">
<file filename="ATtiny3226.atdf">
<file filename="ATtiny3227.atdf">
<file filename="ATtiny424.atdf">
<file filename="ATtiny426.atdf">
<file filename="ATtiny427.atdf">
<file filename="ATtiny824.atdf">
<file filename="ATtiny826.atdf">
<file filename="ATtiny827.atdf">

$ xml_grep -g --pretty_print indented --cond 'module[@id="nvm_ctrl_avr_v1"]' *.atdf | grep filename
<file filename="AVR128DA28.atdf">
<file filename="AVR128DA32.atdf">
<file filename="AVR128DA48.atdf">
<file filename="AVR128DA64.atdf">
<file filename="AVR128DB28.atdf">
<file filename="AVR128DB32.atdf">
<file filename="AVR128DB48.atdf">
<file filename="AVR128DB64.atdf">
<file filename="AVR16DD14.atdf">
<file filename="AVR16DD20.atdf">
<file filename="AVR16DD28.atdf">
<file filename="AVR16DD32.atdf">
<file filename="AVR32DA28.atdf">
<file filename="AVR32DA32.atdf">
<file filename="AVR32DA48.atdf">
<file filename="AVR32DB28.atdf">
<file filename="AVR32DB32.atdf">
<file filename="AVR32DB48.atdf">
<file filename="AVR32DD14.atdf">
<file filename="AVR32DD20.atdf">
<file filename="AVR32DD28.atdf">
<file filename="AVR32DD32.atdf">
<file filename="AVR64DA28.atdf">
<file filename="AVR64DA32.atdf">
<file filename="AVR64DA48.atdf">
<file filename="AVR64DA64.atdf">
<file filename="AVR64DB28.atdf">
<file filename="AVR64DB32.atdf">
<file filename="AVR64DB48.atdf">
<file filename="AVR64DB64.atdf">
<file filename="AVR64DD14.atdf">
<file filename="AVR64DD20.atdf">
<file filename="AVR64DD28.atdf">
<file filename="AVR64DD32.atdf">
dbuchwald commented 10 months ago

Hello, I just wanted to apologise for not contributing to the investigation - I have a very tough week at work and no energy to look into it in my spare time.

@mcuee Thank you very much for trying to replicate the issue and for providing detailed instructions regarding build and testing of the code in question. I will look into as soon as I have the time and energy to do so. As for the actual resolution - looking at the logs I can see that the UPDI controller doesn't seem to be responding at all, so this might be tough nut to crack, but I will do my best to find out how to handle this.

mcuee commented 10 months ago

@dbuchwald

Take your time and thanks for your great contribution to avrdude project. We all do this at our spare time and paid job is always more important.

dbuchwald commented 10 months ago

Guys, I need some help/guidance here. I downloaded the sleep.c module:

/**
 * @file moderAVR_sleep.c
 * @author askn (K.Sato) multix.jp
 * @brief
 * @version 0.1
 * @date 2023-10-23
 *
 * @copyright Copyright (c) 2023
 *
 */

/* Note: Does not work with tinyAVR-0/1 and megaAVR-0 */
/*       Please run on tinyAVR-2 and AVR_Dx/Ex        */

/* Build with only AVR-LIBC header files */
#include <avr/io.h>
#include <avr/sleep.h>
#include <util/atomic.h>

int main (void) {

  /*
   * Set F_CPU to 512Hz
   */

  #if defined(CLKCTRL_TIMEBASE_gm)
    /* This CLKCTRL_TIMEBASE_gm symbol is currently only in AVR_EA/EB */
    #define EVSYS_CHANNEL0_CCL_LUT0_gc EVSYS_CHANNEL_CCL_LUT0_gc
    #define CLKSEL_OSC32K_gc           CLKCTRL_CLKSEL_OSC32K_gc
    #define CLKCTRL_PDIV_64X_gc        CLKCTRL_PDIV_DIV64_gc
  #elif (LOCKBITS_SIZE == 1)
    /* Symbol alias for tinyAVR-2 */
    #define CLKSEL_OSC32K_gc           CLKCTRL_CLKSEL_XOSC32K_gc
  #endif

  _PROTECTED_WRITE(CLKCTRL_MCLKCTRLA, CLKSEL_OSC32K_gc);
  _PROTECTED_WRITE(CLKCTRL_MCLKCTRLB, CLKCTRL_PDIV_64X_gc | CLKCTRL_PEN_bm);

  /*
   * Capture PWM WOB0 output with LUT0 input
   */

  CCL_TRUTH0 = CCL_TRUTH_1_bm;
  CCL_LUT0CTRLB = CCL_INSEL0_TCB0_gc;               // <-- in  WOB0
  CCL_LUT0CTRLA = CCL_ENABLE_bm;                    // --> out LUT0_OUT
  CCL_CTRLA = CCL_ENABLE_bm;

  /*
   * Copy LUT0_OUT output to EVOUTA_ALT1 input
   * Connect the LED to PA7
   */

  PORTMUX_EVSYSROUTEA = PORTMUX_EVOUTA_ALT1_gc;     // --> in  EVOUTA_ALT1 (PA7)
  EVSYS_CHANNEL0 = EVSYS_CHANNEL0_CCL_LUT0_gc;      // <-- out LUT0_OUT
  EVSYS_USEREVSYSEVOUTA = EVSYS_USER_CHANNEL0_gc;   // Binding

  /*
   * Set the PWM (WOB0) output period to 1Hz
   */

  TCB0_CCMP = ((127) << 8) | 255;                   // PWM duty cycle 50:50
  TCB0_CTRLB = TCB_CNTMODE_PWM8_gc;                 // --> out WOB0
  TCB0_CTRLA = TCB_ENABLE_bm | TCB_RUNSTDBY_bm |    // Runs TCB0 even if the CPU is STANDBY
               TCB_CLKSEL_DIV2_gc;                  // Runs TCB0 counter on 1/2 of F_CPU

  /*
   * Sleeps the CPU in STANDBY mode
   */

  set_sleep_mode(SLEEP_MODE_STANDBY);
  sleep_enable();
  sleep_cpu();

  /* Since there are no interrupts, this will never be executed again. */
}

// end of code

as well as the makefile:

DEVICE=avr128db64
CFLAGS ?= -Os -DF_APU=512UL -mmcu=${DEVICE} -I/usr/local/avr/include
LDFLAGS ?= -mmcu=${DEVICE} -L/usr/local/avr/lib/avrxmega4

all: sleep.hex

sleep.hex: sleep.elf
        avr-objcopy -O ihex sleep.elf sleep.hex

sleep.elf: sleep.o
        avr-gcc $(LDFLAGS) -o $@ $^

sleep.o: sleep.c
        avr-gcc $(CFLAGS) -c -o $@ $<

clean: FRC
        rm -f sleep.elf sleep.hex sleep.o

FRC:

Since I'm using Fedora 38 for development, I had to build avr-libc from sources. The one that is provided in fedora packages is 2.0, which doesn't support Dx devices.

I have also downloaded the latest avr-libc from here https://github.com/avrdudes/avr-libc/tree/main and built it according to instructions in the INSTALL file.

Now, when I try to build the hex file I get:

make clean all
rm -f sleep.elf sleep.hex sleep.o
avr-gcc -Os -DF_APU=512UL -mmcu=avr128db64 -I/usr/local/avr/include -c -o sleep.o sleep.c
In file included from /usr/local/avr/include/avr/io.h:759,
                 from sleep.c:16:
/usr/local/avr/include/avr/lock.h:234: warning: "LOCKBITS_DEFAULT" redefined
  234 | #define LOCKBITS_DEFAULT (0xFF)
      | 
In file included from /usr/local/avr/include/avr/io.h:709:
/usr/local/avr/include/avr/ioavr128db64.h:8273: note: this is the location of the previous definition
 8273 | #define LOCKBITS_DEFAULT  (0x5CC5C55C)
      | 
avr-gcc -mmcu=avr128db64 -L/usr/local/avr/lib/avrxmega4 -o sleep.elf sleep.o
/usr/lib/gcc/avr/13.2.0/../../../../avr/bin/ld: cannot find crtavr128db64.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [makefile:11: sleep.elf] Error 1

This is weird, because:

ls -l /usr/local/avr/lib/avrxmega4/crtavr128db64.o
-rw-r--r--. 1 root root 69132 Oct 26 08:37 /usr/local/avr/lib/avrxmega4/crtavr128db64.o

What also surprises me is that with avr-libc build from sources I have to provide this weird linker path: -L/usr/local/avr/lib/avrxmega4

I tried also building on MacOS, running into completely different set of issues there.

And the worst part is that I have had it working just fine, the whole toolchain, and now it seems I have two computers where I can't build a single hex file and very little motivation to actually keep going with it...

mcuee commented 10 months ago

@dbuchwald

FYI I use the prebuild toolchain from @SpenceKonde. You can give it a try. https://spencekondetoolchains.s3.amazonaws.com/

For Windows I use the one mentioned in DxCore README. https://github.com/SpenceKonde/DxCore/blob/master/megaavr/bootloaders/optiboot_dx/README.md https://spencekondetoolchains.s3.amazonaws.com/avr-gcc-7.3.0-atmel3.6.1-azduino6-i686-w64-mingw32.tar.bz2

For Linux, you can use the following. https://spencekondetoolchains.s3.amazonaws.com/avr-gcc-7.3.0-atmel3.6.1-azduino6-x86_64-pc-linux-gnu.tar.bz2

For macOS, you can use the following. https://spencekondetoolchains.s3.amazonaws.com/avr-gcc-7.3.0-atmel3.6.1-azduino6-x86_64-apple-darwin14.tar.bz2

I think he has built some new versions which you can also try.

mcuee commented 10 months ago

@dbuchwald

If you want to build your own toolchain, you can also use the one from Microchip as the base. https://www.microchip.com/en-us/tools-resources/develop/microchip-studio/gcc-compilers

And then you need to download the relevant DFP packs from Microchip. https://packs.download.microchip.com/

dbuchwald commented 10 months ago

@mcuee Thanks a lot, with your suggestion I managed to solve the issue on both of my machines now!

dbuchwald commented 10 months ago

@askn37

Hello, I tried replicating the sleep issue, but I think I might be doing something wrong. I built the sleep.c file for my Curiosity Nano AVR128DA48 board, uploaded it using the onboard programmer (pkobn_updi), and then tried contacting the device using serialupdi programmer - and it seems to be responding fine, it just reports that the device was in SLEEP mode, but works as if everything was OK.

What am I doing wrong here?

avrdude -c pkobn_updi -p avr128da48 -U flash:w:sleep.hex
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e9708 (probably avr128da48)
avrdude: Note: flash memory has been specified, an erase cycle will be performed.
         To disable this feature, specify the -D option.
avrdude: erasing chip

avrdude: processing -U flash:w:sleep.hex:i
avrdude: reading input file sleep.hex for flash
         with 364 bytes in 1 section within [0, 0x16b]
         using 1 page and 148 pad bytes
avrdude: writing 364 bytes flash ...
Writing | ################################################## | 100% 0.25 s
avrdude: 364 bytes of flash written
avrdude: verifying flash memory against sleep.hex
Reading | ################################################## | 100% 0.09 s
avrdude: 364 bytes of flash verified

avrdude done.  Thank you.

❯ avrdude -c serialupdi -P /dev/cu.usbserial-1420 -p avr128da48 -v

avrdude: Version 7.2-20231024 (d6c61f5f)
         Copyright the AVRDUDE authors;
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

         System wide configuration file is /usr/local/etc/avrdude.conf
         User configuration file is /Users/dawid/.avrduderc
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbserial-1420
         Using Programmer              : serialupdi
         AVR Part                      : AVR128DA48
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         Serial program mode           : yes
         Parallel program mode         : yes
         Memory Detail                 :

                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           fuse0       wdtcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
           fuse1       bodcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
           fuse2       osccfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
           fuse5       syscfg0     0     0     0    0 no          1    1      0     0     0 0x00 0x00
           fuse6       syscfg1     0     0     0    0 no          1    1      0     0     0 0x00 0x00
           fuse7       codesize    0     0     0    0 no          1    1      0     0     0 0x00 0x00
           fuse8       bootsize    0     0     0    0 no          1    1      0     0     0 0x00 0x00
           fuses                   0     0     0    0 no         16   16      0     0     0 0x00 0x00
           lock                    0     0     0    0 no          4    1      0     0     0 0x00 0x00
           prodsig     sigrow      0     0     0    0 no        128  128      0     0     0 0x00 0x00
           signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
           tempsense               0     0     0    0 no          4    1      0     0     0 0x00 0x00
           sernum                  0     0     0    0 no         16    1      0     0     0 0x00 0x00
           userrow     usersig     0     0     0    0 no         32   32      0     0     0 0x00 0x00
           data                    0     0     0    0 no          0    1      0     0     0 0x00 0x00
           io                      0     0     0    0 no       4160    1      0     0     0 0x00 0x00
           sib                     0     0     0    0 no         32    1      0     0     0 0x00 0x00
           eeprom                  0     0     0    0 no        512    1      0     0     0 0x00 0x00
           flash                   0     0     0    0 no     131072  512      0     0     0 0x00 0x00

         Programmer Type : serialupdi
         Description     : SerialUPDI
avrdude: device is in SLEEP mode
avrdude: NVM type 2: 24-bit, word oriented write
avrdude: Chip silicon revision: 1.6
avrdude: entering NVM programming mode
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e9708 (probably avr128da48)
avrdude: leaving NVM programming mode

avrdude done.  Thank you.
mcuee commented 10 months ago

@dbuchwald

Interestingly I also can not reproduce the issue under Linux for the AVR64DD32 board (which I have issues under Windows). There are no issues with -v or -vvvv.

mcuee@UbuntuSwift3 ~/build/avr/avrdude_bin $ make
avr-gcc -Os -DF_APU=512UL -mmcu=avr64dd32 -c -o sleep.o sleep.c
avr-gcc -mmcu=avr64dd32 -o sleep.elf sleep.o
avr-objcopy -O ihex sleep.elf sleep.hex
mcuee@UbuntuSwift3 ~/build/avr/avrdude_bin $ ./avrdude_git -c serialupdi -P /dev/ttyUSB0 -p avr64dd32 -U sleep.hex 
avrdude_git: AVR device initialized and ready to accept instructions
avrdude_git: device signature = 0x1e961a (probably avr64dd32)
avrdude_git: Note: flash memory has been specified, an erase cycle will be performed.
             To disable this feature, specify the -D option.
avrdude_git: erasing chip

avrdude_git: processing -U flash:w:sleep.hex:i
avrdude_git: reading input file sleep.hex for flash
             with 276 bytes in 1 section within [0, 0x113]
             using 1 page and 236 pad bytes
avrdude_git: writing 276 bytes flash ...
Writing | ################################################## | 100% 0.17 s 
avrdude_git: 276 bytes of flash written
avrdude_git: verifying flash memory against sleep.hex
Reading | ################################################## | 100% 0.07 s 
avrdude_git: 276 bytes of flash verified

avrdude_git done.  Thank you.

mcuee@UbuntuSwift3 ~/build/avr/avrdude_bin $ ./avrdude_git -c serialupdi -P /dev/ttyUSB0 -p avr64dd32 -v

avrdude_git: Version 7.2-20231024 (d6c61f5f)
             Copyright the AVRDUDE authors;
             see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

             System wide configuration file is /home/mcuee/build/avr/avrdude_bin/avrdude.conf
             User configuration file is /home/mcuee/.avrduderc
             User configuration file does not exist or is not a regular file, skipping

             Using Port                    : /dev/ttyUSB0
             Using Programmer              : serialupdi
             AVR Part                      : AVR64DD32
             RESET disposition             : dedicated
             RETRY pulse                   : SCK
             Serial program mode           : yes
             Parallel program mode         : yes
             Memory Detail                 :

                                               Block Poll               Page                       Polled
               Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse0       wdtcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse1       bodcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse2       osccfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse5       syscfg0     0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse6       syscfg1     0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse7       codesize    0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuse8       bootsize    0     0     0    0 no          1    1      0     0     0 0x00 0x00
               fuses                   0     0     0    0 no         16   16      0     0     0 0x00 0x00
               lock                    0     0     0    0 no          4    1      0     0     0 0x00 0x00
               prodsig     sigrow      0     0     0    0 no        128  128      0     0     0 0x00 0x00
               signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
               tempsense               0     0     0    0 no          4    1      0     0     0 0x00 0x00
               sernum                  0     0     0    0 no         16    1      0     0     0 0x00 0x00
               userrow     usersig     0     0     0    0 no         32   32      0     0     0 0x00 0x00
               data                    0     0     0    0 no          0    1      0     0     0 0x00 0x00
               io                      0     0     0    0 no       4160    1      0     0     0 0x00 0x00
               sib                     0     0     0    0 no         32    1      0     0     0 0x00 0x00
               eeprom                  0     0     0    0 no        256    1      0     0     0 0x00 0x00
               flash                   0     0     0    0 no      65536  512      0     0     0 0x00 0x00

             Programmer Type : serialupdi
             Description     : SerialUPDI
avrdude_git: device is in SLEEP mode
avrdude_git: NVM type 2: 24-bit, word oriented write
avrdude_git: Chip silicon revision: 1.3
avrdude_git: entering NVM programming mode
avrdude_git: AVR device initialized and ready to accept instructions
avrdude_git: device signature = 0x1e961a (probably avr64dd32)
avrdude_git: leaving NVM programming mode

avrdude_git done.  Thank you.
click here for -vvvv log ``` mcuee@UbuntuSwift3 ~/build/avr/avrdude_bin $ ./avrdude_git -c serialupdi -P /dev/ttyUSB0 -p avr64dd32 -vvvv avrdude_git: Version 7.2-20231024 (d6c61f5f) Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS System wide configuration file is /home/mcuee/build/avr/avrdude_bin/avrdude.conf User configuration file is /home/mcuee/.avrduderc User configuration file does not exist or is not a regular file, skipping Using Port : /dev/ttyUSB0 Using Programmer : serialupdi avrdude_git: opening serial port ... avrdude_git: sending 1 bytes [0x00] avrdude_git: send: . [00] avrdude_git: recv: . [00] AVR Part : AVR64DD32 RESET disposition : dedicated RETRY pulse : SCK Serial program mode : yes Parallel program mode : yes Memory Detail : Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse0 wdtcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse1 bodcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse2 osccfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse5 syscfg0 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse6 syscfg1 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse7 codesize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse8 bootsize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuses 0 0 0 0 no 16 16 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lock 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- prodsig sigrow 0 0 0 0 no 128 128 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- signature 0 0 0 0 no 3 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- tempsense 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sernum 0 0 0 0 no 16 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- userrow usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- data 0 0 0 0 no 0 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- io 0 0 0 0 no 4160 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sib 0 0 0 0 no 32 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 0 0 0 0 no 256 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 0 0 0 0 no 65536 512 0 0 0 0x00 0x00 Programmer Type : serialupdi Description : SerialUPDI avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: recv: U [55] . [c3] . [08] avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: recv: U [55] . [c2] . [80] avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: recv: U [55] . [80] avrdude_git: recv: 0 [30] avrdude_git: received 1 bytes [0x30] avrdude_git: UDPI init OK avrdude_git: UPDI link initialization OK avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [92] avrdude_git: received 1 bytes [0x92] avrdude_git: device is in SLEEP mode avrdude_git: sending 2 bytes [0x55, 0xe6] avrdude_git: send: U [55] . [e6] avrdude_git: recv: U [55] . [e6] avrdude_git: recv: A [41] V [56] R [52] [20] [20] [20] [20] [20] P [50] : [3a] 2 [32] D [44] : [3a] 1 [31] - [2d] 3 [33] M [4d] 2 [32] [20] ( [28] A [41] 3 [33] . [2e] K [4b] V [56] 0 [30] 0 [30] K [4b] . [2e] 0 [30] ) [29] . [00] avrdude_git: received 32 bytes [0x41, 0x56, 0x52, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x3a, 0x32, 0x44, 0x3a, 0x31, 0x2d, 0x33, 0x4d, 0x32, 0x20, 0x28, 0x41, 0x33, 0x2e, 0x4b, 0x56, 0x30, 0x30, 0x4b, 0x2e, 0x30, 0x29, 0x00] avrdude_git: received SIB: [AVR P:2D:1-3M2 (A3.KV00K.0)] avrdude_git: Device family ID: AVR avrdude_git: NVM interface: P:2 avrdude_git: Debug interface: D:1 avrdude_git: PDI oscillator: 3M2 avrdude_git: Extra information: (A3.KV00K.0) avrdude_git: NVM type 2: 24-bit, word oriented write avrdude_git: reading 1 bytes from 0x000F01 avrdude_git: ST_PTR to 0x000F01 avrdude_git: sending 5 bytes [0x55, 0x6a, 0x01, 0x0f, 0x00] avrdude_git: send: U [55] j [6a] . [01] . [0f] . [00] avrdude_git: recv: U [55] j [6a] . [01] . [0f] . [00] avrdude_git: recv: @ [40] avrdude_git: received 1 bytes [0x40] avrdude_git: LD8 from ptr++ avrdude_git: sending 2 bytes [0x55, 0x24] avrdude_git: send: U [55] $ [24] avrdude_git: recv: U [55] $ [24] avrdude_git: recv: . [13] avrdude_git: received 1 bytes [0x13] avrdude_git: Received chip silicon revision 0x13 avrdude_git: Chip silicon revision: 1.3 avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: recv: U [55] . [c3] . [08] avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: recv: U [55] . [c2] . [80] avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: recv: U [55] . [80] avrdude_git: recv: 0 [30] avrdude_git: received 1 bytes [0x30] avrdude_git: UDPI init OK avrdude_git: entering NVM programming mode avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [92] avrdude_git: received 1 bytes [0x92] avrdude_git: UPDI writing key avrdude_git: sending 2 bytes [0x55, 0xe0] avrdude_git: send: U [55] . [e0] avrdude_git: recv: U [55] . [e0] avrdude_git: sending 8 bytes [0x20, 0x67, 0x6f, 0x72, 0x50, 0x4d, 0x56, 0x4e] avrdude_git: send: [20] g [67] o [6f] r [72] P [50] M [4d] V [56] N [4e] avrdude_git: recv: [20] g [67] o [6f] r [72] P [50] M [4d] V [56] N [4e] avrdude_git: LDCS from 0x07 avrdude_git: sending 2 bytes [0x55, 0x87] avrdude_git: send: U [55] . [87] avrdude_git: recv: U [55] . [87] avrdude_git: recv: . [10] avrdude_git: received 1 bytes [0x10] avrdude_git: key status: 0x10 avrdude_git: sending reset request avrdude_git: STCS 0x59 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59] avrdude_git: send: U [55] . [c8] Y [59] avrdude_git: recv: U [55] . [c8] Y [59] avrdude_git: sending release reset request avrdude_git: STCS 0x00 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00] avrdude_git: send: U [55] . [c8] . [00] avrdude_git: recv: U [55] . [c8] . [00] avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: 8 [38] avrdude_git: received 1 bytes [0x38] avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [08] avrdude_git: received 1 bytes [0x08] avrdude_git: entered NVM programming mode avrdude_git: AVR device initialized and ready to accept instructions Reading | | 0% 0.00 s avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [08] avrdude_git: received 1 bytes [0x08] avrdude_git: LD from 0x001100 avrdude_git: sending 5 bytes [0x55, 0x08, 0x00, 0x11, 0x00] avrdude_git: send: U [55] . [08] . [00] . [11] . [00] avrdude_git: recv: U [55] . [08] . [00] . [11] . [00] avrdude_git: recv: . [1e] avrdude_git: received 1 bytes [0x1e] avrdude_git: LD from 0x001101 avrdude_git: sending 5 bytes [0x55, 0x08, 0x01, 0x11, 0x00] avrdude_git: send: U [55] . [08] . [01] . [11] . [00] avrdude_git: recv: U [55] . [08] . [01] . [11] . [00] avrdude_git: recv: . [96] avrdude_git: received 1 bytes [0x96] avrdude_git: LD from 0x001102 avrdude_git: sending 5 bytes [0x55, 0x08, 0x02, 0x11, 0x00] avrdude_git: send: U [55] . [08] . [02] . [11] . [00] avrdude_git: recv: U [55] . [08] . [02] . [11] . [00] avrdude_git: recv: . [1a] avrdude_git: received 1 bytes [0x1a] Reading | ################################################## | 100% 0.02 s avrdude_git: device signature = 0x1e961a (probably avr64dd32) avrdude_git: leaving NVM programming mode avrdude_git: sending reset request avrdude_git: STCS 0x59 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59] avrdude_git: send: U [55] . [c8] Y [59] avrdude_git: recv: U [55] . [c8] Y [59] avrdude_git: sending release reset request avrdude_git: STCS 0x00 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00] avrdude_git: send: U [55] . [c8] . [00] avrdude_git: recv: U [55] . [c8] . [00] avrdude_git: STCS 0x0C to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x0c] avrdude_git: send: U [55] . [c3] . [0c] avrdude_git: recv: U [55] . [c3] . [0c] avrdude_git done. Thank you. ```
mcuee commented 10 months ago

I can not reproduce the issue under my Mac Mini M1 either. I am running the latest macOS Sonoma.

Click for the run log, including `-v` and `-vvvv` ``` mcuee@mcuees-Mac-mini avrdude_bin % ./avrdude_git -c serialupdi -P /dev/tty.usbserial-22430 -p avr64dd32 avrdude_git: AVR device initialized and ready to accept instructions avrdude_git: device signature = 0x1e961a (probably avr64dd32) avrdude_git done. Thank you. mcuee@mcuees-Mac-mini avrdude_bin % ./avrdude_git -c serialupdi -P /dev/tty.usbserial-22430 -p avr64dd32 -v avrdude_git: Version 7.1-20230108 Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS System wide configuration file is /Users/mcuee/build/avr/avrdude_test/avrdude_bin/avrdude.conf User configuration file is /Users/mcuee/.avrduderc User configuration file does not exist or is not a regular file, skipping Using Port : /dev/tty.usbserial-22430 Using Programmer : serialupdi AVR Part : AVR64DD32 RESET disposition : dedicated RETRY pulse : SCK Serial program mode : yes Parallel program mode : yes Memory Detail : Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse0 wdtcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse1 bodcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse2 osccfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse5 syscfg0 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse6 syscfg1 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse7 codesize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuse8 bootsize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 fuses 0 0 0 0 no 16 16 0 0 0 0x00 0x00 lock 0 0 0 0 no 4 1 0 0 0 0x00 0x00 prodsig sigrow 0 0 0 0 no 128 128 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 1 0 0 0 0x00 0x00 tempsense 0 0 0 0 no 4 1 0 0 0 0x00 0x00 sernum 0 0 0 0 no 16 1 0 0 0 0x00 0x00 userrow usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00 data 0 0 0 0 no 0 1 0 0 0 0x00 0x00 io 0 0 0 0 no 4160 1 0 0 0 0x00 0x00 sib 0 0 0 0 no 32 1 0 0 0 0x00 0x00 eeprom 0 0 0 0 no 256 1 0 0 0 0x00 0x00 flash 0 0 0 0 no 65536 512 0 0 0 0x00 0x00 Programmer Type : serialupdi Description : SerialUPDI avrdude_git: device is in SLEEP mode avrdude_git: NVM type 2: 24-bit, word oriented write avrdude_git: Chip silicon revision: 1.3 avrdude_git: entering NVM programming mode avrdude_git: AVR device initialized and ready to accept instructions avrdude_git: device signature = 0x1e961a (probably avr64dd32) avrdude_git: leaving NVM programming mode avrdude_git done. Thank you. mcuee@mcuees-Mac-mini avrdude_bin % ./avrdude_git -c serialupdi -P /dev/tty.usbserial-22430 -p avr64dd32 -vvvv avrdude_git: Version 7.1-20230108 Copyright the AVRDUDE authors; see https://github.com/avrdudes/avrdude/blob/main/AUTHORS System wide configuration file is /Users/mcuee/build/avr/avrdude_test/avrdude_bin/avrdude.conf User configuration file is /Users/mcuee/.avrduderc User configuration file does not exist or is not a regular file, skipping Using Port : /dev/tty.usbserial-22430 Using Programmer : serialupdi avrdude_git: opening serial port ... avrdude_git: sending 1 bytes [0x00] avrdude_git: send: . [00] avrdude_git: recv: . [00] AVR Part : AVR64DD32 RESET disposition : dedicated RETRY pulse : SCK Serial program mode : yes Parallel program mode : yes Memory Detail : Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse0 wdtcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse1 bodcfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse2 osccfg 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse5 syscfg0 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse6 syscfg1 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse7 codesize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuse8 bootsize 0 0 0 0 no 1 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- fuses 0 0 0 0 no 16 16 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lock 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- prodsig sigrow 0 0 0 0 no 128 128 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- signature 0 0 0 0 no 3 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- tempsense 0 0 0 0 no 4 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sernum 0 0 0 0 no 16 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- userrow usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- data 0 0 0 0 no 0 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- io 0 0 0 0 no 4160 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- sib 0 0 0 0 no 32 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 0 0 0 0 no 256 1 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Alias Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 0 0 0 0 no 65536 512 0 0 0 0x00 0x00 Programmer Type : serialupdi Description : SerialUPDI avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: recv: U [55] . [c3] . [08] avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: recv: U [55] . [c2] . [80] avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: recv: U [55] . [80] avrdude_git: recv: 0 [30] avrdude_git: received 1 bytes [0x30] avrdude_git: UDPI init OK avrdude_git: UPDI link initialization OK avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [92] avrdude_git: received 1 bytes [0x92] avrdude_git: device is in SLEEP mode avrdude_git: sending 2 bytes [0x55, 0xe6] avrdude_git: send: U [55] . [e6] avrdude_git: recv: U [55] . [e6] avrdude_git: recv: A [41] V [56] R [52] [20] [20] [20] [20] [20] P [50] : [3a] 2 [32] D [44] : [3a] 1 [31] - [2d] 3 [33] M [4d] 2 [32] [20] ( [28] A [41] 3 [33] . [2e] K [4b] V [56] 0 [30] 0 [30] K [4b] . [2e] 0 [30] ) [29] . [00] avrdude_git: received 32 bytes [0x41, 0x56, 0x52, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x3a, 0x32, 0x44, 0x3a, 0x31, 0x2d, 0x33, 0x4d, 0x32, 0x20, 0x28, 0x41, 0x33, 0x2e, 0x4b, 0x56, 0x30, 0x30, 0x4b, 0x2e, 0x30, 0x29, 0x00] avrdude_git: received SIB: [AVR P:2D:1-3M2 (A3.KV00K.0)] avrdude_git: Device family ID: AVR avrdude_git: NVM interface: P:2 avrdude_git: Debug interface: D:1 avrdude_git: PDI oscillator: 3M2 avrdude_git: Extra information: (A3.KV00K.0) avrdude_git: NVM type 2: 24-bit, word oriented write avrdude_git: reading 1 bytes from 0x000F01 avrdude_git: ST_PTR to 0x000F01 avrdude_git: sending 5 bytes [0x55, 0x6a, 0x01, 0x0f, 0x00] avrdude_git: send: U [55] j [6a] . [01] . [0f] . [00] avrdude_git: recv: U [55] j [6a] . [01] . [0f] . [00] avrdude_git: recv: @ [40] avrdude_git: received 1 bytes [0x40] avrdude_git: LD8 from ptr++ avrdude_git: sending 2 bytes [0x55, 0x24] avrdude_git: send: U [55] $ [24] avrdude_git: recv: U [55] $ [24] avrdude_git: recv: . [13] avrdude_git: received 1 bytes [0x13] avrdude_git: Received chip silicon revision 0x13 avrdude_git: Chip silicon revision: 1.3 avrdude_git: STCS 0x08 to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x08] avrdude_git: send: U [55] . [c3] . [08] avrdude_git: recv: U [55] . [c3] . [08] avrdude_git: STCS 0x80 to address 0x02 avrdude_git: sending 3 bytes [0x55, 0xc2, 0x80] avrdude_git: send: U [55] . [c2] . [80] avrdude_git: recv: U [55] . [c2] . [80] avrdude_git: LDCS from 0x00 avrdude_git: sending 2 bytes [0x55, 0x80] avrdude_git: send: U [55] . [80] avrdude_git: recv: U [55] . [80] avrdude_git: recv: 0 [30] avrdude_git: received 1 bytes [0x30] avrdude_git: UDPI init OK avrdude_git: entering NVM programming mode avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [92] avrdude_git: received 1 bytes [0x92] avrdude_git: UPDI writing key avrdude_git: sending 2 bytes [0x55, 0xe0] avrdude_git: send: U [55] . [e0] avrdude_git: recv: U [55] . [e0] avrdude_git: sending 8 bytes [0x20, 0x67, 0x6f, 0x72, 0x50, 0x4d, 0x56, 0x4e] avrdude_git: send: [20] g [67] o [6f] r [72] P [50] M [4d] V [56] N [4e] avrdude_git: recv: [20] g [67] o [6f] r [72] P [50] M [4d] V [56] N [4e] avrdude_git: LDCS from 0x07 avrdude_git: sending 2 bytes [0x55, 0x87] avrdude_git: send: U [55] . [87] avrdude_git: recv: U [55] . [87] avrdude_git: recv: . [10] avrdude_git: received 1 bytes [0x10] avrdude_git: key status: 0x10 avrdude_git: sending reset request avrdude_git: STCS 0x59 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59] avrdude_git: send: U [55] . [c8] Y [59] avrdude_git: recv: U [55] . [c8] Y [59] avrdude_git: sending release reset request avrdude_git: STCS 0x00 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00] avrdude_git: send: U [55] . [c8] . [00] avrdude_git: recv: U [55] . [c8] . [00] avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: 8 [38] avrdude_git: received 1 bytes [0x38] avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [08] avrdude_git: received 1 bytes [0x08] avrdude_git: entered NVM programming mode avrdude_git: AVR device initialized and ready to accept instructions Reading | | 0% 0.00 s avrdude_git: LDCS from 0x0B avrdude_git: sending 2 bytes [0x55, 0x8b] avrdude_git: send: U [55] . [8b] avrdude_git: recv: U [55] . [8b] avrdude_git: recv: . [08] avrdude_git: received 1 bytes [0x08] avrdude_git: LD from 0x001100 avrdude_git: sending 5 bytes [0x55, 0x08, 0x00, 0x11, 0x00] avrdude_git: send: U [55] . [08] . [00] . [11] . [00] avrdude_git: recv: U [55] . [08] . [00] . [11] . [00] avrdude_git: recv: . [1e] avrdude_git: received 1 bytes [0x1e] avrdude_git: LD from 0x001101 avrdude_git: sending 5 bytes [0x55, 0x08, 0x01, 0x11, 0x00] avrdude_git: send: U [55] . [08] . [01] . [11] . [00] avrdude_git: recv: U [55] . [08] . [01] . [11] . [00] avrdude_git: recv: . [96] avrdude_git: received 1 bytes [0x96] avrdude_git: LD from 0x001102 avrdude_git: sending 5 bytes [0x55, 0x08, 0x02, 0x11, 0x00] avrdude_git: send: U [55] . [08] . [02] . [11] . [00] avrdude_git: recv: U [55] . [08] . [02] . [11] . [00] avrdude_git: recv: . [1a] avrdude_git: received 1 bytes [0x1a] Reading | ################################################## | 100% 0.02 s avrdude_git: device signature = 0x1e961a (probably avr64dd32) avrdude_git: leaving NVM programming mode avrdude_git: sending reset request avrdude_git: STCS 0x59 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x59] avrdude_git: send: U [55] . [c8] Y [59] avrdude_git: recv: U [55] . [c8] Y [59] avrdude_git: sending release reset request avrdude_git: STCS 0x00 to address 0x08 avrdude_git: sending 3 bytes [0x55, 0xc8, 0x00] avrdude_git: send: U [55] . [c8] . [00] avrdude_git: recv: U [55] . [c8] . [00] avrdude_git: STCS 0x0C to address 0x03 avrdude_git: sending 3 bytes [0x55, 0xc3, 0x0c] avrdude_git: send: U [55] . [c3] . [0c] avrdude_git: recv: U [55] . [c3] . [0c] avrdude_git done. Thank you. ```
mcuee commented 10 months ago

So it may seems to be a timing issue under Windows, at least for my side.

@askn37 Please give the latest git main a try to see if you can reproduce the Sleep issue or not under macOS. Thanks.

From your run log.

+ ./avrdude/build_darwin/src/avrdude -xrtsdtr=high -p avr64ea32 -c serialupdi -P /dev/cu.usbserial-1320 -U flash:r:avr128db32/Flash.hex:i -v
+ tee log/test_sleep.log

avrdude: Version 7.2-20231018 (481a91dd)
         Copyright the AVRDUDE authors;
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS

         System wide configuration file is /Users/askn/Arduino/UPDI_TEST/avrdude/build_darwin/src/avrdude.conf
         User configuration file is /Users/askn/.avrduderc

         Using Port                    : /dev/cu.usbserial-1320
         Using Programmer              : serialupdi
avrdude: opening serial port ...
avrdude: sending 1 bytes [0x00]
avrdude: send: . [00] 
avrdude: recv: . [00] 
         AVR Part                      : AVR64EA32
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         Serial program mode           : yes
         Parallel program mode         : yes
         Memory Detail                 :

                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           fuse0       wdtcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           fuse1       bodcfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           fuse2       osccfg      0     0     0    0 no          1    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           fuse5       syscfg0     0     0     0    0 no          1    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           fuse6       syscfg1     0     0     0    0 no          1    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           fuse7       codesize    0     0     0    0 no          1    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           fuse8       bootsize    0     0     0    0 no          1    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           fuses                   0     0     0    0 no         16   16      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock                    0     0     0    0 no          4    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           prodsig     sigrow      0     0     0    0 no        128  128      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           tempsense               0     0     0    0 no          4    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           sernum                  0     0     0    0 no         16    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           userrow     usersig     0     0     0    0 no         64   64      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           data                    0     0     0    0 no          0    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           io                      0     0     0    0 no       4160    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           sib                     0     0     0    0 no         32    1      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom                  0     0     0    0 no        512    8      0     0     0 0x00 0x00
                                           Block Poll               Page                       Polled
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash                   0     0     0    0 no      65536  128      0     0     0 0x00 0x00

         Programmer Type : serialupdi
         Description     : SerialUPDI
avrdude: STCS 0x08 to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude: send: U [55] . [c3] . [08] 
avrdude: recv: U [55] . [c3] . [08] 
avrdude: STCS 0x80 to address 0x02
avrdude: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude: send: U [55] . [c2] . [80] 
avrdude: recv: U [55] . [c2] . [80] 
avrdude: LDCS from 0x00
avrdude: sending 2 bytes [0x55, 0x80]
avrdude: send: U [55] . [80] 
avrdude: recv: U [55] . [80] 
avrdude: recv: 0 [30] 
avrdude: received 1 bytes [0x30]
avrdude: UDPI init OK
avrdude: UPDI link initialization OK
avrdude: forcing serial DTR/RTS handshake lines HIGH
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: send: U [55] . [8b] 
avrdude: recv: U [55] . [8b] 
avrdude: recv: . [00] 
avrdude: received 1 bytes [0x00]
avrdude: sending 2 bytes [0x55, 0xe6]
avrdude: send: U [55] . [e6] 
avrdude: recv: U [55] . [e6] 
avrdude: recv: A [41] V [56] R [52]   [20]   [20]   [20]   [20]   [20] P [50] : [3a] 3 [33] D [44] : [3a] 1 [31] - [2d] 3 [33] M [4d] 2 [32]   [20] ( [28] B [42] 1 [31] . [2e] 5 [35] 9 [39] F [46] 0 [30] 2 [32] . [2e] 0 [30] ) [29] . [00] 
avrdude: received 32 bytes [0x41, 0x56, 0x52, 0x20, 0x20, 0x20, 0x20, 0x20, 0x50, 0x3a, 0x33, 0x44, 0x3a, 0x31, 0x2d, 0x33, 0x4d, 0x32, 0x20, 0x28, 0x42, 0x31, 0x2e, 0x35, 0x39, 0x46, 0x30, 0x32, 0x2e, 0x30, 0x29, 0x00]
avrdude: received SIB: [AVR     P:3D:1-3M2 (B1.59F02.0)]
avrdude: Device family ID: AVR     
avrdude: NVM interface: P:3
avrdude: Debug interface: D:1
avrdude: PDI oscillator: 3M2 
avrdude: Extra information: (B1.59F02.0)
avrdude: NVM type 3: 16-bit, page oriented
avrdude: reading 1 bytes from 0x000F01
avrdude: ST_PTR to 0x000F01
avrdude: sending 4 bytes [0x55, 0x69, 0x01, 0x0f]
avrdude: send: U [55] i [69] . [01] . [0f] 
avrdude: recv: U [55] i [69] . [01] . [0f] 
avrdude: ser_recv(): programmer is not responding
avrdude: serialupdi_recv(): programmer is not responding
avrdude: UPDI ST_PTR recv failed on ACK
avrdude: ST_PTR operation failed
avrdude serialupdi_initialize() [serialupdi.c:636] error: Reading chip silicon revision failed
avrdude main() [main.c:1404] error: initialization failed, rc=-1
        - double check the connections and try again
        - use -b to set lower baud rate, e.g. -b 57600
        - use -F to override this check
avrdude: leaving NVM programming mode
avrdude: sending reset request
avrdude: STCS 0x59 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x59]
avrdude: send: U [55] . [c8] Y [59] 
avrdude: recv: U [55] . [c8] Y [59] 
avrdude: sending release reset request
avrdude: STCS 0x00 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude: send: U [55] . [c8] . [00] 
avrdude: recv: U [55] . [c8] . [00] 
avrdude: STCS 0x0C to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x0c]
avrdude: send: U [55] . [c3] . [0c] 
avrdude: recv: U [55] . [c3] . [0c] 
avrdude: releasing DTR/RTS handshake lines

avrdude done.  Thank you.