Hallo, da ich noch ein Dev Board vom LPC 2368 hier habe mit einem schönen Display wollte ich dieses auch nutzen. Leider ist der ARM7TDMI schon lange obsolet und wird auch von EmBLocks nicht mehr per Wizzard unterstützt. Und meine alte Rowley Crossworks Kaufversion habe ich nicht mehr. Der TDMI basiert auf dem Armv5 Modell. Ist es bei emblocks möglich eine eigene CPU zu definieren? Die IDE nimmt ja im Wesentlichen die Einstellung der Compiler Flags in allen möglichen Klicki Feldern vor. Es müsste ja nur der Startup angepasst werden und das Linker Script? Hat da mal einer was gemacht? Vielleicht auch in Eclipse?
Bin jetzt kein ganz großer Kenner, aber sollte das alternativ nicht wenigstens mit WinARM gehen? http://siwawi.bauing.uni-kl.de/avr_projects/arm_projects/#winarm Obwohl, LPC2000 mit emBlocks wär' schon was...
Sebastian schrieb: > Obwohl, LPC2000 mit emBlocks wär' schon was.. So wie ich das sehe braucht man dafür nur ein passendes Linker Script (erzeugte Rowley selbst aus der Memory Map.xml), eine Anpassung der Device Eigenschaften und zum debuggen braucht es eine svd Datei, was schon schwieriger wird. Die Rowley IDE war ja purer Luxus, Symbol Navigator, Memory Anzeige usw usw. Dagegen ist Emblocks ja echt leer und CooCox Kinderkram. Diese IDE braucht man ja eigentlich nur zum Debuggen wegen des bequemen Handlings. Ansonsten verpacken die doch nur die ganzen Parameter in einen Riesen Rattenschwanz an Options und übernehmen das Erzeugen des Makefiles aus dem Projekttree. Jedenfalls kapiere ich die LPC2000 noch auf Registerebene und habe nie Libs gebraucht und wollte den deswegen nicht einmotten.
Christian J. schrieb: > Leider ist der ARM7TDMI schon > lange obsolet und wird auch von EmBLocks nicht mehr per Wizard > unterstützt. Na und? Wozu brauchst du EmBlocks? Und Wizards? Das sind m.E. eher böse Zauberer.. Wirf mal nen Blick in die "Lernbetty" hier im Forum, dort werkelt ebenfalls ein ARM7TDMI drin und selbiger wird selbstverständlich sowohl von allen Keils und IAR's und GCC's unterstützt. Ich hatte damals die Entwicklung mit dem Keil 4.1 oder so gemacht und dann nochmal mit nem Yagarto (4.irgendwas? hab's vergessen) nachvollzogen. Bis auf die Hakeligkeit des GCC zwischen ARM und THUMB und einem völlig abartigen Assembler-Quellstil (für den Startup und die SVC's) geht beides - und das sogar mit gleichen Quellcodes. Einige Teile (GDI, Schriften, Konvertierungen) laufen bei mir unverändert sogar auf völlig andersartiger Hardware (BigEndians). Und beim GCC sogar OHNE jegliches Linkerscript (da im Linker bereits enthalten) W.S.
W.S. schrieb: > Wirf mal nen Blick in die "Lernbetty" hier im Forum, Neeeeeinnnnnnn! :-) Ich frickel mir das mal mit Code::Blocks hin .... versuche es zumindest.
N'Abend, die Kiste ist recht einfach: Man installiere sich emIDE von Segger, die hat die LPC2xxxx alle mit drin und viele andere. Da Segger natürlich verkaufen will ist der einziger eingetragene Debugge ein J-Link. Oder man findet heraus wie sich der ST-LinkGDP Debugger aus der EmBlocks IDE ansteuern lässt, der dabei ist und überträgt die Parameter dann in die emIDE von Segger. Leider macht EmBlocks das unsichtbar, man sieht nur die Ausgabe. Und ohne alles überträgt er das was aber nicht ausreicht: STLinkGDB.exe -nx -fullname -quiet -args D:/temp/stm32f429/bin/Debug/stm32f429.elf Tja, keine Ahnung..... Starting debugger: done Setting breakpoints Em::Blocks embedded firmware debugger for arm-none-eabi (Jul 15 2014/06:27:12). Based on (GDB) 7.7 - License GPLv3+ by Gerard Zagema. This program comes with ABSOLUTELY NO WARRANTY; for details type "show war". This is free software, and you are welcome to redistribute it under certain conditions; type "show cop" for details. Reading symbols from bin/FlashRelease/stm32F429_project.elf... (no debugging symbols found)...done. Source directories searched: G:/STM32F429/emblocks/stm32F429_game_of_life;$cdir;$cwd Remote debugging using localhost:4242 0x08002f740x20023b00 in Reset_Handler () Connected Loading section .isr_vector, size 0x1ac lma 0x8000000 Loading section .text, size 0x3a40 lma 0x80001ac Loading section .rodata, size 0x7c8 lma 0x8003bec Loading section .init_array, size 0x8 lma 0x80043b4 Loading section .fini_array, size 0x4 lma 0x80043bc Loading section .data, size 0x438 lma 0x80043c0 Loading section .ram, size 0x226c8 lma 0x80047f8 Loading section .co_stack, size 0x1000 lma 0x8026ec0 Start address 0x8002f74, load size 163520 Transfer rate: 29 KB/sec, 8606 bytes/write.
Christian J. schrieb: > Leider ist der ARM7TDMI schon lange obsolet Da stellt sich doch grundsätzlich die Frage, ob es Sinn macht in ein obsoletes System noch Zeit zu investieren. Ein vergleichbares board mit aktuellem uc und tft kostet von Stm oder Nxp um die 30€. Für diese 30 € bist du auf aktuellem Stand und hast immer noch genug Probleme mit der ide, die du lösen kannst.
Übrigens gibt es hier auch Hinweise, wie man sich eine lauffähige Toolchain für ARM7TDMI und ARM9 (hehehe) basteln kann: http://devkitpro.org/ Logischerweise bezieht sich das auf den Nintendo DS, aber mit ein bisschen Arbeit lässt sich das auch auf andere ARM7 übertragen. Der DS ist übrigens ein wirklich hübsches Entwicklungssystem mit OpenGL und einer Menge netter Peripherie. Nur schade, das der Audio AD Wandler nur 12 bit oder so hat.
Christian J. schrieb: > Der TDMI basiert auf dem Armv5 Modell. Das ist falsch. Der ARM7TDMI basiert auf der Architektur ARMv4T. Einige andere ARM7-Varianten basieren auf ARMv3 oder ARMv5TEJ. Einige ARM9-Varianten basieren ebenfalls auf ARMv4T und andere auf ARMv5.
:
Bearbeitet durch User
grundschüler schrieb: > Da stellt sich doch grundsätzlich die Frage, ob es Sinn macht in ein > obsoletes System noch Zeit zu investieren. Ein vergleichbares board mit > aktuellem uc und tft kostet von Stm oder Nxp um die 30€ Ähm....... Beitrag "Re: Retro Fieber: Z80 oder 68000 ?" Seit 30 Jhren osolet. Mit meinen 46 bin ich ja auch schon "obsolet" Noch Fragen? :-) Da ich ausschliesslich im Hobbybereich mit sowas fumfrickel spielt das keine Rolle, man nimmt was da ist. Was mich an dem Cortex M4 etwas stört wo alles ja prima mit läuft ist, dass das irgendeine Hardware sein könnte, durch CMSIS, StdPeriphLib und die TM oder UB HAL hindurch kriege ich da eh nix von mit. Arduino Style. Die CPU löst sich auf in einen Satz Funktionen, egal ob ein F0 oder F1 oder F4, sie fühlen sich alle gleich an bei Fahren, alle Automatik, alle mit Navigationssystem :-) Ich schaffe es nicht mal die Taktfrequenz zu ändern, weil das tausend Nebeneffekte hat auf die Peripherie. Der LPC2xxxx war der letzte Vertreter, wo ich noch Bit für Bit eine PLL eingestellt habe, die Timer, Uart Bits usw. Nur mit einem Riesen Header, der die Register auf Structs abgebildet hat. Der VIC Interrupt mit der Primecell 192 war etwas buggy aber machbar. Habe mir daher einen J-Link bestellt bei mouser, der einen JTAG Stecker hat wie mein altes LPC Board auch. Mit ein paar Kabeln ist der auch swd fähig. CodeBlocks unter Linux gestern war auch geeignet aber da muss man eben alles per Hand einstellen, es ist nichts vorgefertigt, da die IDE generisch ist. Bei EmBlocks und EmIDE wurde da ja schon spezialiert und man muss vieles nicht machen, der GCC kommt mit, die Debugger sind eingerichtet, Linkerfiles sind dabei usw.
Christian J. schrieb: >> Wirf mal nen Blick in die "Lernbetty" hier im Forum, > > Neeeeeinnnnnnn! :-) > > Ich frickel mir das mal mit Code::Blocks hin .... versuche es zumindest. ROTFL Na ok, dann leide eben aus eigener Kraft. Es ist schon erstaunlich, was für Leutchen man hier so trifft. Kommt mir vor wie einer der in der Wüste herumkriecht mit hängender Zunge kurz vor'm Verdursten und - wenn einer kommt und ihm ne Flasche Selters geben will - ihn anbrüllt: Neeeeeinnnnnnn! ich trinke nur stilles Wasser. Dann mach mal - und wenn du es geschafft hast, kannst du dich als echten Helden fühlen. Weißt du eigentlich, was du mit den Brettl dann anstellen willst? W.S.
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.