Thomas K. schrieb:
> avrdude: ERROR: address 0x30e010 out of range at line 2 of EvoV_BL.hex
Kann ich mit dem Schnipsel Hexfile nicht reproduzieren:
1 | % avrdude -c jtag2 -P usb -p m2560 -U /tmp/foo.hex
|
2 |
|
3 | avrdude: jtagmkII_initialize(): warning: OCDEN fuse not programmed, single-byte EEPROM updates not possible
|
4 | avrdude: AVR device initialized and ready to accept instructions
|
5 |
|
6 | Reading | ################################################## | 100% 0.01s
|
7 |
|
8 | avrdude: Device signature = 0x1e9801
|
9 | avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
|
10 | To disable this feature, specify the -D option.
|
11 | avrdude: erasing chip
|
12 | avrdude: jtagmkII_initialize(): warning: OCDEN fuse not programmed, single-byte EEPROM updates not possible
|
13 | avrdude: reading input file "/tmp/foo.hex"
|
14 | avrdude: input file /tmp/foo.hex auto detected as Intel Hex
|
15 | avrdude: WARNING: no end of file record found for Intel Hex file "/tmp/foo.hex"
|
16 | avrdude: writing flash (253984 bytes):
|
17 |
|
18 | Writing | ################################################## | 100% 17.14s
|
19 |
|
20 | avrdude: 253984 bytes of flash written
|
21 | avrdude: verifying flash memory against /tmp/foo.hex:
|
22 | avrdude: load data flash data from input file /tmp/foo.hex:
|
23 | avrdude: input file /tmp/foo.hex auto detected as Intel Hex
|
24 | avrdude: WARNING: no end of file record found for Intel Hex file "/tmp/foo.hex"
|
25 | avrdude: input file /tmp/foo.hex contains 253984 bytes
|
26 | avrdude: reading on-chip flash data:
|
27 |
|
28 | Reading | ################################################## | 100% 22.85s
|
29 |
|
30 | avrdude: verifying ...
|
31 | avrdude: 253984 bytes of flash verified
|
32 |
|
33 | avrdude: safemode: Fuses OK
|
34 |
|
35 | avrdude done. Thank you.
|
Mit der SVN-Version gänge alles viel schneller:
1 | % ~/src/avrdude/avrdude -C ~/src/avrdude/avrdude.conf -c jtag2 -P usb -p m2560 -U /tmp/foo.hex
|
2 |
|
3 | avrdude: jtagmkII_initialize(): warning: OCDEN fuse not programmed, single-byte EEPROM updates not possible
|
4 | avrdude: AVR device initialized and ready to accept instructions
|
5 |
|
6 | Reading | ################################################## | 100% 0.01s
|
7 |
|
8 | avrdude: Device signature = 0x1e9801
|
9 | avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
|
10 | To disable this feature, specify the -D option.
|
11 | avrdude: erasing chip
|
12 | avrdude: jtagmkII_initialize(): warning: OCDEN fuse not programmed, single-byte EEPROM updates not possible
|
13 | avrdude: reading input file "/tmp/foo.hex"
|
14 | avrdude: input file /tmp/foo.hex auto detected as Intel Hex
|
15 | avrdude: WARNING: no end of file record found for Intel Hex file "/tmp/foo.hex"
|
16 | avrdude: writing flash (253984 bytes):
|
17 |
|
18 | Writing | ################################################## | 100% 0.03s
|
19 |
|
20 | avrdude: 253984 bytes of flash written
|
21 | avrdude: verifying flash memory against /tmp/foo.hex:
|
22 | avrdude: load data flash data from input file /tmp/foo.hex:
|
23 | avrdude: input file /tmp/foo.hex auto detected as Intel Hex
|
24 | avrdude: WARNING: no end of file record found for Intel Hex file "/tmp/foo.hex"
|
25 | avrdude: input file /tmp/foo.hex contains 253984 bytes
|
26 | avrdude: reading on-chip flash data:
|
27 |
|
28 | Reading | ################################################## | 100% 0.03s
|
29 |
|
30 | avrdude: verifying ...
|
31 | avrdude: 253984 bytes of flash verified
|
32 |
|
33 | avrdude: safemode: Fuses OK
|
34 |
|
35 | avrdude done. Thank you.
|
Wenn du wirklich denkst, dass da was buggy wäre, dann schreib' bitte
einen AVRDUDE-Bugreport und häng die Datei mit an, um die es geht.
Hint: die Adressen im Hexfile kann man sich auch mit objdump ganz gut
ansehen:
1 | % avr-objdump -h /tmp/foo.hex
|
2 |
|
3 | /tmp/foo.hex: file format ihex
|
4 |
|
5 | Sections:
|
6 | Idx Name Size VMA LMA File off Algn
|
7 | 0 .sec1 00000020 0003e000 0003e000 00000010 2**0
|
8 | CONTENTS, ALLOC, LOAD
|