Hallo, ich möchte den LPC1347 mit der CoIDE programmieren. Nun bietet diese leider noch keine Unterstützung für den IC. Die verschiedenen Controller werden in CooCox ja mit XML Files beschrieben, wo das Linker script und die RAM/ROM Grössen und Startadressen angegeben werden. Nun meine Frage: Reicht es, wenn ich ein bestehendes XML file (z.b. das vom LPC1343) kopiere, und die entsprechenden ROM und RAM Parameter anpasse? Als Linker-Script benützt das file vom LPC1343 sowieso schon ein LPC11XX file. Oder geht da was schief? Grüsse Piet
Das sollte eigentlich ausreichen, da ja auch bei den Chips keine größeren Unterschiede herrschen.
Würde mich auch interessieren wie das geht. Z.B. für die Stellaris- bzw. TivaC-Controller von TI. CooCox unterstützt nur LM3S...
Also ich kann da nur aus meinen Erfahrungen und auf der Basis von meinen Vermutungen antworten. CooCox an sich ist grundsätzlich eine ganz normale IDE, die jedoch mehrere Details verbirgt. Daher kann man gleiche MCUs noch sehr leicht neu einbinden, solange sich die Header und die anderen Dateien nicht ändern. Jedoch kann man auch komplett andere MCUs nehmen, solange man die zusätzlichen Dateien per Hand ein pflegt und die Parameter für Linker per Hand anpasst. Es muss natürlich der MCU Kern passen ;) Beim Debuggen hängt es dann aber natürlich von den verwendeten Debugger ab.
Klingt dann ja doch etwas kompliziert vor allem als Einsteiger...
Als Einsteiger sollte man wirklich bei den angebotenen MCUs bleiben oder MCUs nehmen, die sich in der bezeichnenden Nummer nur minimal unterscheiden.
Bezüglich dem LPC1347 wird das wohl doch nicht so einfach, und zwar wegen dem Flash Loader: der ähnlichste IC (LPC1343) hat nur 32 kB Flash, während der LPC1347 64 kB Flash besitzt. Ich könnte einen flash laoder der LPC12XX Serie nehmen, der 64 kB hat. Was steht denn üblicherweise so im Flash Loader code? Was kann schief gehen, wenn man den falschen verwendet? Grüsse Piet
Es müsste einen Tab geben, wo du die Flashgröße einstellst. Auf einen Anderen Mikrocontroller würde ich daher erstmal nicht ausweichen. Ich werde das gerne auch noch einmal prüfen, jedoch ist es bei mir gerade halb zwei Ortszeit und ich bin morgen auch den Tag über unterwegs. Daher kann ich höchstens in zwei Tagen für dich hilfreich sein. Versuch daher lieber noch einmal den Tab mit der Flashgröße zu finden und diese zu verändern. Das sollte der sicherste Weg sein.
Piet schrieb: > Bezüglich dem LPC1347 wird das wohl doch nicht so einfach, und zwar > wegen dem Flash Loader: der ähnlichste IC (LPC1343) hat nur 32 kB Flash, > während der LPC1347 64 kB Flash besitzt. > > Ich könnte einen flash laoder der LPC12XX Serie nehmen, der 64 kB hat. Also du solltest folgendes machen: Wähle als Grundhardware den LPC1343 aus, der nur 32 kB Flash hat. Dieser verknüpft dein Projekt dann mit den passenden Ressourcen, die du benötigen wirst (und auch mit den passenden Einstellungen). Danach klickst du in der oberen Leiste auf das Zahnrad für "Configuration". Dann öffnet sich ein neuer Tab in der Auswahl. In diesen Tab kannst du wieder weitere Tabs auswählen und einer davon ist der "Link" Tab. Diesen "Link" Tab wählst du aus. In diesen Tab trägst du dann unter der IROM1 (oder IROM2) Area die neue, größere Speichergröße ein. Fertig ist die Laube! Da steckt keine Magie hinter. Jedoch richtest du keinen Schaden damit an. Wenn du die LPC12XX Serie nimmst, so programmierst du für einen falschen CPU-Type (Cortex M0). Daher rate ich dir ab ein Projekt auf der Basis eines LPC12XX (Cortex M0) für einen LPC13XX (Cortex M3) aufzusetzen. Die Systeme haben unterschiedliche Kerne und auch einen unterschiedlichen Befehlssatz (einmal ARM/Thumb und Thumb/Thumb2).
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.