Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ATxmega16a4u - Błąd zapisu flasha przez LUFA AVRISP mkII

27 Wrz 2014 17:25 1191 1
  • Poziom 8  
    Witam,
    Jakieś 3 miesiące temu abudowałem programator AVRISP mkII na bazie wsadu LUFA i tego schematu. Wtedy użyłem go do zaprogramowania jakiejś ATmegi (z powodzeniem). Wczoraj chciałem zaprogramować uC ATxmega16a4u używając avrdude (na Linuxie z domyślną konfiguracją) i Atmel Studio 6, ale abydwa zachowywały się podobnie: mogłem odczytać sygnaturę urządzenia, wszelkiego rodzaju pamięci, fuse i lock bity, ale nie mogłem wyknać chip erase i go prawidłowo zaprogramować. Wyjście avrdude:

    Code:
    /usr/local/bin/avrdude -c avrispmkII -p x16a4 -vvv -U flash:w:xmega16a4u.output.test.hex
    

    avrdude: Version 6.1, compiled on Sep 26 2014 at 23:47:35
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2014 Joerg Wunsch

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

             Using Port                    : usb
             Using Programmer              : avrispmkII
    avrdude: usbdev_open(): Found AVRISP mkII, serno: 000200212345
    avrdude: stk500v2_getsync(): found AVRISP mkII programmer
             AVR Part                      : ATxmega16A4
             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
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               prodsig        0     0     0    0 no         50   50      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom         0     0     0    0 no       1024   32      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               application    0     0     0    0 no      16384  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               apptable       0     0     0    0 no       4096  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               boot           0     0     0    0 no       4096  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               flash          0     0     0    0 no      20480  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               usersig        0     0     0    0 no        256  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00

             Programmer Type : STK500V2
             Description     : Atmel AVR ISP mkII
             Programmer Model: AVRISP mkII
             Hardware Version: 0
             Firmware Version Master : 1.23
             Vtarget         : 3.3 V
             SCK period      : 1.00 us

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.00s

    avrdude: Device signature = 0x1e9441
    avrdude: NOTE: Programmer supports page erase for Xmega devices.
             Each page will be erased before programming it, but no chip erase is performed.
             To disable page erases, specify the -D option; for a chip-erase, use the -e option.
    avrdude: reading input file "xmega16a4u.output.test.hex"
    avrdude: input file xmega16a4u.output.test.hex auto detected as Intel Hex
    avrdude: writing flash (652 bytes):

    Writing |                                                    | 0% 0.00savrdude: stk500v2_command(): error in CMD_XPROG: Timeout
    avrdude: stk600_xprog_page_erase(): XPRG_CMD_ERASE(5) failed
    Writing | ################################################## | 100% 1.79s

    avrdude: 652 bytes of flash written
    avrdude: verifying flash memory against xmega16a4u.output.test.hex:
    avrdude: load data flash data from input file xmega16a4u.output.test.hex:
    avrdude: input file xmega16a4u.output.test.hex auto detected as Intel Hex
    avrdude: input file xmega16a4u.output.test.hex contains 1486 bytes
    avrdude: reading on-chip flash data:

    Reading |                                                    | 0% 0.00savrdude: stk500v2_command(): error in CMD_XPROG: Timeout
    avrdude: stk600_xprog_paged_load(): XPRG_CMD_READ_MEM failed
    Reading | ########                                           | 16% 0.99savrdude: stk500v2_command(): error in CMD_XPROG: Timeout
    avrdude: stk600_xprog_read_byte(): XPRG_CMD_READ_MEM failed
    avr_read(): error reading address 0x0000
        read operation not supported for memory "flash"
    avrdude: failed to read all of flash memory, rc=-2

    avrdude done.  Thank you.


    Z flagą chip erase:

    Code:
    /usr/local/bin/avrdude -c avrispmkII -p x16a4 -vvv -U flash:w:xmega16a4u.output.test.hex -e
    

    avrdude: Version 6.1, compiled on Sep 26 2014 at 23:47:35
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2014 Joerg Wunsch

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

             Using Port                    : usb
             Using Programmer              : avrispmkII
    avrdude: usbdev_open(): Found AVRISP mkII, serno: 000200212345
    avrdude: stk500v2_getsync(): found AVRISP mkII programmer
             AVR Part                      : ATxmega16A4
             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
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               prodsig        0     0     0    0 no         50   50      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse1          0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse2          0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse4          0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse5          0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               lock           0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               data           0     0     0    0 no          0    0      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               eeprom         0     0     0    0 no       1024   32      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               application    0     0     0    0 no      16384  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               apptable       0     0     0    0 no       4096  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               boot           0     0     0    0 no       4096  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               flash          0     0     0    0 no      20480  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               usersig        0     0     0    0 no        256  256      0     0     0 0x00 0x00
                                      Block Poll               Page                       Polled
               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
               fuse0          0     0     0    0 no          1    0      0     0     0 0x00 0x00

             Programmer Type : STK500V2
             Description     : Atmel AVR ISP mkII
             Programmer Model: AVRISP mkII
             Hardware Version: 0
             Firmware Version Master : 1.23
             Vtarget         : 3.3 V
             SCK period      : 1.00 us

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.00s

    avrdude: Device signature = 0x1e9441
    avrdude: erasing chip
    avrdude: stk500v2_command(): error in CMD_XPROG: Timeout
    avrdude: stk600_xprog_chip_erase(): XPRG_CMD_ERASE(XPRG_ERASE_CHIP) failed

    avrdude done.  Thank you.


    Niespodziewanie podczas pisania tego postu udało się raz go zaprogramować bez błędu (niestety nie miałem aktywnego vebose w avrdude):

    Code:
    avrdude -c avrispmkII -p x16a4u -U flash:w:xmega16a4u.output.test.hex
    

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.00s

    avrdude: Device signature = 0x1e9441
    avrdude: NOTE: Programmer supports page erase for Xmega devices.
             Each page will be erased before programming it, but no chip erase is performed.
             To disable page erases, specify the -D option; for a chip-erase, use the -e option.
    avrdude: reading input file "xmega16a4u.output.test.hex"
    avrdude: input file xmega16a4u.output.test.hex auto detected as Intel Hex
    avrdude: writing flash (652 bytes):

    Writing | ################################################## | 100% 0.03s

    avrdude: 652 bytes of flash written
    avrdude: verifying flash memory against xmega16a4u.output.test.hex:
    avrdude: load data flash data from input file xmega16a4u.output.test.hex:
    avrdude: input file xmega16a4u.output.test.hex auto detected as Intel Hex
    avrdude: input file xmega16a4u.output.test.hex contains 652 bytes
    avrdude: reading on-chip flash data:

    Reading | ################################################## | 100% 0.01s

    avrdude: verifying ...
    avrdude: 652 bytes of flash verified

    avrdude done.  Thank you.


    Jak wykonałem to polecenie jeszcze raz, pokazywały się te same błędy co poprzednio.
  • Poziom 10  
    u mnie jest ok ale musiałem przekompilować avrdude z poprawkami
    Kod: bash
    Zaloguj się, aby zobaczyć kod

    w załączniku avrdude 6.2 skompilowana z poprawkami.