www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bootloaderfrage


Autor: Oz zy (ozzy)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Oz zy (ozzy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

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

Und noch eine Frage: kann man das Board dann mit JTAG wieder so einfach 
umprogrammieren? Oder braucht es dafür SPI???


MfG, Ozzy

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hein, wenn niemand den JTAG per Fuses abgeschaltet hat
ist der JTAG normalerweise dafür da um zu programmieren oder zu 
debuggen.

Gruß Sven

Autor: Oz zy (ozzy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, wobei ich natürlich ISP statt SPI meinte...

Aber was ich mich immer noch frage: was passiert mit den Tabllen? Oder 
doch einfach mal ausprobieren???

MfG, Ozzy

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Tabellen legt man sinnvollerweise an das Ende des Programms, nicht 
an das Ende des Speichers! Der Bootloader liegt an festen, dafür 
vorgesehenen Bereichen im Flash (siehe Datenblatt), wo die Tabellen eben 
nicht liegen sollen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: coldtobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.