mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Luminary LM3S8962 Start-Up-Code und Linker-Skript


Autor: Sebastian H. (rs2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich besitze das Luminary Micro LM3S8962 Eva-Board und würde es gern mit 
Eclipse + CDT Plugin sowie der Sourcery G++ Lite Tool-Chain 
programmieren.

Ich bin noch etwas unbeholfen und habe daher ein paar grundlegende 
Fragen:

Benötige ich zwingend ein Linker-Skript-File, oder sind die Sourcery G++ 
Lite Standardlinkereinstellungen für das LM3S8962 ausreichend?

Benötige ich Start-Up-Code bzw. einen Bootstraploader um lauffähige 
Programme auf den Controller zu laden?
Bei Luminary Micro steht:

All Stellaris microcontrollers ship with a royalty-free serial flash 
loader application pre-programmed into flash. The serial flash loader is 
a small application that allows programming of the flash without the 
need for a debugger interface or production programmer.

Bedeutet dies unteranderem, dass ich generierten Maschinen-Code z.B. mit 
dem LMFlashProgrammer ohne Startup-Code auf dem Controller zum Laufen 
bekomme?

(Kann es momentan nicht einfach testen, da ich das Eva-Board nicht 
griffbereit habe.)

Schonmal danke für eure Antworten!

Sebastian

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian H. schrieb:
> Hallo,
>
> ich besitze das Luminary Micro LM3S8962 Eva-Board und würde es gern mit
> Eclipse + CDT Plugin sowie der Sourcery G++ Lite Tool-Chain
> programmieren.
>
> Ich bin noch etwas unbeholfen und habe daher ein paar grundlegende
> Fragen:
>
> Benötige ich zwingend ein Linker-Skript-File, oder sind die Sourcery G++
> Lite Standardlinkereinstellungen für das LM3S8962 ausreichend?

Hmm, widersprüchliche Frage, ein Linker-Skript wird immer benötigt. 
Standardeinstellung heisst, dass ein bestimmtes Linkerscript aus dem 
gcc-Installationspfad genutzt wird. Welches genau kommt auf die 
multilib-Einstellungen und Linkeroptionen an. Selbst bisher immer 
"eigene" Linkerscripte genutzt.

Da selbst LMI in der DriverLib ein (sehr minimales) Linkerscript beilegt 
(gcc/standalone.ld), sollte man zumindest für die ersten Schritte auch 
dieses nutzen. Es ist nicht mehr als die Angabe das Dateinames in Option 
-T beim Linken.

> Benötige ich Start-Up-Code bzw. einen Bootstraploader um lauffähige
> Programme auf den Controller zu laden?

Durcheinander. Also um ein Programm "zu laden" benötigt man einen Weg 
den Maschinencode in einen Speicher (Flash oder RAM) des Controllers zu 
laden. Unter startup-code versteht man üblicherweise die Anweisungen, 
die vor dem Sprung zu main() abgearbeitet werden. Das hat erstmal nichts 
mit "laden" zu tun.

> Bei Luminary Micro steht:
>
> All Stellaris microcontrollers ship with a royalty-free serial flash
> loader application pre-programmed into flash. The serial flash loader is
> a small application that allows programming of the flash without the
> need for a debugger interface or production programmer.
>
> Bedeutet dies unteranderem, dass ich generierten Maschinen-Code z.B. mit
> dem LMFlashProgrammer ohne Startup-Code auf dem Controller zum Laufen
> bekomme?

Nicht ausprobiert aber eher nicht. Selbst wenn, der Bootloader läuft nur 
"auf Anfrage". Man tut also gut daran, in eigenen Programm Startup-Code 
einzubauen. Auch hierfür findet man vorgekauten Code in der DriverLib 
(gcc/startup.c). Dieser enthält alles notwendige 
(exceptions-vector-table, data init, bss clear, Aufruf von main()). 
(Angaben beziehen sich auf eine relativ alte Version der DriverLib von 
Mitte 2008, Pfade/Dateinamen in aktuellen mglw. anders.)

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.