Forum: Mikrocontroller und Digitale Elektronik ARM LPC2368 von NXP wieder zum Leben erwecken mit Em Blocks?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Christian J. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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?

von Sebastian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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...

von Christian J. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von W.S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Christian J. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Christian J. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von grundschüler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
0 lesenswert
nicht lesenswert
Ü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.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
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
von Christian J. (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

von W.S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

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.