Hallo,
die Cortex M3 sind ja stark im Kommen. Ich habe schon viel im Web nach
einem Grundlagentutorial gesucht, aber außer Hersteller-Libs und ein
paar Beispielschnipseln nicht viel gefunden. Mir geht es darum, die
Unterschiede zum AVR (bisher ATMegas) in der Programmierung mal
herauszulesen, die minimale Grundbeschaltung (soll ja gleich sein!) etc.
Man muß bei den Dingern wohl explizit jedes Modul konfigurieren (sogar
Takt für I/O etc.). Kennt da jemand einen guten Link, wo das beschrieben
wird? Datenblätter von STM etc. haben ja schon ein bischen was gebracht,
aber irgendwie habe ich die "Philosophie" von den Dingern noch nicht im
Ansatz verstanden.
Zum Thema Cortex-Referenzunterlagen, es gibt was im neuen LPC1700 Manual
http://www.lpc2000.com/m3/LPC1000/ bei "User Manual" runterladen (4,6
MB).
Das Kapitel 34 ;-) ist ein Cortex-M3 User Guide ca. 160 Seiten und
koennte dem was Du suchst nahe kommen. 80 Seiten Instruction Set, >30
Seiten CPU dazu noch Peripherals.
Also ich kenne keine vergleichenden Unterlagen zwischen AVR und Cortex
und kann mir ehrlich gesagt auch nicht vorstellen, dass sich ein
Entwickler oder auch Hobbyist, der mal den Schritt gewagt hat nochmals
nach hinten umsieht. Wie immer gibt es Ausnahmen, hier im AVR-Forum
bestimmt, aber ich kenne keinen persoenlich, allerdings einige, die den
Schritt bereits getan haben.
Robert
http://www.mcu-related.com
Was ich eigentlich ganz gut fand war der Insider Guide von Hitex, den es
ausser auf der Hitex Seite auch bei STM zum runterladen gibt. Zu mindest
für einen ersten Überblick.
Gruß,
Ralf
Bin anscheinend nicht mehr so ganz auf dem laufenden was Hitex gemacht
hat. Die Insider Guides zu verschiedenen ARM7 kannte ich gut, hab nicht
gewusst, dass auch schon ein Cortex da ist. Kann ich definitiv aus der
Vergangenheit auch empfehlen und ich schau mir den fuer Cortex bald mal
an.
Robert
Aber Vorsicht bei Details. Auch dieser Hitex-Guide ist mit heisser Nadel
gestrickt und folglich etwas fehlerträchtig.
So behauptet der Guide, alle Ports wären 5V-kompatibel. Das Datasheet
drückt sich erheblich differenzierter aus, dort ist dies durchaus nicht
jeder Portpin und das ist von einzelnen Pin abhängig, nicht vom Port.
Zur Ehrenrettung von Hitex muss man sagen, dass einen auch das Datasheet
etwas verarscht, wenn dies laut erster Seite auf "almost all" Pins
zuträfe, weiter hinten aber neben ein paar weiteren sämtliche 16
ADC-tauglichen Pins davon ausgeschlossen werden.
Ein Buch, das erheblich detaillierter auf die Eigenschaften des
Cortex-M3 Cores und seiner Kernperipherie wie NVIC eingeht, ist "The
Definitive Guide to the ARM Cortex-M3" von Joseph Yiu. Enthält dafür
aber keinen Bezug auf konkrete Implementierungen wie STM32 oder LM3.
>Wie wäre es damit ?
Es beschäftigt sich nur mit dem ARM Kern und NVIC. Die einzelnen
herstellerspez. Cortex "Derivate" werden nicht erwähnt, sondern nur das,
was alle gemeinsam haben. Also von einem "Definitive Guide" weit
entfernt. Amerikanisches (Selbst-)Marketing halt...
Hallo,
vielen Dank für die Infos. Das Hitex-Teil ist erstmal genau das, was ich
gesucht habe. Ob das nun genau die aktuellen STM32 beschrieben sind, ist
mir da erstmal egal; ich will ja einen Überblick über die Gesamtheit des
(bei allen Herstellern gleichen) Cores an sich erhalten, also
herstellerunabhängig. Die Auswahl einer bestimmten Implementierung wird
bei mir wohl noch ziemlich dauern und das jetzt gedruckte
Herstellerbroschürchen oder die beigefügte Lib wird dann eh veraltet
sein.
@Arne
da scheint mir ein Missverstaendnis vorzuliegen. Der Guide fuer den
Cortex-M3 von Joseph Yiu ist ein ausgezeichnetes Referenzwerk und zwar
fuer Cortex-M3. Ob da NXP einen 20-Schnittstellen CAN Controller oder ST
eine Wireless Schnittstelle oder Atmel einen USB 3.0 drauf baut ist fuer
Cortex TOTAL irrelevant. Die Implementierungen sind in den Baustein
Beschreibungen der Hersteller also in den Manuals von ST, Atmel oder NXP
zu finden, falls nicht, dann ist es nicht das Problem von Cortex /
Joseph / ARM.
Weder ist Joseph Amerikaner noch ist ARM eine Amerikanische Firma, sonst
wuerden sie meiner Meinung nach besseres Marketing betreiben.
Es gibt einfach weder fuer ARM, noch fuer einen Hersteller von Chips
einen Anlass ein Vergleichswerk zwischen STM32, SAM3, LPC1000 und LM3S
zu schreiben. (Geschaeftsmodell? wem bringt das was?) Ich koennte so
etwas zwar machen, doch da fliessen viele Mann-Monate rein und keiner
waere bereit dafuer entsprechend zu bezahlen, also warum um alles in der
Welt sollte ich oder jemand anders, der eine Familie ernaehren muss?
Wenn Du also nach einem Buch, "Verschiedene Implementierungen MIT
Cortex-M3" suchst, dann hast Du eine Marktluecke entdeckt, kannst ja
eines schreiben.
Robert
Hallo,
ich fledder mal meinen eigenen Thread wieder vor. Den Hitexguide habe
ich mir zwischenzeitlich immer mal wieder angetan und bin schwer
begeistert, was das doch für ein Unterschied ist. Ich will jetzt über
Winter mal etwas Ernst machen mit einem vernetzten CAN-Bus mit
Sensoren (Temp, Feuchte, Feuer), einer SD-Karte, Schnittstelle zum PC
(wohl seriell, da am einfachsten) etc. Nun frage ich mich, ob ich das
wirklich wie bisher geplant mit ATMega168 o.ä. mache (Performance reicht
dafür ganz dicke aus, außer RAM vielleicht) oder gleich einen Cortex M3
unglaublich unterfordere (der hat gleich CAN drin, wenn auch unheimlich
komplex, hat keinen RAM-Mangel für SD, Ethernet statt seriell evtl. auch
gleich, viele fertige Libs ...). Aktuell scheinen die LPC176x von NXP ja
einen guten Ruf zu haben. Als Entwicklungsboard bzw. Spielzeug habe ich
hauptsächlich einen USB-Stick gefunden (ca. 59 €; Preis in meiner
Vorstellung) oder ein Super Board mit Grafik und weiß der Geier für
> 400€ (das wird's daher nicht!).
Sollte ich mich lieber in gaaanz kleinen Schritten zukunftsträchtig dem
Cortex zuwenden und wenn ja, kennt jemand ein nettes Evalboard bis ca.
100 €, wo mann auch was ranlöten kann etc.? Grafik ist sicher viiiiel
später ganz nett, macht es aber auch unnötig teuer.