Hallo, Ich steige gerade in Arm ein und habe mir eine Umgebug aus Eclipse, Yagarto und Jlink Edu zusammengebastelt. Das Target ist ein lpc11c24 board. Für ein einfaches Blinky Pogramm musste ich mir linker files und startup.s aus lpcopen-make zusammensuchen. Von Nxp selber war da nichts zu finden, ausser in dem lpcopen paket was aber recht generisch aussah und vermutlich noch an mein uC angepasst werden müsste. Ist das normal in der Arm Welt oder nur bei Nxp so ? 2. frage: Mein Blinky Programm verwendet den Systick Interrupt. Solange ich mit dem Jlink debugge werden aber keine Interrupts ausgelöst, obwohl das Programm läuft (schleife zählt variable hoch, lässt sich mit dem debugger prima checken) Starte ich den uC ohne debugger fängt die led an super zu blinken. Weis jemand woran das liegen könnte? Danke mike
mike schrieb: > Das Target ist ein lpc11c24 board. 1) Open source: http://www.microbuilder.eu/Projects/LPC1114ReferenceDesign/LPC1114CodeBase.aspx 2) Freeware: "offiziellen" NXP Compiler runterladen, installieren, LPC11Cxx Demos und CMSIS kopieren, wieder deinstallieren http://lpcxpresso.code-red-tech.com/LPCXpresso/ 3) Kommerziell: IAR Compiler runterladen, installieren, LPC11Cxx Demos und CMSIS kopieren, wieder deinstallieren http://supp.iar.com/Download/SW/?item=EWARM-EVAL 4) Demo-Code von anderen Boards: https://www.olimex.com/Products/ARM/NXP/LPC-P11C24/
mike schrieb: > musste ich mir linker files und > startup.s aus lpcopen-make zusammensuchen. mike schrieb: > Ist das normal in der Arm Welt oder nur bei Nxp so ? Nee, das ist nur dann so, wenn du nen GCC benutzt. Mit dem "Keil" hast du all diese Probleme nicht - und angesichts der Tatsache, daß dein Prozessor sowieso nur 32 K an Flash hat, kann ich dir nur raten, deine ganze Eclipse/Yagarto-Installation erstmal auf der Festplatte schlummern zu lassen und dir vom Keil ne Demoversion zu installieren. Mach damit den Anfang und wenn du tatsächlich irgendwann mal was Größeres als 32 K Code basteln willst, dann krame deine GCC-Installation wieder hervor. Dann hast du wenigstens (hoffentlich) soviel Grunderfahrung gesammelt, daß du auch damit wohl klarkommen wirst. Ansonsten zum Startup und so: Sieh dir am Anfang erstmal ein paar Startupcodes von verschiedenen Leuten an und schreib dir dann deinen eigenen Startupcode und auch deine eigenen Konfigurationsroutinen. Ach ja, viele GCC-Benutzer kopieren sich irgendwelche verknöselten Linkerscripts von von einem Projekt zum nächsten. Das ist eigentlich unnötig, da der GCC-Linker bereits über einen Satz derartiger Scripts verfügt. Man muß bloß obachtgeben, daß man den richtigen Bereich für den Code im Startup angibt (ich glaub. das war sowas wie .SECTION ....) W.S.
Danke Euch! Werde mir Eure Tips und Hinweise jetzt mal zu Gemüte führen. Gruß mike
W.S. schrieb: > da der GCC-Linker bereits über einen Satz derartiger Scripts > verfügt. Ich weiß nicht welchen GCC du verwendest, aber der populäre GCC-ARM-Embedded sowie der GCC aus der Atollic IDE haben nur ein paar "dummy"/Beispiel-Linkerscripte dabei. Man braucht aber für jeden einzelnen STM32, jeden einzelnen LPC, jeden einzelnen Atmel SAM, etc. ein bestimmtes Linkerscript, das kann man sich höchstens daraus zusammenbasteln. W.S. schrieb: > viele GCC-Benutzer kopieren sich irgendwelche verknöselten > Linkerscripts von von einem Projekt zum nächsten Wenn man keine Lust hat die ulkige linkerscript-"Sprache" zu lernen... W.S. schrieb: > und wenn du tatsächlich irgendwann mal was > Größeres als 32 K Code basteln willst, ... oder was modernes, wie C++11, verwenden willst (was Keil nicht kann) W.S. schrieb: > schreib dir dann deinen eigenen Startupcode Eigentlich ist es gar nicht schlecht den generischen "Standard-Startupcode", der die globalen Variablen initialisiert & Konstruktoren aufruft (Was anderes gehört da onehin nicht rein!), zu verwenden, weil man sich dann leichter mit anderen austauschen kann... Wenn er halbwegs geschickt geschrieben ist, wird er automatisch durch das Linkerscript "parametrisiert" und ist somit quasi Controller-unabhängig.
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.