Bootloaderfrage

OP #861455
Lesenswert?

Moin,

   wir haben gerade ein Projekt mit einem ATMega128. Dafür nutzen wir 
ein Ethernutboard mit JTAG-Schnittstelle 
(http://www.ethernut.de/en/hardware/enut2/index.html). Da das Board 
teilweise eingebaut ist, würden wir es gerne über Bluetooth, also über 
die serielle Schnittstelle programmieren. Wobei eben nicht nur über die 
eine, sondern, wenn das Board ausgebaut ist, über Kabel über die 2te 
serielle Schnittstelle. Gibt es überhaupt einen Bootloader, der über 
beide UARTS programmiert werden kann?
Erschwerend hinzu kommt, dass wir Tabellen am Ende des Programmspeichers 
liegen haben. Liegt da nicht immer der Bootloader? Wie verhält sich das 
dann? Oder liegt der im Flash? Denn wir benutzen avrx, und brauchen den 
Flash für den Stack...

MfG, Ozzy
(Firma: TravelRec.) Persönliche Seite #861465
Lesenswert?

>Gibt es überhaupt einen Bootloader, der über
>beide UARTS programmiert werden kann?

Ja, wenn Du ihn Dir selbst schreibst.

>dass wir Tabellen am Ende des Programmspeichers
>liegen haben. Liegt da nicht immer der Bootloader?

Der Programmspeicher heißt in dem Fall Flash und am oberen Ende liegt 
der Bootloader, ja.

>Denn wir benutzen avrx, und brauchen den
>Flash für den Stack...

Das mag ich bezweifeln. Stack liegt im SRAM und nirgendwo sonst.
Gast #861565
Lesenswert?

So, ich wusste doch da war doch was.
Auf der ersten Seite etwas weiter unten:

ISP no longer provided, programming is done via JTAG only. Unfortunately 
Atmel's JTAG and ISP connectors use the same physical dimensions. Make 
sure to use JTAG programmers with Ethernut 2.1. Plugging in an ISP 
adapter will blow the on-board fuse.

Damit erübrigt sich auch die Frage, ob Du da mit einem "normalen" (oder 
alten) ISP Dongle drangehen darfst.

Also bitte nur JTAG.


Gruß Sven
#861590
Lesenswert?

Christoph O. wrote:
> ok, da habe ich mich vertan mit mit Stack. Aber kommen sich dann
> Tabellen und Bootloader nicht in die Quere???

Nein.

Die konstanten Daten liegen am Ende Deines Programms, nicht am Ende des 
Flashs.

Z.B. auf nem ATMega128 hast Du vielleicht 16kB Dein Programm mit Daten, 
dann etwa 111kB frei und das letzte 1kB ist dann der Bootloader.


Peter
Gast #861621
Lesenswert?

Lass doch die Tabellen doch einfach durch den C-Compiler arrangieren... 
Oder müssen die "erhalten" bleiben, über einen SW-Update?
(In diesem Fall noch ein Hinweis: Nur der Bootloader (Genauer: Code im 
Bootloaderbereich) kann den Flash beschreiben. Bin da mal selber 
reingefallen. Der AVR-Simulator im STudio macht das im übrigen anders 
als das Silizium)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren