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
Hi tosch!
Als Anfänger würde ich dir den Primer2 empfehlen. Als uC hast du dann
einen STM32F103VE, massenhaft der Peripherie und eine kostenlose IDE zu
einem vertretbaren Preis. Außerdem gibts noch ein eigenes Forum auf
http://www.stm32circle.com/hom/index.php mit vielen Beispielaplikationen
+ Hilfe.
Zum Einstieg also bestens geeignet ;)
Gruß Stefan
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
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.
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 !!!
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
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?
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 !!!
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.
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.
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.
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.
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
Einsteiger schrieb:
> Bis jetzt habe ich leider nur den insiders guide für den LPB2100 und> verschiedene str-modelle ohne cortex3m prozessor gefunden.
Hit #1 bei Tante Gugel:
http://www.st.com/mcdfiles/1221142709.pdf
ARM7 Modelle wie die LPC2100/2200 haben den Vorteil, schon länger auf
der Welt zu sein, folglich gibt es mehr Material darüber. Andererseits
sind sie etwas veraltet und deutlich teurer. Ist deine Wahl.
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
Einsteiger schrieb:
> Ist dass mit verschieden AVR Familien zu vergleichen (Tiny - Mega)oder> eher mit gänzlich verschiedenen Arten wie PIC und AVR?
Wenn du nicht grad in Assembler programmieren willst, dann ist der
durchaus vorhandene Unterschied im Befehlssatz erst einmal weniger
wichtig.
Ü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.
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
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.
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.
- 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.
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.