|
 |
 |
 |
|
|
c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
Absender: Thomas Kregelin
Datum: Do, 18.10.2007 22:57:39
In-reply-to:
<2CD3D281-AE62-4FBB-8419-C3EBB7DAFCE9@xxxxxxxxxxxxxxx>
References:
<46F96285.8020005@xxxxxx> <2CD3D281-AE62-4FBB-8419-C3EBB7DAFCE9@xxxxxxxxxxxxxxx>
Hallo Werner.
ich kenne dieses Problem
Mir hat folgendes geholfen:
Suche die Funktion *jump_to_app* in *bootloader.c*
und ersetze diese Funktion durch:
*static void __attribute__ ((always_inline)) jump_to_app(void){
// setze Interrupt Vector Start address auf 0x0002
#ifdef __AVR_ATmega644__
MCUCR = 0x01;
MCUCR = 0x00;
#else
GICR = 0x01;
GICR = 0x00;
#endif
asm("jmp 0x0000"); // Run application code
}*
Mit dieser Modifikation wird sichergestellt, dass der Interruptvektor
auf Adresse 0x0002 gesetzt wird.
Ich vermute, dass es sonst zu einer Endlosschleife kommen kann, in der
sich der Bootloader ständig selbst aufruft.
Timo Sandmann schrieb:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hallo,
Am 25.09.2007 um 21:33 schrieb Mopsos:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hallo,
Mein ct-Bot vergisst anscheinend Daten. Atmega32 ist mit den bootloader
fuses versehen, und Linker-flags sind richtig gesetzt. Ich übertrage
also über den mp3 isp /dev/parport0 die mit #define BOOTLOADER_AVAILABLE
übersetzte .HEX Datei.
/usr/bin/avrdude -p m32 -c stk200 -P /dev/parport0 -e -U
flash:w:${workspace_loc:/${resource_path}}:i
Und darauf die .eep Datei mit:
/usr/bin/avrdude -p m32 -c stk200 -P /dev/parport0 -U
eeprom:w:${workspace_loc:/${resource_path}}:i -u
Dann kann ich wunderbar mit ct-Sim Fernsteuerung mit dem Bot arbeiten.
Schalte ich aber den bot aus, und kurze Zeit später wieder an, bleibt
das Display 2 Balken an, Bot reagiert weder auf ct-Sim noch auf das
installierte Applet. Erst nachdem ich mit bootloader wieder über den ISP
flashe ist der bot wieder erreichbar.
Ich vermute das liegt daran dass der usb2bot Adapter am Bot angesteckt
ist und der Schalter auf "usb2bot" steht. Wenn man dann mit dem Sim
rumwurschtelt und den Bot (bei eingeschaltetem Sim) ausschaltet und
danach wieder einschaltet, der Bootloader Daten vom Sim als neues Image
interpretiert und so mist in den Flash schreibt.
Kann mich da jemand bestätigen oder korrigieren?
dass der Bootloader Daten vom Sim als Start-Code interpretiert (wir
können das Bootloader-Protokoll ja nicht beeinflussen, wenn wir zu
avrdude kompatibel sein wollen) und der Bot nicht bootet kann schon
sein, aber dass er dann das Flash löscht oder neu beschreibt, kann ich
mir eigentlich nicht vorstellen.
Gruß Timo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)
iD8DBQFG+ntvDH/BX4067fIRAnT/AKCUla9utRKvLWVRvvkVpV+H0BlB+wCffs2S
z603qQUezoWkXfK4A/MI6JU=
=5Frr
-----END PGP SIGNATURE-----
_______________________________________________
ct-bot-entwickler Mailingliste
ct-bot-entwickler@xxxxxxxxxxxxxxxxx
http://www.heise.de/bin/newsletter/listinfo/ct-bot-entwickler
|
|
|