ARM Einstieg

Gast #1498778
Lesenswert?

Hallo,

Ich plane den Einstig in die ARM Microcontrollerwelt.

C kann ich programmieren, ein paar anwendungen mit 8bt AVR habe ich 
schon geschrieben

Da ich generell ein UC änfänger bin suche ich einen für den einstieg 
geigneten UC mit einem guten Board. Über tipps für eine gute 
dokumentation oder passende Tutorials bücher würde ich mich freuen.

Mir wurden der NXP LPC2000 aufgrund der verbreitung sowie prozessoren 
mit cortexm3 architektur aufgrund der aktualität sowie der leichteren? 
programmierbarkeit empfohlen.

Was empfehlt Ihr mir?

mfg
tosch
Gast #1498850
Lesenswert?

Hallo,

danke für deine Antwort.

Ich habe mir den Primer angeschaut und der scheint in der tat ganz gut 
zu sein.

Jedoch greifen die meisten Programme auf das Circle OS zu, was mich ein 
wenig stört.

Ich habe vor mir nach der einarbeitung einen erweiterten datenlogger mit 
anzeigefunktion zu bauen. In dem fall muss ich auch ohne das os 
zurechtkommen.

Gibts noch weitere gut dokumentierte alternativen mit cortex m3 kern?

mfg
tosch
#1498886
Lesenswert?

Wenn du das gleiche meinst wie ich: Ist das günstigste mir bekannte 
Einsteigerboard, und ziemlich komplett. CAN- und RS485-Transceiver kann 
man sich ggf. noch auf das kleine Lochrasterfeld bauen, dann fehlt 
nichts mehr von dem was der Controller drin hat.

Nützlich ist allerdings noch ein zusätzlicher JTAG-Debugger.
Gast #1498903
Lesenswert?

Hallo,

des ist glaub ich mal ein richtiges Forum für mich

Hab auch ein STM32 board und noch sehr wenig erfahrung darin.
Kann mir jemand sagen wie ich irgendeinen Pin auf High oder Low lege.

wollte eine BCD anzeige realisieren, mit 8 Ausgängen über Vorwiderstand. 
Um einfach mal irgendwelche Zahlen auszugeben.

Danke für eine schnelle Antwort !!!
Gast #1498912
Lesenswert?

Danke für die Antwort.

Meinte eigendlih den Olimex stm32-103sdk aber das von dir vorgeschlagene 
Board scheint noch besser zu sein.

Da kann man per stecker direkt auf die einzelnen ports zugreifen.

Habt ihr dazu noch eine Buch / tutorialempfehlung?

mfg
tosch
#1498922
Lesenswert?

Martin schrieb:

> ET-STM32F103

Beispielprogramm ist auf der CD.

Ein Einsteiger-Tutorial wie hier im Board für AVR ist mir dafür nicht 
bekannt. Im Grunde setzen die 32-Bit Controller durch ihre Komplexität 
voraus, dass man den Anfängerstatus bereits hinter sich gelassen hat.

Der Hitex-Guide ist bekannt?
Gast #1498931
Lesenswert?

Hab mir die schon angeschaut.

in welchem von dem Beispielprogrammen find ich das den wie man nen PIN 
auf High oder Low lege !? Doofe frage ich weis.
Oder kann nicht einfach jemand den Befehl kurz hier posten !!!
#1498942
Lesenswert?

Martin schrieb:

> Oder kann nicht einfach jemand den Befehl kurz hier posten !!!

Hat wenig Sinn, weil's nicht viel kürzer wird als das Beispiel von ETT:
- Port mit Takt versorgen.
- Pin als Ausgang definierten.
- Pin setzen oder löschen.

Ebendies steht im Beispiel von der CD drin. Plus ein bischen mehr 
Einstellungen für den Takt, beispielsweise, aber das ist erst einmal 
weniger wichtig.

Eines muss dir klar sein: Wenn du ohne gute Vorkenntnisse bei 
Controllern bei einem hochkomplexen 32-Bit Controller einsteigst, dann 
wirst du nicht schon nach 15min Erfolg haben, sondern vor dir liegt viel 
Arbeit, Manual und Beispielcode zu verstehen. Alle halbe Stunde im Forum 
zu fragen wird dich dabei kaum weiterbringen.
Gast #1498954
Lesenswert?

Hmm wenn ich des Projekt mit uvision öffne dann ist die main.c leer !? 
ist des normal ?!

Ich weis das des nicht perfekt ist zum einstieg deshalb will ich auch 
ganz langsam damit anfangen. Ich hab mit dem 16x2 LCD schon etwas 
rumgespielt und jetzt will ich es mit der BCD anzeige versuchen.

Kennst du dann vielleicht ein Gutes Buch wo man sowas auch nachlesen 
kann. Mein Problem ist halt das ich immer auf Fertige Programme baue und 
an denen rumspiele. Für nen anfänger find ich des mal gar nicht so 
schlecht.
#1498959
Lesenswert?

Martin schrieb:

> Mein Problem ist halt das ich immer auf Fertige Programme baue und
> an denen rumspiele. Für nen anfänger find ich des mal gar nicht so
> schlecht.

Also weitgehend verständnisfreier Blindflug der ab und zu mal zum 
Ergebnis führt? Mit diesem Ansatz wünsche ich dir in der 32-Bit Klasse 
viel Vergnügen - und vor allem viele sehr sehr geduldige Supporter.

> Kennst du dann vielleicht ein Gutes Buch wo man sowas auch nachlesen
> kann.

Auf der STM32 Seite gibt's den "Insider's Guide" von Hitex. Eher eine 
Übersicht und keine Schritt-für-Schritt Anleitung, aber eine solche 
kenne ich nicht.
Gast #1498978
Lesenswert?

des Problem ist halt wo soll man da richtig anfangen!? In meiner 
Hochschule verwendet man nur den ARM7 32 Bit Controller. Jetzt wollte 
ich mich damit selber etwas Weiterbilden.

Auch wenn es manchmal ein Blindflug ist, kennst du trotzdem ne Seite 
oder Buch wo man Code Beispiele findet. Speziel des mit den I/O Ports.
Gast #1499069
Lesenswert?

Hey A. K.

danke für den Link auf den Hitex-Guide.
Genau soetwas habe ich gesucht. Mit einem ähnlichen Script habe ich 
meine ersten schritte in der 8bit AVR welt unternommen

Bis jetzt habe ich leider nur den insiders guide für den LPB2100 und 
verschiedene str-modelle ohne cortex3m prozessor gefunden.

Wisst Ihr zufällig ob es auch ein script für den cortex gibt oder geben 
wird?

Und falls nicht, welcehn prozessor würdet ihr mir dann empfehlen ? den 
LPB2100?

mfg
Tosch
Gast #1499126
Lesenswert?

Hallo A.K.

ich habe mich jetzt durch diverse quellen gekämpft und denke dass der 
LPB2100 für den Einstieg besser geeignet ist. Auf die paar € kommts 
schlussendlich auch nicht an.

Wie groß schätzt du die Unterschiede zwieschen einem NXP cortex und NXP 
lpb2100 ein?

Ist dass mit verschieden AVR Familien zu vergleichen (Tiny - Mega)oder 
eher mit gänzlich verschiedenen Arten wie PIC und AVR?

PS: vielen Dank für deinen Support.

Mfg
#1499150
Lesenswert?

Über den Daumen gepeilt sind neuere Geräte komplexer als alte Geräte. 
Dafür sind die Bug der alten besser bekannt als die der neuen. ;-)

So ist das integrierte Interrupt-System der Cortexe viel besser als das 
etwas schwach entwickelte vom ARM7, selbst wenn man dem einen 
Interrupt-Controller zur Seite stellt wie bei den LPC2000.

Andererseits ist ebendieses Interrupt-System der Cortexe nicht unbedingt 
leicht verständlich. Das Interrupt-System der LPC2100 ist einfacher, 
aber auch nicht ohne Fallstricke (spurious/surprise interrupts lassen 
grüssen).

Ungefähr so zieht sich das auch durch die Peripherie. Die Timer der 
STM32 sind ziemlich leistungsfähig, aber das wird erkauft durch mehr 
Lernarbeit. Die der LPC2000 sind einfacher gebaut.

Kleiner Tip, zu allem was nicht AVR heisst: Immer auch das Erratasheet 
lesen. Bei AVRs ist man gewohnt, dass da (am Ende vom Datasheet) fast 
nichts drin steht. Nicht so bei den ARMs, Cortexen usw. Kann schon sein, 
dass im Manual eine Feature wortreich beworben wird, die nach Lektüre 
des Erratasheets erheblich zusammenschrumpelt (z.B. CAN im LPC2129, 
Originalversion) oder ganz gestrichen werden muss (z.B. Taktüberwachung 
in manchen LM3). Aber wer Microchip kennt ist das schon gewohnt.

In dem Punkt schneiden die STM32 ziemlich gut ab. Entweder hat ST seine 
Hausaufgaben gemacht, oder die Klöpse wurden einfach noch nicht 
gefunden. Nur den Bootloader der 105/107 Modelle der ersten Charge hat 
es bislang ernsthaft erwischt.
Gast #1499200
Lesenswert?

Hallo

ich werde wohl für den Anfang mit einem LPC2100 / 200 er einsteigen. Die 
längere Marktpräsenz mit der größeren Auswahl an Dokumentaionen und 
Beispielprojekten ist entscheidend.

Bei meinem (noch fernen) Wunschprojekt, müsste ein solcher LPC2000 
reichen.

(Ich mcöhte mich schritt für schritt zu einem Telemrie-logger mit 2,4 
Ghz übertragung und LCD hinarbeiten. Werde mich wohl nach der generellen 
einarbeitung erstmal mit LED blinken USW. begnügen müssen g )


Könntet Ihr mir dafür ein board empfehlen? Mir wäre auc herbei ein 
externer Zugriff auf die Ports wichtig.

danke
#1499228
Lesenswert?

Einsteiger schrieb:

> Mir wäre auc herbei ein
> externer Zugriff auf die Ports wichtig.

In Form von Pfostenleisten wie beim ETT-STM32 kenne ich keins. Mit genug 
Platz zum Nachrüsten schon: Schau dich mal bei embeddedartists.com und 
propox.com um. Beide bieten Headerboard plus Basisboard mit reichlich 
Lötpunktrasterfläche.
Gast #1499276
Lesenswert?

Bei aller Liebe zu den ARM7 Controllern allgemein und insbesondere
der LPC2000 Reihe, rate ich zu einem LPC23xx/24xx. Die sind moderner
und bieten auch mehr Peripherie als die LPC21xx/22xx.
Preiswerter für die Serie sind die auch.

Bei ebay gibt es diverse Evalboards mit einem LPC2368 für wenig Geld.
Einfach nach LPC2368 suchen.
Gast #1500129
Lesenswert?

- Vier anstatt zwei 32Bit Timer (für Lumi-Fans: Input-Capture machen die
LPCs auch mit 32Bit).

- Verbesserter Interrupt-Controller mit Prioritäten und ohne Spurious 
Interrupt (ist kein generelles Problem des ARM7).

- Alle GPIOs mit schaltbaren Pull-up/down.

- Bootloader kann bis 115kBaud (LPC21xx kann 38k).

- EMAC integriert (schon deshalb habe ich die STM32 bisher ignoriert)

- Preiswerter - zumindest gegenüber den >= 64 Pin 21/22er

Die 21/22er Reihe ist halt schon etwas älter. Die 23/24er sind 
weitgehend
kompatibel zu den älteren Typen. Der Interrupt Controller Tickt aber
etwas anders und die Init-Sequenz für die PLL sieht anders aus.
#1500148
Lesenswert?

let schrieb:

> - Verbesserter Interrupt-Controller mit Prioritäten und ohne Spurious
> Interrupt (ist kein generelles Problem des ARM7).

Verbessert ja, weil alle Interrupts vektorisiert sind. Spurious 
interrupts gibt es freilich trotzdem. Sie landen nur nicht im 
nonvectored Handler.

Die Prioritätslogik ist aber genausowenig wie die beim alten VIC auf 
transiente Interrupts ausgelegt. Transiente Interrupts sind bei 
Verwendung einer 16C550-artigen UART nicht vermeidbar. Das Ergebnis sind 
Interrupts ohne erkennbare Ursache, die zudem noch mit falscher 
Priorität laufen. In diesem Aspekt gleichen sich die VIC.

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