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
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.)
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.