Hallo,
kann mir jemand ein ARM Starter Kit empfehlen. Ich habe bisher nur AVRs
programmiert und würde mich gerne weiterentwickeln. Der µC sollte
möglichst schnell sein. Das Starter Kit sollte alles enthalten, also
Software, Programmiergerät (am besten über USB) und natürlich die
Hardware.
Danke für eure Ratschläge
Hans
Hallo Hans,
ich hab zwar keine Antwort für dich aber dafür eine Frage,
du sagtest du hast bisher nur AVR programmiert.
ich möchte auch anfangen AVR uC zu programmieren und bin auch auf der
Suche nach einem starker kit, das auch alles enthält.
da ich anfänger bin hätte auch eine platine mit LEDs Tasten, und
natürlich sachen für fortgeschrittene für später
kannst du mir da was empfehlen ?
danke schonmal
@Frank
AVRs habe ich Anfangs immer auf dem Steckbrett aufgebaut und mir da nie
ein Starterkit besorgt und später hab ich mir dann Platinen fertigen
lassen. Bei den AVR Starter Kits sollte es wahrscheinlich fast jedes
tun. Musst halt drauf achten, dass das was du an Peripherie haben willst
auch drauf ist, am besten eins mit LCD, das fand ich beim debuggen sehr
hilfreich. Als Programmiergerät habe ich mir einen In System Programmer
von eBay aus China für ca. 15 Euro geholt und der funktionierte bei mir
immer wunderbar.
Als Software zum Programmieren habe ich WinAVR benutzt, die ist legal
und umsonst. Die HEX Files lade ich mit AVR Studio auf die Controller.
Gruß Hans
Schonmal danke für die Links. Es wäre schön wenn Ihr noch ein paar Worte
zur Software, die man zur Entwicklung benötigt, und dem Programmiergerät
verlieren könntet ;)
Gruß Hans
@ Hans
Weißt Du schon welchen ARM?
Ich würde einen Cortex-M3 empfehlen, auch den STM32. Ich bin davon
begeistert und überzeugt.
Lese mal hier im Artikel STM32, das verschafft Dir eine Übersicht.
Da gibts auch eine Übersicht über Lieferanten, Compiller und
Demo-Boards.
Hallo,
bisher bin ich noch komplett unentschieden, lese mir aber Links fleißig
durch. Ich tendiere bisher zu einem LPC, da es für die wohl viele
Tutorials gibt. Wobei ich noch keins gefunden hab was mich vom Hocker
gehauen hat ;)
Welche Toolchain benötige ich für die jeweiligen Boards. Alle
Beschreibungen, die ich bisher las, klingen sehr komplex und als könnte
man viel falsch machen. Ich habe auch gelesen, dass man einige LPC
Controller per ISP programmieren kann. Kann ich da einfach meinen AVR
ISP Programmer nehmen?
Bei dem ARM sind für mich wichtig, dass er min. 2x I2C und 1x SPI und 1x
UART integriert hat. Da ich schnell viel Sensordaten durchschaufeln und
verarbeiten will wär ein möglichst hoher Takt von Vorteil.
Mfg Hans
Hans schrieb:> Ich habe auch gelesen, dass man einige LPC> Controller per ISP programmieren kann.
das heißt in der Regel nur, dass der Controller im eingebauten Zustand
programmiert werden kann, also nicht in einen seperaten Brenner gesteckt
werden muss. Das sagt aber nichts darüber aus, wie diese Programmierung
stattfindet.
Bei den kleinen ARM-Controllern sollte man sich auch entscheiden, ob man
auf der "alten" Architektur (v4 - v5) und den Prozessoren auf Basis von
ARM7 aufsetzt, oder ob man sich gleich auf die Architektur v7 mit den
Cortex-Mx-Kernen stürzt.
Die neuere Architektur beseitigt gerade im Microcontrollerbereich sehr
viele Schwächen der meisten Implementierungen auf Basis von ARM7/ARM9
und ist somit sehr zukunftssicher. Man sieht dies auch daran, dass sich
fast alle Hersteller darauf stürzen.
Ist man daran interessiert, die Architekturunterschiede ausgiebig zu
studieren, sollte man auf Prozessoren eines Herstellers zurückgreifen,
die es in beiden Varianten gibt, z.B. NXP LPC2xxx vs. LPX17xx.
Will man jedoch möglichst viel alten Assembler-Code weiterverwenden und
ist auf eine Umgebung angewiesen, die selbst ARM-Code erzeugt, kann dies
bedeuten, (vorerst) bei ARM7 usw. bleiben zu müssen.
Man beachte, dass man bei einigen Debuggern (z.B. Lauterbach)
unterschiedliche Plattformlizenzen für die verschiedenen Varianten
erwerben muss. Dennoch kann ich gerade den TRACE32 in beiden Fällen sehr
empfehlen. Jedoch übersteigt er die meisten Hobby-Budgets.
ISP beim ARM-Prozessor (ATM7/ARM9/Cortex-M3) bedeuted, dass die
JTAG-Pins über einen Stecker angeschlossen werden muss. Siehe Artikel
JTAG.
Nein, einen AVR-Programmer oder andere AVR spezifische Dinge können
nicht für eine ARM-Programmierung weiter verwendet werden.
Von Segger gibt es einen JLink-EDU für Hobby-Anwender, der kostet nur 60
EUR, der funktioniert mit allen ARM-Derivaten und ist ein "Muss" für
deren Programmierung.
Natürlich kann man auch einen LPCxxxx über serielle Schnittstelle
proggen, dann sollte man aber schon ein lauffähiges Programm haben, denn
debuggen geht damit nicht (oder genau wissen was man wie programmiert).
Robert Teufel schrieb:> Das Futurlec board wuerde ich fuer ARM nicht gerade empfehlen, denn sie> wissen nicht was sie tun. Die haben einen LPC2119 genommen, den nimmt> man wenn man CAN haben moechte, sonst macht der keinen Sinn! Als Quarz> ist dann ein 58,xyz MHz drauf, den nimmt man wenn man keinen CAN> benuetzen moechte, also nicht so toll durchdacht. Das ganze Board ist> billig aber nicht unbedingt preiswert.
Das ist doch kein Ausschlußkriterium?! Gut das Design ist, sagen wir
suboptimal. Aber wenn man kein CAN braucht und nur "einsteigen" möchte,
dann ist das doch nicht weiter schlimm.
Ich kann die Boards von Futurlec schon empfehlen. Habe 2* welche genutzt
und funktionieren prima. Vor allem bei dem Preis. Gut wenn man etwas
mehr haben möchte mit Display u.s.w., dann ist das eine andere Sache.
Auch sonst sind meine Erfahrungen mit Futurlec sehr gut. Habe dort schon
mehrmals gekauft. Ich kann das empfehlen.
Die Produkte von Embedded Artists machen auch einen guten Eindruck, sind
aber mindestens doppelt so teuer. Erfahrung hab ich damit nicht.
Bei der Auswahl sollte man sich auch im klaren sein, ob es ein "alter"
ARM7 sein soll oder die Cortex-M3 Serie. Ist ja doch schon ein
entscheidener Unterschied.
Edit: OT: Habe bei Embedded Artists gerade nochmal "vorbeigeschaut",
Versand nach Deutschland: 17,60€ für ein Platinchen. Also ich gehöre
nicht zur Geiz-ist-geil-Fraktion aber das ist schon etwas überzogen.
Hallo,
ich möchte eigentlich auf keinen Fall Assembler programmieren, das finde
ich immer recht anstrengend. Möchte eigentlich auf jeden Fall C
programmieren.
Allgemein interessiert mich die Architektur der ARMs nur soweit wie man
es benötigt um lauffähigen Code zu erzeugen. Ich bin sonst mit AVRs sehr
zufrieden, komme bei meinem nächsten geplanten Projekten nicht mehr mit
der Rechenleistung hin...
@Markus Müller
Mit dem JLink-EDU kann ich dann alle ARMs unabhängig vom Hersteller
programmieren? Das wär ja wunderbar :)
Der STM32 bietet von der Peripherie auf jeden Fall alles was ich
benötige.
Mit welchen Tools arbeitest du?
Ich hab mir jetzt mal ein Board bei Futurlec rausgesucht:
http://www.futurlec.com/STM32_Development_Board.shtml
Bei Olimex habe ich mit das Board rausgesucht:
STM32-P103 http://olimex.com/dev/stm32-p103.html
Gibt es zu diesen Boards was positives bzw. negatives zu sagen?
Auf jeden Fall schonmal vielen Dank für eure Anregungen, das hilft mir
sehr bei der Auswahl.
Mfg Hans
Siehe hier:
http://www.segger.com/cms/jlink-gdb-server.html
Alle ARM's.
Alle Hersteller, die von der Firma ARM den Prozessorkern verwenden, NXP,
ST, TI, Analog uvm.
Ich nutze so wie hier beschrieben:
http://www.mikrocontroller.net/articles/STM32#Installation_f.C3.BCr_STM32
(Der Artikel kommt ja auch von mir :)
Schlussendlich ist es etwas gewöhnungsbedürftig und einiges Fleißarbeit
bis es mit Eclipse ging, aber ich wollte endlich mal GCC und die anderen
Open-Source-Tools kennen lernen. (Und alles geht perfekt! und bin damit
super zurfrieden.)
Im Artikel STM32 sind auch alle anderen Entwicklungsumgebungen
aufgelistet, um mal schnell ein zu steigen reicht sicher auch ein Keil
mit 32KB Codebeschränkung. Das Schöne am JLink: der tut damit auch.
Das Olimex-Board kenne ich, hatte es auch schon benutzt, ist gut. Ich
hatte damit mein erstes Projekt entwickelt, zumindest so lange bis ich
die Original Platine bekam.
Hallo Hans,
ich verwende seit ein paar Wochen auch den stm32.
Damit ich schneller vorankomme hab ich (obwohl Eclipse-Fan) mit der auf
32kB Codebeschränkten IAR KickStart Edition begonnen und bin bis heute
noch nicht an die Codegrenze gestossen. Auch das Atollic TrueStudio für
ST-Link hab ich mir angesehen das ist auch zum Einsteigen recht
sorgenfrei aufgebaut, dasselbe denke ich wird beim Codebeschränkten Keil
auch so sein.
Da es schnell gehen musste und die Wahl des stm32 nicht 100% klar war
(jetzt schon) hab ich mir den ST-LINK für 20€ bei Farnell besorgt.
Bisher bin ich damit sehr zufrieden. Ich hab damit sowohl auf dem
Demoboard mit stm32f107 als auch schon auf dem sensol Kundenboard
gearbeitet und gedebuggt. Bisher soweit ok.
Ich kann diesen Weg empfehlen eine Codebeschränkte kostenlose Version
von IAR (Keil oä.) zu nehmen da ich mich zuerst mal ganz dem stm32 und
der Std. Peripherie Library kümmern konnte. Jetzt wo es mit
Programmieren recht gut läuft kommt der Wunsch nach Eclipse IDE und gcc
toolchain..... das wird mich aber sicher einige Stunden Aufwand kosten
vermute ich...
Beste Grüße,
Lukas
900ss D. schrieb:> Robert Teufel schrieb:>> Das Futurlec board wuerde ich fuer ARM nicht gerade empfehlen, denn sie>> wissen nicht was sie tun. Die haben einen LPC2119 genommen, den nimmt>> man wenn man CAN haben moechte, sonst macht der keinen Sinn! Als Quarz>> ist dann ein 58,xyz MHz drauf, den nimmt man wenn man keinen CAN>> benuetzen moechte, also nicht so toll durchdacht. Das ganze Board ist>> billig aber nicht unbedingt preiswert.>> Das ist doch kein Ausschlußkriterium?! Gut das Design ist, sagen wir> suboptimal. Aber wenn man kein CAN braucht und nur "einsteigen" möchte,> dann ist das doch nicht weiter schlimm.>
Da geb ich Dir recht, es ist kein Ausschlusskriterium allerdings ein
fettes Fragezeichen. Der LPC2114 ist GENAU derselbe Chip wie der LPC2119
lediglich ohne CAN. Wenn das Board dazu designed ist keinen CAN zu
benuetzen, dann sollte es der billigere LPC2114 sein. Wenn der CAN Chip
drauf ist ist der Quarz Mumpitz.
Wenn eine Firma den Anspruch hat ein durchdachtes Eval-Board zu
verkaufen dann ist das einfach ein schlechtes Zeichen. Wie schon gesagt,
"denn sie wissen nicht was sie tun"
Meine Einstellung ist davon gepraegt, dass mir meine Zeit etwas wert
ist, das ist in Euro/Stunde ausdruecken kann. Mit so einem Fragezeichen
disqualifiziert sich die Firma fuer MICH und meine Meinung basiert auf
nur einem Fakt, also fuer viele irrelevant. Hab ich es genug
relativiert? :-)
Gruss, Robert
Robert Teufel (robertteufel) schrieb:
> Da geb ich Dir recht, es ist kein Ausschlusskriterium allerdings ein> fettes Fragezeichen. Der LPC2114 ist GENAU derselbe Chip wie der LPC2119> lediglich ohne CAN. Wenn das Board dazu designed ist keinen CAN zu> benuetzen, dann sollte es der billigere LPC2114 sein. Wenn der CAN Chip> drauf ist ist der Quarz Mumpitz.> Wenn eine Firma den Anspruch hat ein durchdachtes Eval-Board zu> verkaufen dann ist das einfach ein schlechtes Zeichen. Wie schon gesagt,> "denn sie wissen nicht was sie tun"
Sollten die aber auch ein Board mit CAN im Angebot haben, macht es
eventuell schon Sinn auch hier die Version mit CAN zu verbauen.
Man benötigt nur eine MCU für beide Boards, das heisst:
- Das Anlegen einer Artikelnummer für die 2. entfällt zusammen mit dem
ganzen drumherum, wie Lagerplatzbereitstellen usw. das ist selbst bei
kleinen Unternehmen nicht zu unterschätzen.
- Anlegen eines Symbols in der EDA-Software.
- Man kann größere Mengen Bestellen und erhält evtl. etwas bessere
Preise.
Und das ist sicher nicht alles, was für ein neues Bauteil nötig ist und
ist selbst in einem kleinen bis mittleren Unternehmen ein nicht zu
unterschätzender Kostenfaktor.
Es kann also durchaus die günstigere Lösung sein hier den im Stückpreis
teureren Chip zu verbauen.
Eventuell ist der LPC2114 auch nicht so gut lieferbar.
Was ich damit sagen will: Bloss weil man selbst die Bauteilwahl nicht
treffen würde, bedeutet das nicht, dass Futurlec hier keine Ahnung hat,
was sie tun.
Ein Gast schrieb:> Robert Teufel (robertteufel) schrieb:>> Da geb ich Dir recht, es ist kein Ausschlusskriterium allerdings ein>> fettes Fragezeichen. Der LPC2114 ist GENAU derselbe Chip wie der LPC2119>> lediglich ohne CAN. Wenn das Board dazu designed ist keinen CAN zu>> benuetzen, dann sollte es der billigere LPC2114 sein. Wenn der CAN Chip>> drauf ist ist der Quarz Mumpitz.>> Wenn eine Firma den Anspruch hat ein durchdachtes Eval-Board zu>> verkaufen dann ist das einfach ein schlechtes Zeichen. Wie schon gesagt,>> "denn sie wissen nicht was sie tun">> Sollten die aber auch ein Board mit CAN im Angebot haben, macht es> eventuell schon Sinn auch hier die Version mit CAN zu verbauen.
Waere durchaus richtig, hast Du ein solches Board gefunden? Ich nicht!
> Man benötigt nur eine MCU für beide Boards, das heisst:> - Das Anlegen einer Artikelnummer für die 2. entfällt zusammen mit dem> ganzen drumherum, wie Lagerplatzbereitstellen usw. das ist selbst bei> kleinen Unternehmen nicht zu unterschätzen.> - Anlegen eines Symbols in der EDA-Software.> - Man kann größere Mengen Bestellen und erhält evtl. etwas bessere> Preise.
Richtig aber scheint nicht zuzutreffen
>> Und das ist sicher nicht alles, was für ein neues Bauteil nötig ist und> ist selbst in einem kleinen bis mittleren Unternehmen ein nicht zu> unterschätzender Kostenfaktor.
Richtig, leider kann ich kein anderes Board mit dem LPC2119 bei Futurlec
finden.
>> Es kann also durchaus die günstigere Lösung sein hier den im Stückpreis> teureren Chip zu verbauen.
Nicht wirklich, da obige Annahmen anscheinend nicht zutreffen.
>> Eventuell ist der LPC2114 auch nicht so gut lieferbar.
Falls irgendeiner besser lieferbar war, dann der LPC2114> Was ich damit sagen will: Bloss weil man selbst die Bauteilwahl nicht> treffen würde, bedeutet das nicht, dass Futurlec hier keine Ahnung hat,> was sie tun.
All Deine Argumente sind richtig und dennoch scheint keines der
Argumente zu greifen.
Hier bin ich einfach nicht von meiner Meinung abzubringen. Ich war bei
NXP/Philips in der Abteilung, die die LPC2000 entwickelt und verkauft
hat zu der Zeit als das Futurlec Board rauskam und wir haben uns damals
schon am Kopf gekratzt was diese Kombination bewirken soll.
Es gab keine Knappheit von LPC2114 waehrend es gleichzeitig den LPC2119
gab, es gibt kein anderes Board (am Markt) von Futurlec mit dem LPC2119
(ich hab gesucht, Du auch?), der LPC2119 war immer teurer als der
LPC2114 und der LPC2119 hat absolut keinen sonstigen Vorteil ausser CAN.
Ob mit Absicht der LPC2119 genommen wurde oder nicht weiss ich nicht.
Jetzt koennten wir noch dasselbe Argument mit Bauteilnummer,
Verfuegbarkeit... fuer den Quarz diskutieren. Das ist aber muessig.
In den features fuer das Board ist CAN gelistet, allerdings sind keine
CAN Transceiver auf dem Board und auch nicht auf dem Motherboard.
Es ist Teil meines Jobs damals und heute die best geeigneten MCUs mit
den richtigen Applikationen zu paaren und die Paarung auf diesem Board
passt nicht! Ich verkaufe auch Eval-Boards aber dafuer mache ich hier
keine Werbung, kein Link, nichts. Futurlec wuerde ich nicht verkaufen.
Der Laden ist allerdings billig, kein Einspruch. Muss auch ehrlich
gestehen, ich war ueberrascht als ich gesehen hab die sitzen in
Neuseeland, hat sich fuer mich alles so nach Entwicklung und Fertigung
in Billigstlohnlaendern angehoert.
Hab mir jetzt die Webseite nochmals ne Weile angeschaut und bin zu dem
Schluss gekommen, da hat noch nie einer was mit CAN gemacht aber sonst
sieht's nicht so uebel aus.
Beim LPC2368 geben die allerdings in der Beschreibung an,
http://www.futurlec.com/ARM2368_Controller.shtml
dass man bis 75 MHz betreiben kann, max ist aber 72 MHz, 75 MHz ist auch
wiederum unsinning, denn damit laesst sich weder USB noch CAN vernueftig
betreiben, mit 72 MHz schon. Ich kann einfach keinen Hersteller
empfehlen, der in den Details schludrig ist.
Genug Zeit verbraten, Robert