arduino/ArduinoCore-megaavr

Arduini Nano Every avrdude EEPROM writing issue.

mcuee opened this issue · 3 comments

mcuee commented

Ref: avrdudes/avrdude#1069 (comment)

For my official Arduini Nano Every board, it does not work with EEPROM writing, using latest avrdude git. I also tried different binaries (including Arduino version of avrdude 6.3 and 7.0) and none of them works.

I tend to believe it is a MuxTO FW issue on the SAM D11.

Interestingly I have a Nano 4808 clone and it works better (still got the RSP_ILLEGAL_MEMORY_TYPE warning message but it works in the end).

PS C:\work\avr\avrdude_test\avrdude_bin> mode COM7 baud=12 dtr=on > nul
PS C:\work\avr\avrdude_test\avrdude_bin> mode COM7 baud=12 dtr=off > nul

PS C:\work\avr\avrdude_test\avrdude_bin> .\avrdude.exe -C .\avrdude.conf -patmega4809 -cjtag2updi
 -PCOM7 -b115200 -Ueeprom:w:entest_256B.eep:i

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.29s

avrdude.exe: Device signature = 0x1e9651 (probably m4809)
avrdude.exe: reading input file entest_256B.eep for eeprom
avrdude.exe: writing 256 bytes eeprom ...

Writing |                                                   
 | 0% 0.00savrdude.exe: jtagmkII_paged_write(): bad response to write memory command: RSP_ILLEGAL_MEMORY_TYPE
Writing | #############                                      
| 25% 0.01savrdude.exe: jtagmkII_write_byte(): fatal timeout/error communicating with programmer (status -1)
 ***failed;
avrdude.exe: jtagmkII_write_byte(): fatal timeout/error communicating with programmer (status -1)
 ***failed;
avrdude.exe: jtagmkII_write_byte(): fatal timeout/error communicating with programmer (status -1)
 ***failed;

Debug message with -vvvv.

avrdude.exe: jtagmkII_write_byte(.., eeprom, 0xc, ...)
avrdude.exe: jtagmkII_write_byte(): Sending write memory command:
avrdude.exe: jtagmkII_send(): sending 11 bytes
avrdude.exe: Send: . [1b] . [1d] . [00] . [0b] . [00] . [00] . [00] . [0e] . 
[04] . [c4] . [01] . [00] . [00] . [00] . [0c] . [14] . [00] . [00] o [6f] { [7b] = [3d]
avrdude.exe: jtagmkII_recv():
avrdude.exe: ser_recv(): programmer is not responding
avrdude.exe: jtagmkII_recv(): Timeout receiving packet
mcuee commented

Ref: #103

Looks like there is some hurdle to compile the FW even if I want to try the latest git instead of the factory FW.

mcuee commented

The above issue #103 has been fixed.

New binary can be downloaded here:
https://github.com/arduino/ArduinoCore-megaavr/suites/7956541379/artifacts/339906755

mcuee commented

The following PR from avrdude seems to be able to work around the firmware issue in terminal mode. Normal mode may be fixed using similar method as well.

I will close this one.