Forum: Mikrocontroller und Digitale Elektronik Welchen Cortex-M3?


von Julius G. (jugonser)


Lesenswert?

Hallo,

ich würde gerne für ein neues Projekt einen Cortex-M3 nutzen und kann 
mich aber nicht so richtig für einen entscheiden. Die Favoriten scheinen 
NXP LPC17xx und STM32 zu sein. Wer hat Erfahrungen mit Cortex-M3 gemacht 
und kann eine empfehlen? Wichtig wären auch gute Software Bibliotheken, 
mit denen man schnell vorankommt.

Gruß, Julius

von Michael B. (bubi)


Lesenswert?

Da es nur den STM32 auf dem Markt gibt, stellt sich die Frage eigentlich 
nicht. Die Libary von ST ist auch sehr gut zum Einstieg. Bringt alles 
mit was man braucht und funktioniert eigentlich auch zuverlässig (nur im 
USB teil vom 2.0er sind ein paar bekannte Bugs, sollte aber mit dem 
CMSIS-Update behoben worden sein)
Ich bin voll zufrieden damit!

von Stefan (Gast)


Lesenswert?

> Da es nur den STM32 auf dem Markt gibt...

Wenn man Luminary ignoriert stimmt das.

von Michael B. (bubi)


Lesenswert?

Luminary zählt nicht zu seinen Favoriten. (und zu meinen auch nicht, die 
FWLib von ST ist meiner Meinung nach besser dokumentiert und anwendbar 
als die von Luminary, was aber nicht heißt das man nicht beide verwenden 
kann, ganz und garnicht)

von Julius G. (jugonser)


Lesenswert?

Sind dir LPC17xx von NXP nicht auch schon verfügbar?

Julius

von Michael B. (bubi)


Lesenswert?

wenn ich mich auf der homepage so durchklicke finde ich nur development 
status, also eher nein.

von Gast (Gast)


Lesenswert?

Was soll denn der Cortex alles machen - das hilft vielleicht beim 
aussuchen?
Und wie oben schon erwähnt gibt es auch welche von Luminary Micro.

von Markus (Gast)


Lesenswert?

Die LPC17xx müssten schon da sein, auf der Embedded Messe hatten die mir 
gesagt, dass die ab April verfügbar sein - als Samples. Von der Stange 
gibts die noch nicht. Da musst Du mal bei deinem Distri fragen gehen.

Poste dann die Antwort, mich interessieren die auch.

von Julius G. (jugonser)


Lesenswert?

Von Keil soll es in Kürze ein Eval-Board geben.

von Michael B. (bubi)


Lesenswert?

Aber so ein Prozessor vom ersten Tag an in Projekten einsetzen?
Hobbymäßig ist es sicher egal, aber in einem Produkt würd ich mich das 
nicht trauen.
Luminary hat halt als Alleinstellungsmerkmal im Moment Ethernet und ein 
tolles Logo :).
Alles andere gibts meiner Meinung nach besser bei der Konkurenz.
ST hat glaube ich auch schon Ethernet angekündigt, mal schaun wie lange 
man auf die warten muss.

@Markus wurde auf der embedded was gesagt zwecks FWLib? Wirds da was 
geben?

btw. weiß wer was von den Distris bezüglich den Atmels?

Michael

€dit zu STM32.
Die Connectivity Line wird bereits gesamplet(zumindest an die 
Großabnehmer)
http://www.st.com/stonline/stappl/cms/press/news/year2009/p2372.htm

von Erwin R. (er-tronik)


Lesenswert?

Hallo,
als eingefleischter STM32-Programmierer muß ich mich auch hier wieder zu 
Wort melden.
Aufgrund der Lieferfähigkeit der Hersteller ist derzeit wohl der STM32 
die erste Wahl unter den Cortex-M3 Controllern. Ok, Luminary-Micro kann 
auch liefern, aber irgendwie hat dieser Hersteller es nicht geschafft, 
sich am Markt zu etablieren. Luminary Micro ziehlt wohl mit seinen 
Controllern mehr auf den Industriemarkt. Also bleiben uns derzeit nur 
die STM32, denn bis NXP die LPC17xx liefern kann, werden sicher noch 
einige Monate vergehen. Von Atmel mit ihren SAM3-Controllern will ich 
gar nicht reden, auch wenn irgendwann mal auf der Homepage ein 
Datenblatt erscheinen wird, dauert es in der Regel noch 1-2 Jahre, bis 
die Teile endlich beim Endkunden erhältlich sind, siehe AVR32 und 
ATXmega.

STM32 ist nun auch im Umbruch, die neuen STM32F105 und 107 sind 
angekündigt, die nun endlich auch Ethernet unterstützen (F107) und 2 
CAN-Schnittstellen sowie USB-OTG bieten, und das alles gleichzeitig. 
Aber auch hier heißt es warten, bis die Teile lieferbar sind. Begnügen 
wir uns also mit den lieferbaren STM32F101 und F103. Die F101 sind in 
der Regel nicht so interessant, weil sie kein USB und CAN haben und nur 
36MHz Taktfrequenz bieten. Für kleine Anwendungen Ok, aber beschränken 
wir uns auf die STM32F103.

Die Typenbezeichnungen der STM32 mögen vielleicht verwirren, wenn man 
aber genau hinschaut, ist das alles ziemlich logisch aufgebaut. STM 
unterscheidet zwischen Low-, Medium- und High-Density Versionen, die 
sich durch die Flash und RAM-Speichergrößen und die Zahl und Typ der 
Schnittstellen unterscheiden.

Low Density:
STM32F103x4 (16k Flash, 6k RAM)
STM32F103x6 (32k Flash, 10k RAM)

Medium Density:
STM32F103x8 (64k Flash, 20k RAM)
STM32F103xB (128k Flash, 20k RAM)

High Density:
STM32F103xC (256k Flash, 48k RAM)
STM32F103xD (384k Flash, 64k RAM)
STM32F103xE (512k Flash, 64k RAM)

Das x gibt übrigends die Gehäusegröße (also Anzahl der Pins) an:
T = 36 Pins
C = 48 Pins
R = 64 Pins
V = 100 Pins
Z = 144 Pins

Welche Schnittstellen bei welchen Gehäusegrößen vorhanden sind, will ich 
hier nicht auflisten. Das findet man alles in den guten Datenblättern 
des Herstellers.


Zur Programmierung:
Ich benutze den freien C-Compiler G++ von Codesourcery und als Editor 
den Uedit32 (man kann natürlich auch jeden anderen Editor oder auch 
Eclipse benutzen). Als Geschwindigkeitsfanatiker versuche ich die 
STM32-Library möglichst zu umgehen, wo immer es möglich ist, 
programmiere ich die Register des STM32 direkt. Aber auch das ist jedem 
freigestellt, die Library ist sehr umfangreich und einfach anzuwenden. 
Man muß sich jedoch klar sein, daß sie eine Menge Overhead produziert, 
was natürlich auf die Performance des Controllers geht.

Den Flash-Speicher des STM32 habe ich früher immer per JTAG-Interface 
mit OpenOCD programmiert. Dies hat den Vorteil, daß man gleichzeitig 
einen sehr guten Debugger hat. Debugger benutze ich aber in der Regel 
gar nicht, ich schließe mir meist an einen SPI-Port ein LC-Display an, 
auf dem ich den Programmstatus und Speicherinhalte anzeigen lasse. So 
benutze ich zur Programmierung den internen Bootloader des STM32 und ein 
USB/Seriell-Interface. Über die RTS und DTR-Leitungen steuere ich BOOT0 
und RESET des Controllers, so muß ich keinerlei Schalter oder Taster an 
meiner Schaltung betätigen um das Bios mal eben upzudaten. Wer Interesse 
an dieser Lösung hat, kann sich gerne mit mir in Verbindung setzen.

Natürlich werde ich mir auch die anderen Cortex-M3-Controller von NXP 
und ATMEL anschauen, wenn sie irgendwann einmal lieferbar sein werden. 
Aber bis dahin bleibe ich beim STM32.

Erwin

von Julius G. (jugonser)


Lesenswert?

Hat jemand Erfahrungen mit den Cortex-M3-Tools von Hitex:

"Cortino: Komplette Entwicklungs-Umgebung mit GNU-Compiler, HiTOP IDE 
und JTAG-Debug-Schnittstelle für Cortex™-M3 Mikrocontroller. Unterstützt 
alle Standard Debugging-Funktionen wie Source-Code-Debugging, Hard- und 
Software-Breakpoints, Data-Watchpoints, Single-Step, Register und 
Memory-View und Flash-Programmierung."

von Markus (Gast)


Lesenswert?

Ich habe schon vor einem Jahr ein Board mit dem LPC2368 designt und 
Software dafür geschrieben. Seither warte ich auf den LPC1768, der ja 
Pinkompatibel, aber leider nicht 100% HW-Kompatibel ist (MMC fehlt!)
Sobald der LPC1768 da ist werde ich den mal rein löten und die Software 
für den einfach mal kompillieren.
Weitestgehend sollte das dann schon funktionieren, denn NXP hat 
eigentlich nur den Core getauscht. Aber warscheinlich die Pheripherie 
etwas verbessert, so dass es noch mehr Bits zum dran drehen geben 
sollte. Aber sollte wohl kein großes Hexenwerk sein das anzupassen.
Ich gehe davon aus, dass man die LPC2368 Bibliothek weitestgehend 
relativ einfach anpassen kann. Ich werde es noch kennen lernen...

Wenn man noch ein paar Monate warten kann, aber bereits jetzt die HW 
designen möchte, für den ist der LPC2368 ideal um später auf den LPC1768 
umsteigen zu können.

PS: Als ich denen auf der Messe vom nicht vorhandenen MMC Interface 
erzählte, ist der Chef Entwickler persönlich gekommen und hat sich 
gewundert, ich denke das ist der Grund warum sich der LPC17xx noch mal 
verzögert. Lieber warte ich ein Monat länger und dann ists drin...

von Robert T. (robertteufel)


Lesenswert?

Es wird noch im Mai die erste Fuhre Keil Eval-Boards geben, sind aber 
wahrscheinlich schon alle vergriffen bevor sie ueberhaupt gebaut sind. 
Im Mai wirds dann etwas besser. Bis Samples dann einfach bestellt werden 
koennen ueber Digikey oder sonstwo wird es wohl Juni.Ich denke mal es 
gibt aehnliche Zeitplaene fuer die STM105/STM107 oder auch fuer die 
neuen Luminaries, die auch bei 100 MHz laufen werden und jetzt ebenfalls 
USB bieten.
Es gibt noch einen M3 auf dem Markt, etwas anders aber keineswegs 
uninteressant, einen Toshiba Chip. Lowest Power aber nicht highest 
Performance. Dieser Chip sollte dann mit den kommenden Cortex-M0 
verglichen werden, da ein 40 MHz Cortex-M3 locker so viel Performance 
beitet wie ein 50 MHz Cortex-M0.

http://www.mcu-related.com/architectures/35-cortex-m3/60-toshiba-tpm330fdfg-cortex-m3-mcu.html

Ich versuche so nach und nach viel Information ueber die Cortex 
Bausteine zu posten und zwar hier:
http://www.mcu-related.com/architectures/35-cortex-m3.html
Hier gibts auch noch was
http://www.lpc2000.com/m3/

Gruss, Robert

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
Noch kein Account? Hier anmelden.