Hallo zusammen,
ich bin noch recht unerfahren in dieser Thematik, verzeiht mir wenn ich
hier gleich mit dem ersten Post mit einer Frage reinplatze.
Ich bin momentan dabei, einen Windows basierten Firmware Updater auf Mac
OS X zu portieren.
Das Original verwendet AVROSP.exe zum Flashen, was auch problemlos
funktioniert.
Da dieses Tool aber leider nie auf andere Systeme portiert wurde, möchte
ich auf avrdude zurückgreifen, was ja an sich kein Problem sein
sollte(?).
Ich versuche nun aber schon seit einigen Tagen erfolglos, die .hex Datei
auf das Gerät zu flashen.
Das xml File für avrosp.exe enthält folgende Geräteparameter:
1 | <PROG_FLASH>270336</PROG_FLASH>
|
2 | <EEPROM>4096</EEPROM>
|
3 | <PAGESIZE>512</PAGESIZE>
|
4 | <SIGNATURE><ADDR000>$1E</ADDR000><ADDR001>$98</ADDR001><ADDR002>$42</ADDR002></SIGNATURE>
|
Aufgerufen so:
1 | mode COM5 Data=8 Parity=n Baud=38400 DTR=OFF RTS=OFF
|
2 | AVROSP -dATxmega256A3 -e -if"updatefile.hex" -pf
|
avdrude zeigt mit -v exakt dieselben Werte an.
Die Signatur stimmt auch überein.
1 | ./avrdude -p x256a3 -C ./avrdude.conf -c avr911 -P /dev/cu.usbserial-A504ZISZ -b 38400 -U flash:w:updatefile.hex -e -v
|
1 | Connecting to programmer: .
|
2 | Found programmer: Id = "AVRBOOT"; type = S
|
3 | Software Version = 1.7; No Hardware Version given.
|
4 | Programmer supports auto addr increment.
|
5 | Programmer supports buffered memory access with buffersize=128 bytes.
|
6 |
|
7 | Programmer supports the following devices:
|
8 | Device code: 0xfa
|
9 |
|
10 | avrdude: devcode selected: 0xfffffffa
|
11 | avrdude: AVR device initialized and ready to accept instructions
|
12 |
|
13 | Reading | ################################################## | 100% 0.01s
|
14 |
|
15 | avrdude: Device signature = 0x1e9842 (probably x256a3u)
|
16 | avrdude: erasing chip
|
17 | avrdude: reading input file "updatefile.hex"
|
18 | avrdude: input file updatefile.hex auto detected as Intel Hex
|
19 | avrdude: writing flash (142442 bytes):
|
20 |
|
21 | Writing | ################################################## | 100% 57.92s
|
22 |
|
23 | avrdude: 142442 bytes of flash written
|
Verify schlägt fehl beim ersten Byte (tut es aber auch mit avrosp.exe;
Auslesen ist wohl nicht vorgesehen).
Nach dem Flashen startet nun das Gerät nicht mehr.
Erneutes Aufspielen mit avrosp.exe funktioniet, und anschließend startet
das Gerät auch wieder ganz normal.
Ich bin momentan mit meinem Latein am Ende, 4 Tage Trial & Error.
Angeschlossen ist das Gerät über ein separates WiFi Modul (ohne dieses
ist kein Firmware Update möglich); dies ist über USB angeschlossen
(FT232R).
//Nachtrag:
Interessant ist auch, dass das erfolgreiche Flashen mit avrosp.exe fast
6 Minuten dauert, avrdude aber nach 59 Sekunden damit durch ist.
Hat jemand eine Idee, was ich noch probieren kann?