Wifi Rev2 Upload Issues (verification error;content mismatch)

Aperta
#89 7 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma

Direzione di ricerca

Inizia con il log avrdude segnalato e i file medbg_updi.hex e .eep di tools/medbg_fw.zip e Xplained Yourself. Riproduci la discrepanza di scrittura e verifica dell’ATmega4809 a 0x0200, quindi determina se il firmware 32u4 o lo stato della EEPROM la spiegano e documenta un percorso di ripristino affidabile.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I am having an issue with uploading sketches/applications that are bigger than around 16KiB to my Arduino Uno Wifi Rev2. I think that the issue is likely related to incorrect mEDBG firmware on the 32u4. I was reprogramming the 32u4 to use it as a HID and then wasn't sure what to reprogram it as to make it work again to program the 4809.

I have tried flashing the 32u4 with medbg_updi.hex from Atmel Studio (tools/medbg_fw.zip) and also firmware provided with Xplained Yourself (https://hackaday.io/project/162372/files), whose UPDI .hex file seems the same as what is provided with Atmel Studio. Currently my 32u4s EEPROM has been programmed with the .eep from Xplained Yourself. The original EEPROM has been erased. I have noted that with only 0s in the EEPROM, no programming of the 4809 works at all.

Below I have included an AVRDUDE log including the error (the intended program never seems to run as no Serial communication is detected after programming):

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/home/logan/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
         User configuration file is "/home/logan/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : xplainedmini_updi
         Overriding Baud Rate          : 115200
avrdude: usbdev_open(): Found mEDBG CMSIS-DAP, serno: XYS by Vidmo UPDI/04
avrdude: usbdev_open(): WARNING: failed to set configuration 1: Device or resource busy
avrdude: max packet size expected 512, but found 64 due to EP 0x81's wMaxPacketSize
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
         AVR Part                      : ATmega4809
         Chip Erase delay              : 0 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 0
         StabDelay                     : 0
         CmdexeDelay                   : 0
         SyncLoops                     : 0
         ByteDelay                     : 0
         PollIndex                     : 0
         PollValue                     : 0x00
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           prodsig        0     0     0    0 no         61   61      0     0     0 0x00 0x00
           fuses          0     0     0    0 no          9    0      0     0     0 0x00 0x00
           fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse6          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse7          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           fuse8          0     0     0    0 no          1    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
           data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
           usersig        0     0     0    0 no         64   64      0     0     0 0x00 0x00
           flash          0     0     0    0 no      49152  128      0     0     0 0x00 0x00
           eeprom         0     0     0    0 no        256   64      0     0     0 0x00 0x00

         Programmer Type : JTAGICE3_UPDI
         Description     : Atmel AVR XplainedMini in UPDI mode
         ICE hardware version: 0
         ICE firmware version: 1.13 (rel. 43)
         Serial number   : XYS by Vidmo UPDI/04
         Vtarget         : 5.00 V
         JTAG clock megaAVR/program: 0 kHz
         JTAG clock megaAVR/debug:   0 kHz
         JTAG clock Xmega: 0 kHz
         PDI clock Xmega : 0 kHz

avrdude: Partial Family_ID returned: "mega"
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x1e9651 (probably m4809)
avrdude: erasing chip
avrdude: reading input file "/tmp/arduino_build_614042/Scan.ino.hex"
avrdude: writing flash (24244 bytes):

Writing | ################################################## | 100% 7.46s

avrdude: 24244 bytes of flash written
avrdude: verifying flash memory against /tmp/arduino_build_614042/Scan.ino.hex:
avrdude: load data flash data from input file /tmp/arduino_build_614042/Scan.ino.hex:
avrdude: input file /tmp/arduino_build_614042/Scan.ino.hex contains 24244 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 6.00s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0200
         0x08 != 0x0c
avrdude: verification error; content mismatch
avrdude: jtag3_edbg_signoff(): unexpected response 0x03, 0x80

avrdude done.  Thank you.

Is there a way to get the original firmware and a typical EEPROM back? I'm not 100% sure that the firmware is the issue but that is really the only thing I changed (via dfu-programmer). I find it odd that I can program small programs but not ones that are larger (mismatch at 0x200)... I almost wonder if somehow the 32u4 is now programming the wrong part of flash in the 4809 or if some fuse may be out of wack...

Any help reseting/fixing my Uno Wifi Rev2 would be appreciated.

Lingua principale
C++
Stelle
112
Fork
66
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di arduino/ArduinoCore-megaavr

Tutte le issue di arduino/ArduinoCore-megaavr

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.