Moin,
Ich habe hier Prototypen neuer Hardware auf dem Tisch, habe Firmware zu
portieren die ich vorher für ein Board mit AtXmega128A3 geschrieben habe
und die nun auf einem AtXmega256A3BU laufen soll. Damit habe ich soweit
kein Problem, aber mich ärgert die Programmiererei..
Ich benutze ein JtagIce MKII mit PDI Adapter und avrdude.
Einer der Prozessoren ließ sich genau 1 Mal löschen und reagiert auf
jeden weitern Versuch von Chip erase mit einem Fehler:
1 | avrdude -p atxmega256a3bu -c jtag2pdi -P usb -e
|
2 |
|
3 | avrdude: AVR device initialized and ready to accept instructions
|
4 |
|
5 | Reading | ################################################## | 100% 0.02s
|
6 |
|
7 | avrdude: Device signature = 0x1e9843
|
8 | avrdude: erasing chip
|
9 | avrdude: jtagmkII_chip_erase(): bad response to chip erase command: RSP_FAILED
|
10 |
|
11 | avrdude done. Thank you.
|
12 |
|
13 | *** Error code 255
|
14 |
|
15 | Stop.
|
mit vielen -v ist nicht viel mehr heraus zu bekommen als das das Löschen
fehl schlägt, ich habe deswegen schon mit Jörg telefoniert dem dazu auch
nicht viel einfiel.
Lustig daran ist das der Chip sich trotzdem programmieren läßt:
1 | $ make -f Makefile.mmc program
|
2 | avrdude -p atxmega256a3bu -c jtag2pdi -P usb -U flash:w:fs4.hex:i
|
3 |
|
4 | avrdude: AVR device initialized and ready to accept instructions
|
5 |
|
6 | Reading | ################################################## | 100% 0.01s
|
7 |
|
8 | avrdude: Device signature = 0x1e9843
|
9 | avrdude: NOTE: Programmer supports page erase for Xmega devices.
|
10 | Each page will be erased before programming it, but no chip erase is performed.
|
11 | To disable page erases, specify the -D option; for a chip-erase, use the -e option.
|
12 | avrdude: reading input file "fs4.hex"
|
13 | avrdude: writing flash (28186 bytes):
|
14 |
|
15 | Writing | ################################################## | 100% 6.27s
|
16 |
|
17 | avrdude: 28186 bytes of flash written
|
18 | avrdude: verifying flash memory against fs4.hex:
|
19 | avrdude: load data flash data from input file fs4.hex:
|
20 | avrdude: input file fs4.hex contains 28186 bytes
|
21 | avrdude: reading on-chip flash data:
|
22 |
|
23 | Reading | ################################################## | 100% 1.39s
|
24 |
|
25 | avrdude: verifying ...
|
26 | avrdude: 28186 bytes of flash verified
|
27 |
|
28 | avrdude done. Thank you.
|
29 |
|
30 | $
|
..und avrdude wohl jeweils die einzelnen Memory Blöcke implizit vor dem
Programmieren löscht und dazu der selbe Befehl wie beim Chiperase, aber
mit anderen Parametern benutzt wird.
Ich habe vorgestern dann eine andere Platine genommen und mit der weiter
gemacht. Gestern Nachmittag fing aber der neue Chip auch an zu stänkern
und wollte manchmal erst nach dem 3. Versuch löschen..
Ist das hier schon mal Jemandem begegnet?
Gruß,
Holm