Hallo Ich hab mich endlich auch mal an das Thema Bootloader rangewagt. Ich meine auch das Pribzip verstanden zu haben. Allerdings ist mir eins noch unklar: Der Bootloaderbereich befindet sich am oberen Ende des Flashs. Wenn ich ganz normal mit Ponyprog flashe wird das Programm ja ab Adresse 0x0000 im Kontroller abgelegt. Eigentlich dachte ich es reicht vor den Flashen die BOOTRST fuse umzulegen. Laut Datenblatt ist das aber nur für den Resetvektor zuständig. Wie muß ich also vorgehen ?? Ach ja ... Ich arbeite mit WinAVR unter AVR Studio 4.12 Built 498 Danke im Vorraus ... Gerhard
Welchen Bootloader benutzt du? Ich nehme den aus der Codesammlung von PeDa für einen Mega16 Zunächst mal musst du wissen, wie gross der Bootlaoder ist. Es gibt da ja mehrere Einsprungspunkte die per Fuse eingestellt werden. > Wenn ich ganz normal mit Ponyprog flashe wird das Programm ja > ab Adresse 0x0000 im Kontroller abgelegt. Da macht aber nichts. Das Hex-File von zumindest dem PeDa Bootloader ist schon so hergerichtet, dass man es einfach in den Controller flasht und alles kommt an die richtige Stelle. Ich machs so: Bootloader flashen. Dann die Fuse-Bits umstellen (Länge und damit auch den Einsprungspunkt) fertig. Ab an die Serielle damit und schauen obs funktioniert. Wenn du dich mit dem Einsprungspunkt verhaust und nichts geht mehr: kein Problem. Kommt der Prozessor halt wieder ans Pony und nachschauen wo das Problem liegt. Aussperren kannst du dich auf die Art nicht.
>Welchen Bootloader benutzt du? >Ich nehme den aus der Codesammlung von PeDa für einen Mega16 Ich mach einen eigenen ... schleißlich will ich auch was dazu lernen :-) >Zunächst mal musst du wissen, wie gross der Bootlaoder >ist. Es gibt da ja mehrere Einsprungspunkte die per Fuse >eingestellt werden. Du meinst sicher die Größe des Bootbereichs (BOOTSZ0 und BOOTSZ1)? Ja, die Fuses habe ich im Moment auf größt möglichen Booloader eingestellt. Vielleicht sollte ich noch dazu schreiben, dass ich mit einem ATMega8535 arbeite. >fertig. Ab an die Serielle damit und schauen obs funktioniert. Nix seriell ... das soll per USB laufen. Habe ich das jetzt richtig verstanden? Ich muß dem Linker die Zieladresse für den Bootbereich mitteilen? Wenn ja, wie mach ich das in der Entwicklungsumgebung in AVR4 und GCC? In den Einstellungen hab ich nix gefunden woi man die Linkadresse angeben könnte ???
> Wenn ja, wie mach ich das in > der Entwicklungsumgebung in AVR4 und GCC? Ich denke nicht, dass dir da AVR4 weiterhelfen wird. Das ist schon ein sehr spezielles Thema. -> Externes Makefile. Aber: Warum holst du dir nicht aus der Codesammlung den PeDa Bootloader und studierst dort mal das Makefile. Da steht alles drin, was du wissen und einstellen mußt.
Sorry, das Projekt von Peter Danneger hilft mir nicht wirklich weiter ... Irgendwie muß man dem AVR Studio doch sagen können an welche Adresse gelinkt werden soll ???
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.