32-Bit Anfänger: LPC2148 oder LPC1769

Gast #3090032
Lesenswert?

Hallo zusammen,
ich würde gerne von den AVR 8-Bit'ern auf 32-Bit umsteigen und habe mal 
nach Eval-Boards geschaut. In die engere Auswahl sind jetzt Boards mit 
LPC2148 und LPC1769 gekommen.
Jetzt meine Frage: Gibt es außer den technischen Vorteilen die der 
Cortex-M3 gegenüber dem Arm7 hat auch noch Vorteile welche die 
Entwicklung als 32-Bit Anfänger betreffen? Ich denke dabei an die 
Schnittstellen (UART, I2C...). Sind diese beim Cortex evtl. einfach zu 
Handeln?

Grüße,
Marc
Gast #3090792
Lesenswert?

Peter Dannegger schrieb:
> Der ARM7 ist ne Sackgasse, nur 2 Interruptlevel.

Nun ja die Cortex-A und Cortex-R haben das IRQ/FIQ Konzept übernommen, 
weil es eben für Multitasking optimal ist. Zudem ist dabei die Anzahl 
der Interrupts praktisch unbegrenzt, und FIQ ist für Echtzeit fast 
latenzfrei.

Weil die Cortex-M spezifisch als Mikrocontroller entwickelt wurden, 
wurde das Interrupt Konzept eben genau dafür geändert. Lustigerweise 
wird im Automotive-Bereich aber der Cortex-R eingesetzt z.B. TMS570
Gast #3090799
Lesenswert?

Lothar schrieb:
> Weil die Cortex-M spezifisch als Mikrocontroller entwickelt wurden,
> wurde das Interrupt Konzept eben genau dafür geändert. Lustigerweise
> wird im Automotive-Bereich aber der Cortex-R eingesetzt z.B. TMS570

Wieso findest du das lustig? Die verwenden ja auch 
Multitaskin-Betriebssysteme, oder?
#3090911
Lesenswert?

Lothar schrieb:
> Nun ja die Cortex-A und Cortex-R haben das IRQ/FIQ Konzept übernommen,
> weil es eben für Multitasking optimal ist.

Inwiefern ist es dafür optimal? Was den IRQ angeht, nicht FIQ.

Dass die Cortex-A und -R das alte Interrupt-Schema behalten haben, 
dürfte eher damit zusammenhängen, dass sie auch die alte 
Befehlssatz-Architektur behalten haben. Als Basis der Nachfolger von 
ARM9 und ARM11.
#3090913
Lesenswert?

Automotive? schrieb:
> Wieso findest du das lustig? Die verwenden ja auch
> Multitaskin-Betriebssysteme, oder?

Lustig daran ist, dass der Interrupt-Controller der Cortex-M grad 
RTOS-Cores besser entgegen kommt als das alte Schema (PendSV ist da sehr 
nützlich). Nur werden die Cortex-A in Anwendungen eingesetzt, in denen 
die Interrupt-Latenz nicht im Vordergrund steht, man andererseits gerne 
den alten Kernel-Code nicht neu schreiben sondern weiter verwenden will.
Gast #3091319
Lesenswert?

A. K. schrieb:
> Lustig daran ist, dass der Interrupt-Controller der Cortex-M grad
> RTOS-Cores besser entgegen kommt als das alte Schema

Warum wurde dann bisher nur Cortex-R als Automotive Grade 
Mikrocontroller zertifiziert? Wir machen eine BLCD-Steuerung immer 
zuerst mal für die "industriellen" M4 (z.B. LPC4078, XMC4500) und 
portieren dann für die "automotive" R4 (z.B. TMS570), oder notfalls 
sogar auf TriCore oder V850. Ok, Nuvoton versucht grade die 
Zertifizierung von M0 und M3.
Gast #3091329
Lesenswert?

Ihr driftet glaube ich gerade etwas ab...
Dem TO geht es darum, wie schnell man die Schnittstellen ansprechen kann 
und nicht schon um ein RTOS. Ich würde mich auch um ein paar Infos zur 
Einarbeitung mit dem LPC1769 freuen, da ich mir diesen auch zulegen 
möchte.
Gast #3091344
Lesenswert?

Peter schrieb:
> Ich würde mich auch um ein paar Infos zur
> Einarbeitung mit dem LPC1769 freuen, da ich mir diesen auch zulegen
> möchte.

Kommt zunächst mal darauf an, ob man mit Eval-Board, Proto-Board oder 
Breadboard einsteigen möchte (gibt aber nicht immer LPC1769, manche sind 
noch mit LPC1768, macht aber keinen Unterschied). Hier mal günstige 
Boards:

https://www.olimex.com/Products/ARM/NXP/LPC1766-STK

http://www.watterott.com/de/LPC1769-LPCXpresso-Board

http://elmicro.com/de/chip1768.html

Als Compiler würde ich zunächst IAR Kickstart empfehlen. Es sind für 
alle o.g. Boards dutzende Beispiele dabei, die sofort funktionieren 
(Webserver, LCD, USB-Host, USB-Device, SD-Card, CAN, SPI, I2C, ADC, DAC, 
PWM). Zudem CMSIS für LPC17xx und USBLib.

Programmierung mit FlashMagic über seriell, Ethernet oder CAN. Debuggen 
(falls nötig) mit J-Link EDU für 50 EUR.
Gast #3091461
Lesenswert?

Peter Dannegger schrieb:

> Der ARM7 ist ne Sackgasse, nur 2 Interruptlevel.

Für viele Anwendungen reicht das Konzept aber. Zwei gleichwertige höchst 
priorisierte Interrupts kann ein Controller alleine zur selben Zeit 
sowieso nicht bearbeiten, egal was für ein Interruptsystem er hat.

Außerdem konnte man sich mit den LPC2000 noch selbst einen 
Interrupthandler basteln, allerdings in Software. Für vieles war auch 
das schnell genug, und Beispiele für Interrupthandler findet man im 
Internet auch. Das nannte sich dort "Nested Interrupts".

Jedenfalls reichte er für mein Vorhaben bestens.

Allerdings würde ich mir heute auch die STM32 anschauen.



QImbra schrieb:

> In die engere Auswahl sind jetzt Boards mit
> LPC2148 und LPC1769 gekommen.

Ich selbst begann mit dem LPC2129, weil ich zwei CAN-Schnittstellen 
brauchte. Die Auswahl unter den LPC hat sicher für jeden was passendes.

Die hohe anfängliche Zahl an Errata sollte aus den LPC inzwischen raus 
sein. Dank Workarounds von NXP und Keil konnte man aber auch damit noch 
leben, so daß die Anwendung nichts davon zu spüren bekam.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren