Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change execution position of "silicon revision" check of "serialupdi.c" #1543

Merged
merged 3 commits into from
Nov 3, 2023

Conversation

askn37
Copy link
Contributor

@askn37 askn37 commented Oct 29, 2023

This is a proposal to change the execution position of the "silicon revision" reading code in "serialupdi.c" described in #1529 (comment).

effect:

This fixes an issue where it would run before entering "progmode" and could not run depending on the state of the target CPU.

Impact of the fix:

If the device is locked, do nothing. Just as you can't read the signature at this point, you can't read the silicon revision either.

Uncensored:

In the official data sheet, silicon revisions are written as "A1", "A2", "B3", etc., but the display codes here are reported to be "1.1", "1.2", "2.3", etc. If you are concerned, another discussion and agreement is required.

Ignore the "Programmer not responding" report in the log below as it is a side effect of the target not fully coming back from its hard reset state.

Build test environment

$ uname -a
Darwin alicia.local 23.0.0 Darwin Kernel Version 23.0.0: Fri Sep 15 14:41:34 PDT 2023; root:xnu-10002.1.13~1/RELEASE_ARM64_T8103 arm64

Test results when unlocking the device

+/Users/askn/Collaborator/avrdude_pr/build_darwin/src/avrdude -xrtsdtr=high -p avr64dd32 -c serialupdi -P /dev/cu.usbserial-230 -qqvvvv


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

         System wide configuration file is /Users/askn/Collaborator/avrdude_pr/build_darwin/src/avrdude.conf
         User configuration file is /Users/askn/.avrduderc

         Using Port                    : /dev/cu.usbserial-230
         Using Programmer              : serialupdi
avrdude: opening serial port ...
avrdude: sending 1 bytes [0x00]
avrdude: STCS 0x08 to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude: STCS 0x80 to address 0x02
avrdude: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude: LDCS from 0x00
avrdude: sending 2 bytes [0x55, 0x80]
avrdude: ser_recv(): programmer is not responding
avrdude: serialupdi_recv(): programmer is not responding
avrdude: check failed
avrdude: datalink not active, resetting ...
avrdude: sending double break
avrdude: STCS 0x08 to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude: STCS 0x80 to address 0x02
avrdude: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude: LDCS from 0x00
avrdude: sending 2 bytes [0x55, 0x80]
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: received 1 bytes [0xb2]
avrdude: device is in SLEEP mode
avrdude: device in reset status, trying to release it
avrdude: sending release reset request
avrdude: STCS 0x00 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude: sending 2 bytes [0x55, 0xe6]
avrdude: 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: received SIB: [AVR     P:2D:1-3M2 (A3.KV00K.0)]
avrdude: Device family ID: AVR     
avrdude: NVM interface: P:2
avrdude: Debug interface: D:1
avrdude: PDI oscillator: 3M2 
avrdude: Extra information: (A3.KV00K.0)
avrdude: NVM type 2: 24-bit, word oriented write
avrdude: STCS 0x08 to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude: STCS 0x80 to address 0x02
avrdude: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude: LDCS from 0x00
avrdude: sending 2 bytes [0x55, 0x80]
avrdude: received 1 bytes [0x30]
avrdude: UDPI init OK
avrdude: entering NVM programming mode
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x92]
avrdude: UPDI writing key
avrdude: sending 2 bytes [0x55, 0xe0]
avrdude: sending 8 bytes [0x20, 0x67, 0x6f, 0x72, 0x50, 0x4d, 0x56, 0x4e]
avrdude: LDCS from 0x07
avrdude: sending 2 bytes [0x55, 0x87]
avrdude: received 1 bytes [0x10]
avrdude: key status: 0x10
avrdude: sending reset request
avrdude: STCS 0x59 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x59]
avrdude: sending release reset request
avrdude: STCS 0x00 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x38]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x08]
avrdude: entered NVM programming mode
avrdude: reading 1 bytes from 0x000F01
avrdude: ST_PTR to 0x000F01
avrdude: sending 5 bytes [0x55, 0x6a, 0x01, 0x0f, 0x00]
avrdude: received 1 bytes [0x40]
avrdude: LD8 from ptr++
avrdude: sending 2 bytes [0x55, 0x24]
avrdude: received 1 bytes [0x13]
avrdude: Received chip silicon revision 0x13
avrdude: Chip silicon revision: 1.3
avrdude: AVR device initialized and ready to accept instructions
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x08]
avrdude: LD from 0x001100
avrdude: sending 5 bytes [0x55, 0x08, 0x00, 0x11, 0x00]
avrdude: received 1 bytes [0x1e]
avrdude: LD from 0x001101
avrdude: sending 5 bytes [0x55, 0x08, 0x01, 0x11, 0x00]
avrdude: received 1 bytes [0x96]
avrdude: LD from 0x001102
avrdude: sending 5 bytes [0x55, 0x08, 0x02, 0x11, 0x00]
avrdude: received 1 bytes [0x1a]
avrdude: device signature = 0x1e961a
avrdude: leaving NVM programming mode
avrdude: sending reset request
avrdude: STCS 0x59 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x59]
avrdude: sending release reset request
avrdude: STCS 0x00 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude: STCS 0x0C to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x0c]
avrdude: releasing DTR/RTS handshake lines

avrdude done.  Thank you.

Test results when device is locked

+/Users/askn/Collaborator/avrdude_pr/build_darwin/src/avrdude -xrtsdtr=high -p avr64dd32 -c serialupdi -P /dev/cu.usbserial-230 -qqvvvv


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

         System wide configuration file is /Users/askn/Collaborator/avrdude_pr/build_darwin/src/avrdude.conf
         User configuration file is /Users/askn/.avrduderc

         Using Port                    : /dev/cu.usbserial-230
         Using Programmer              : serialupdi
avrdude: opening serial port ...
avrdude: sending 1 bytes [0x00]
avrdude: STCS 0x08 to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude: STCS 0x80 to address 0x02
avrdude: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude: LDCS from 0x00
avrdude: sending 2 bytes [0x55, 0x80]
avrdude: ser_recv(): programmer is not responding
avrdude: serialupdi_recv(): programmer is not responding
avrdude: check failed
avrdude: datalink not active, resetting ...
avrdude: sending double break
avrdude: STCS 0x08 to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude: STCS 0x80 to address 0x02
avrdude: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude: LDCS from 0x00
avrdude: sending 2 bytes [0x55, 0x80]
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: received 1 bytes [0xb3]
avrdude: device is locked
avrdude: device is in SLEEP mode
avrdude: device in reset status, trying to release it
avrdude: sending release reset request
avrdude: STCS 0x00 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude: sending 2 bytes [0x55, 0xe6]
avrdude: 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: received SIB: [AVR     P:2D:1-3M2 (A3.KV00K.0)]
avrdude: Device family ID: AVR     
avrdude: NVM interface: P:2
avrdude: Debug interface: D:1
avrdude: PDI oscillator: 3M2 
avrdude: Extra information: (A3.KV00K.0)
avrdude: NVM type 2: 24-bit, word oriented write
avrdude: STCS 0x08 to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude: STCS 0x80 to address 0x02
avrdude: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude: LDCS from 0x00
avrdude: sending 2 bytes [0x55, 0x80]
avrdude: received 1 bytes [0x30]
avrdude: UDPI init OK
avrdude: entering NVM programming mode
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x93]
avrdude: UPDI writing key
avrdude: sending 2 bytes [0x55, 0xe0]
avrdude: sending 8 bytes [0x20, 0x67, 0x6f, 0x72, 0x50, 0x4d, 0x56, 0x4e]
avrdude: LDCS from 0x07
avrdude: sending 2 bytes [0x55, 0x87]
avrdude: received 1 bytes [0x10]
avrdude: key status: 0x10
avrdude: sending reset request
avrdude: STCS 0x59 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x59]
avrdude: sending release reset request
avrdude: STCS 0x00 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0xb3]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude serialupdi_wait_for_unlock() [serialupdi.c:221] error: timeout waiting for device to unlock
avrdude serialupdi_enter_progmode() [serialupdi.c:385] error: unable to enter NVM programming mode: device is locked
avrdude: AVR device initialized and ready to accept instructions
avrdude: LDCS from 0x0B
avrdude: sending 2 bytes [0x55, 0x8b]
avrdude: received 1 bytes [0x83]
avrdude avr_signature() [avr.c:1221] error: unable to read signature data for part AVR64DD32, rc=-3
avrdude: System Information Block: AVR     P:2D:1-3M2 (A3.KV00K.0)
avrdude: received FamilyID: "AVR    "
        double check chip or 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: sending release reset request
avrdude: STCS 0x00 to address 0x08
avrdude: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude: STCS 0x0C to address 0x03
avrdude: sending 3 bytes [0x55, 0xc3, 0x0c]
avrdude: releasing DTR/RTS handshake lines

avrdude done.  Thank you.

@mcuee mcuee added the enhancement New feature or request label Oct 29, 2023
@mcuee
Copy link
Collaborator

mcuee commented Oct 29, 2023

@MCUdude

I think this is safe as it is a minor modification of your existing approach in PR #1474 which resolved Issue #1472. Please take a look. Thanks.

@mcuee
Copy link
Collaborator

mcuee commented Oct 29, 2023

@dbuchwald

Please review as well to see if you have any concerns. Thanks.

@mcuee
Copy link
Collaborator

mcuee commented Oct 29, 2023

Test result is positive under Windows. I use MSYS2 clang64 compiler to avoid the issue of MSYS2 mingw64 compiler issue mentioned in #1529.

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

avrdude_pr1543_clang64 done.  Thank you.

PS>.\avrdude_pr1543_clang64 -c serialupdi -P ch340 -p avr64dd32 -vvvv

avrdude_pr1543_clang64: Version 7.2-20231029 (4be0f37)
                        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                    : COM41
                        Using Programmer              : serialupdi
avrdude_pr1543_clang64: opening serial port ...
avrdude_pr1543_clang64: sending 1 bytes [0x00]
avrdude_pr1543_clang64: send: . [00]
avrdude_pr1543_clang64: recv: . [00]
                        AVR Part                      : AVR64DD32
                        RESET disposition             : dedicated
                        RETRY pulse                   : SCK
                        Serial program mode           : yes
                        Parallel program mode         : yes
                        Memory Detail                 :
,,,
                        Programmer Type : serialupdi
                        Description     : SerialUPDI
avrdude_pr1543_clang64: STCS 0x08 to address 0x03
avrdude_pr1543_clang64: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude_pr1543_clang64: send: U [55] . [c3] . [08]
avrdude_pr1543_clang64: recv: U [55] . [c3] . [08]
avrdude_pr1543_clang64: STCS 0x80 to address 0x02
avrdude_pr1543_clang64: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude_pr1543_clang64: send: U [55] . [c2] . [80]
avrdude_pr1543_clang64: recv: U [55] . [c2] . [80]
avrdude_pr1543_clang64: LDCS from 0x00
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0x80]
avrdude_pr1543_clang64: send: U [55] . [80]
avrdude_pr1543_clang64: recv: U [55] . [80]
avrdude_pr1543_clang64: recv: 0 [30]
avrdude_pr1543_clang64: received 1 bytes [0x30]
avrdude_pr1543_clang64: UDPI init OK
avrdude_pr1543_clang64: UPDI link initialization OK
avrdude_pr1543_clang64: LDCS from 0x0B
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0x8b]
avrdude_pr1543_clang64: send: U [55] . [8b]
avrdude_pr1543_clang64: recv: U [55] . [8b]
avrdude_pr1543_clang64: recv: . [92]
avrdude_pr1543_clang64: received 1 bytes [0x92]
avrdude_pr1543_clang64: device is in SLEEP mode
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0xe6]
avrdude_pr1543_clang64: send: U [55] . [e6]
avrdude_pr1543_clang64: recv: U [55] . [e6]
avrdude_pr1543_clang64: 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_pr1543_clang64: 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_pr1543_clang64: received SIB: [AVR     P:2D:1-3M2 (A3.KV00K.0)]
avrdude_pr1543_clang64: Device family ID: AVR
avrdude_pr1543_clang64: NVM interface: P:2
avrdude_pr1543_clang64: Debug interface: D:1
avrdude_pr1543_clang64: PDI oscillator: 3M2
avrdude_pr1543_clang64: Extra information: (A3.KV00K.0)
avrdude_pr1543_clang64: NVM type 2: 24-bit, word oriented write
avrdude_pr1543_clang64: STCS 0x08 to address 0x03
avrdude_pr1543_clang64: sending 3 bytes [0x55, 0xc3, 0x08]
avrdude_pr1543_clang64: send: U [55] . [c3] . [08]
avrdude_pr1543_clang64: recv: U [55] . [c3] . [08]
avrdude_pr1543_clang64: STCS 0x80 to address 0x02
avrdude_pr1543_clang64: sending 3 bytes [0x55, 0xc2, 0x80]
avrdude_pr1543_clang64: send: U [55] . [c2] . [80]
avrdude_pr1543_clang64: recv: U [55] . [c2] . [80]
avrdude_pr1543_clang64: LDCS from 0x00
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0x80]
avrdude_pr1543_clang64: send: U [55] . [80]
avrdude_pr1543_clang64: recv: U [55] . [80]
avrdude_pr1543_clang64: recv: 0 [30]
avrdude_pr1543_clang64: received 1 bytes [0x30]
avrdude_pr1543_clang64: UDPI init OK
avrdude_pr1543_clang64: entering NVM programming mode
avrdude_pr1543_clang64: LDCS from 0x0B
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0x8b]
avrdude_pr1543_clang64: send: U [55] . [8b]
avrdude_pr1543_clang64: recv: U [55] . [8b]
avrdude_pr1543_clang64: recv: . [92]
avrdude_pr1543_clang64: received 1 bytes [0x92]
avrdude_pr1543_clang64: UPDI writing key
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0xe0]
avrdude_pr1543_clang64: send: U [55] . [e0]
avrdude_pr1543_clang64: recv: U [55] . [e0]
avrdude_pr1543_clang64: sending 8 bytes [0x20, 0x67, 0x6f, 0x72, 0x50, 0x4d, 0x56, 0x4e]
avrdude_pr1543_clang64: send:   [20] g [67] o [6f] r [72] P [50] M [4d] V [56] N [4e]
avrdude_pr1543_clang64: recv:   [20] g [67] o [6f] r [72] P [50] M [4d] V [56] N [4e]
avrdude_pr1543_clang64: LDCS from 0x07
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0x87]
avrdude_pr1543_clang64: send: U [55] . [87]
avrdude_pr1543_clang64: recv: U [55] . [87]
avrdude_pr1543_clang64: recv: . [10]
avrdude_pr1543_clang64: received 1 bytes [0x10]
avrdude_pr1543_clang64: key status: 0x10
avrdude_pr1543_clang64: sending reset request
avrdude_pr1543_clang64: STCS 0x59 to address 0x08
avrdude_pr1543_clang64: sending 3 bytes [0x55, 0xc8, 0x59]
avrdude_pr1543_clang64: send: U [55] . [c8] Y [59]
avrdude_pr1543_clang64: recv: U [55] . [c8] Y [59]
avrdude_pr1543_clang64: sending release reset request
avrdude_pr1543_clang64: STCS 0x00 to address 0x08
avrdude_pr1543_clang64: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude_pr1543_clang64: send: U [55] . [c8] . [00]
avrdude_pr1543_clang64: recv: U [55] . [c8] . [00]
avrdude_pr1543_clang64: LDCS from 0x0B
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0x8b]
avrdude_pr1543_clang64: send: U [55] . [8b]
avrdude_pr1543_clang64: recv: U [55] . [8b]
avrdude_pr1543_clang64: recv: 8 [38]
avrdude_pr1543_clang64: received 1 bytes [0x38]
avrdude_pr1543_clang64: LDCS from 0x0B
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0x8b]
avrdude_pr1543_clang64: send: U [55] . [8b]
avrdude_pr1543_clang64: recv: U [55] . [8b]
avrdude_pr1543_clang64: recv: . [08]
avrdude_pr1543_clang64: received 1 bytes [0x08]
avrdude_pr1543_clang64: entered NVM programming mode
avrdude_pr1543_clang64: reading 1 bytes from 0x000F01
avrdude_pr1543_clang64: ST_PTR to 0x000F01
avrdude_pr1543_clang64: sending 5 bytes [0x55, 0x6a, 0x01, 0x0f, 0x00]
avrdude_pr1543_clang64: send: U [55] j [6a] . [01] . [0f] . [00]
avrdude_pr1543_clang64: recv: U [55] j [6a] . [01] . [0f] . [00]
avrdude_pr1543_clang64: recv: @ [40]
avrdude_pr1543_clang64: received 1 bytes [0x40]
avrdude_pr1543_clang64: LD8 from ptr++
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0x24]
avrdude_pr1543_clang64: send: U [55] $ [24]
avrdude_pr1543_clang64: recv: U [55] $ [24]
avrdude_pr1543_clang64: recv: . [13]
avrdude_pr1543_clang64: received 1 bytes [0x13]
avrdude_pr1543_clang64: Received chip silicon revision 0x13
avrdude_pr1543_clang64: Chip silicon revision: 1.3
avrdude_pr1543_clang64: AVR device initialized and ready to accept instructions
Reading |                                                    | 0% 0.00 s
avrdude_pr1543_clang64: LDCS from 0x0B
avrdude_pr1543_clang64: sending 2 bytes [0x55, 0x8b]
avrdude_pr1543_clang64: send: U [55] . [8b]
avrdude_pr1543_clang64: recv: U [55] . [8b]
avrdude_pr1543_clang64: recv: . [08]
avrdude_pr1543_clang64: received 1 bytes [0x08]
avrdude_pr1543_clang64: LD from 0x001100
avrdude_pr1543_clang64: sending 5 bytes [0x55, 0x08, 0x00, 0x11, 0x00]
avrdude_pr1543_clang64: send: U [55] . [08] . [00] . [11] . [00]
avrdude_pr1543_clang64: recv: U [55] . [08] . [00] . [11] . [00]
avrdude_pr1543_clang64: recv: . [1e]
avrdude_pr1543_clang64: received 1 bytes [0x1e]
avrdude_pr1543_clang64: LD from 0x001101
avrdude_pr1543_clang64: sending 5 bytes [0x55, 0x08, 0x01, 0x11, 0x00]
avrdude_pr1543_clang64: send: U [55] . [08] . [01] . [11] . [00]
avrdude_pr1543_clang64: recv: U [55] . [08] . [01] . [11] . [00]
avrdude_pr1543_clang64: recv: . [96]
avrdude_pr1543_clang64: received 1 bytes [0x96]
avrdude_pr1543_clang64: LD from 0x001102
avrdude_pr1543_clang64: sending 5 bytes [0x55, 0x08, 0x02, 0x11, 0x00]
avrdude_pr1543_clang64: send: U [55] . [08] . [02] . [11] . [00]
avrdude_pr1543_clang64: recv: U [55] . [08] . [02] . [11] . [00]
avrdude_pr1543_clang64: recv: . [1a]
avrdude_pr1543_clang64: received 1 bytes [0x1a]
Reading | ################################################## | 100% 0.02 s
avrdude_pr1543_clang64: device signature = 0x1e961a (probably avr64dd32)
avrdude_pr1543_clang64: leaving NVM programming mode
avrdude_pr1543_clang64: sending reset request
avrdude_pr1543_clang64: STCS 0x59 to address 0x08
avrdude_pr1543_clang64: sending 3 bytes [0x55, 0xc8, 0x59]
avrdude_pr1543_clang64: send: U [55] . [c8] Y [59]
avrdude_pr1543_clang64: recv: U [55] . [c8] Y [59]
avrdude_pr1543_clang64: sending release reset request
avrdude_pr1543_clang64: STCS 0x00 to address 0x08
avrdude_pr1543_clang64: sending 3 bytes [0x55, 0xc8, 0x00]
avrdude_pr1543_clang64: send: U [55] . [c8] . [00]
avrdude_pr1543_clang64: recv: U [55] . [c8] . [00]
avrdude_pr1543_clang64: STCS 0x0C to address 0x03
avrdude_pr1543_clang64: sending 3 bytes [0x55, 0xc3, 0x0c]
avrdude_pr1543_clang64: send: U [55] . [c3] . [0c]
avrdude_pr1543_clang64: recv: U [55] . [c3] . [0c]

avrdude_pr1543_clang64 done.  Thank you.

Copy link
Contributor

@dbuchwald dbuchwald left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@MCUdude
Copy link
Collaborator

MCUdude commented Oct 29, 2023

Looks good to me as well!

@mcuee
Copy link
Collaborator

mcuee commented Oct 29, 2023

Great. This PR should be good to go now.

@MCUdude MCUdude mentioned this pull request Oct 30, 2023
@stefanrueger
Copy link
Collaborator

I am happy to merge this PR during the next batch update. I normally merge in the order the PRs came in. Just an advance warning that PR #1538 is quite big and might cause merge conflicts. Also PR #1538 will probably need a few days for thorough testing.

@stefanrueger stefanrueger merged commit d42f7d8 into avrdudes:main Nov 3, 2023
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants