Witam,
Usiłuję rozpocząć 'przygodę' z układami Xmega, i chyba utknąłem na kwestii wsparcia przez program avrdude. Oczywiście odpowiednie wpisy w configu umieściłem, oto wycinek:
Efekt jest taki że potrafię poprawie zweryfikować swój fizyczny układ:
Natomiast próba wgrania prostego programu kończy się pewnym niepowodzeniem:
Zmierzam do zapytania o istotę generowania sekcji dla poszczególnych układów w pliku avrdude. Są tam różne adresy. Ja moją sekcję znalazłem gdzieś w internecie ale nie jestem pewien czy jest wolna od błędów. Chciałbym sięwas zapytać, skąd brać informacje o adresach tych wszystkich sekcji które są w configu avrdude ? Mógłbym wtedy zweryfikować czy to co mam jest poprawne czy nie.
Z góry dziękuję i pozdrawiam
Usiłuję rozpocząć 'przygodę' z układami Xmega, i chyba utknąłem na kwestii wsparcia przez program avrdude. Oczywiście odpowiednie wpisy w configu umieściłem, oto wycinek:
#------------------------------------------------------------
# ATXMEGA32D4
#------------------------------------------------------------
part
id = "x32d4";
desc = "ATxmega32D4";
signature = 0x1e 0x95 0x42;
has_jtag = yes;
has_pdi = yes;
nvm_base = 0x01c0;
memory "eeprom"
size = 0x0400;
offset = 0x08c0000;
page_size = 0x20;
readsize = 0x100;
;
memory "application"
size = 0x00008000;
offset = 0x0800000;
page_size = 0x200;
readsize = 0x100;
;
memory "apptable"
size = 0x00001000;
offset = 0x00807000;
page_size = 0x200;
readsize = 0x100;
;
memory "boot"
size = 0x00001000;
offset = 0x00808000;
page_size = 0x200;
readsize = 0x100;
;
memory "flash"
size = 0x00009000;
offset = 0x0800000;
page_size = 0x200;
readsize = 0x100;
;
memory "prodsig"
size = 0x200;
offset = 0x8e0200;
page_size = 0x200;
readsize = 0x100;
;
memory "usersig"
size = 0x200;
offset = 0x8e0400;
page_size = 0x200;
readsize = 0x100;
;
memory "signature"
size = 3;
offset = 0x1000090;
;
memory "fuse0"
size = 1;
offset = 0x8f0021;
;
memory "fuse1"
size = 1;
offset = 0x8f0021;
;
memory "fuse2"
size = 1;
offset = 0x8f0022;
;
memory "fuse4"
size = 1;
offset = 0x8f0024;
;
memory "fuse5"
size = 1;
offset = 0x8f0025;
;
memory "lock"
size = 1;
offset = 0x8f0027;
;
memory "data"
offset = 0x1000000;
;
;
Efekt jest taki że potrafię poprawie zweryfikować swój fizyczny układ:
C:\Documents and Settings\Tomek>avrdude -p x32d4 -cavrisp2 -Pusb -V
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.03s
avrdude: Device signature = 0x1e9542
avrdude done. Thank you.
C:\Documents and Settings\Tomek>
Natomiast próba wgrania prostego programu kończy się pewnym niepowodzeniem:
C:\Documents and Settings\Tomek>avrdude -p x32d4 -cavrisp2 -Pusb -U flash:w:"C:\
Documents and Settings\Tomek\workspace\xmega_master\Release\xmega_master.hex":i
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.03s
avrdude: Device signature = 0x1e9542
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: reading input file "C:\Documents and Settings\Tomek\workspace\xmega_mas
ter\Release\xmega_master.hex"
avrdude: writing flash (456 bytes):
Writing | ################################################## | 100% 0.05s
avrdude: 456 bytes of flash written
avrdude: verifying flash memory against C:\Documents and Settings\Tomek\workspac
e\xmega_master\Release\xmega_master.hex:
avrdude: load data flash data from input file C:\Documents and Settings\Tomek\wo
rkspace\xmega_master\Release\xmega_master.hex:
avrdude: input file C:\Documents and Settings\Tomek\workspace\xmega_master\Relea
se\xmega_master.hex contains 456 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.06s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x0c != 0xff
avrdude: verification error; content mismatch
avrdude done. Thank you.
Zmierzam do zapytania o istotę generowania sekcji dla poszczególnych układów w pliku avrdude. Są tam różne adresy. Ja moją sekcję znalazłem gdzieś w internecie ale nie jestem pewien czy jest wolna od błędów. Chciałbym sięwas zapytać, skąd brać informacje o adresach tych wszystkich sekcji które są w configu avrdude ? Mógłbym wtedy zweryfikować czy to co mam jest poprawne czy nie.
Z góry dziękuję i pozdrawiam