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
Vergiss für einen Neueinstieg die alten LPC2000. Das Interrupt-Handling der Cortex-M ist weit besser und auch die Schnittstellenmodule haben sich weiterentwickelt - wenngleich sie dabei natürlich insgesamt eher komplexer als einfacher wurden.
Die LPC17xx Reihe ist neuer, daher ist auch die Peripherie ausgereifter, bzw. bietet mehr Features. LPC2xxx würde ich nicht nehmen. Schaue noch beim Artikel STM32 vorbei. Vom STM32 gibt es mehr Auswahl an Variationen und Gehäuse, daher ist der STM32 mein Favorit.
Peter Dannegger schrieb: > Der ARM7 ist ne Sackgasse, nur 2 Interruptlevel. Die 16 oder 32 des getrennt eingebauten Interrupt-Controllers darf man schon mitrechnen. Aber das Interrupt-Konzept der ARM7 bleibt trotzdem hässlich. > Die ARM-Cortex haben mindestens 16. Bei den M0 sind es weniger.
Dann wird es wohl einer mit Cortex M3. Danke für eure Antworten, dass hat mich schon einen Schritt weiter gebracht. Gruß, Marc
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
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?
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.
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.
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.
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.
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.
Lothar schrieb: > Debuggen (falls nötig) mit J-Link EDU für 50 EUR. Beim LPCXpresso ist doch der Debugger direkt mit auf dem Board?! Der IAR Kickstart ist eine freie, also kostenlose Entwicklungsumgebung mit beschränktem Codeumfang oder sonstigem?
Lothar schrieb: > Warum wurde dann bisher nur Cortex-R als Automotive Grade > Mikrocontroller zertifiziert? Lockstep.
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.
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.