Hilfe benötigt, um von AVR zu ARM zu wechseln

Ich arbeite seit 2 Jahren mit AVR-Mikrocontrollern und fühle mich jetzt recht wohl damit. Wie die meisten Leute begannen sie mit Arduino, fühlten sich aber schnell durch die angebotenen Optionen eingeschränkt und wechselten daher zur Arbeit mit AVR ohne Arduino-Code.

Ich denke, jetzt ist die Zeit gekommen, auf die ARM-Architektur umzusteigen. Nach allem, was ich gesehen habe, bieten sie viel mehr Leistung und Funktionalität, und es scheint der logische nächste Schritt zu sein.

Allerdings fällt es mir schwer, den richtigen Einstieg in die ARM-Welt zu finden. Das Internet ist mit Ressourcen gefüllt und es ist ziemlich entmutigend.

Ich hoffe, jemand mit Erfahrung kann mir den richtigen Weg in Bezug auf Lesen, Tutorials, Links usw. weisen, um mir den Einstieg zu erleichtern.

Alles, was ich zu diesem Zeitpunkt über ARM weiß, ist:

  1. Im Gegensatz zu AVR lizenzieren sie ihr Design an Drittfirmen, die den Chip tatsächlich herstellen.

  2. Es gibt viele Familien/Anbieter von ARM von verschiedenen Anbietern, die jeweils ihre eigenen Funktionen, Entwicklungsboards usw. haben.

Einige der wichtigsten Fragen, die ich im Kopf habe:

  1. Was sind die beliebtesten Anbieter von ARM, die leicht verfügbar sind und niedrige Einstiegskosten haben? Gibt es auch einen Link oder eine Liste, die von jemandem zusammengestellt wurde, der alle verfügbaren Armfamilien auflistet?

  2. Wenn ich ARM von einem bestimmten Hersteller kaufe, muss ich dann dessen Entwicklungstools verwenden (kostenlos?) oder mag ich einfach AVR gcc, kostenlose sind verfügbar?

Ich würde sagen, dass der niedrigste Einstiegspreis auf Chipebene der LPC1114 ist, der einfach mit lpc21isp programmiert werden kann. Auf Board-Ebene gibt es verschiedene Boards in der Preisklasse E 5 .. 20, die die Target-Chips und einen Loader/Debugger beinhalten.
@WoutervanOoijen Der Preis ist nicht das Hauptanliegen. Das Hauptanliegen ist die Benutzerfreundlichkeit (zumindest anfangs, wenn ich mich noch in die Materie einarbeiten muss).
Benutzerfreundlichkeit hat wenig mit dem Chip und alles mit der IDE, der Toolchain und der Dokumentation zu tun. Erwarten Sie nicht eine Fülle von Tutorials, wie es sie für AVR gibt.

Antworten (2)

  1. Es gibt viele von ihnen. Aber aus dem Kopf heraus sind hier einige der größeren Akteure bei ARM-Mikrocontrollern:

    • Atmel (gleicher Hersteller wie AVR; vorhanden auf dem Arduino Due)
    • Cypress (insbesondere PSoC 4 und 5)
    • Energie Mikro
    • Freescale
    • NXP (LPC-Familie)
    • ST (STM32)
    • TI

    Wenn Sie mit all diesen nicht vertraut sind, würde ich Ihnen empfehlen, mit der STM32-Familie zu beginnen. Es ist ziemlich vernünftig, mit ihnen zu arbeiten, und sie haben eine Menge einigermaßen billiger Entwicklungsboards zur Verfügung, einschließlich der Nucleo-Serie .

  2. Gar nicht. Es gibt auch einen ARM GCC , und tatsächlich verwenden viele dieser Hersteller ihn als Teil ihrer Standard-Toolchain.

Irgendwelche Ratschläge, wie man am besten in ARM einsteigt? Was sind die Unterschiede zwischen den verschiedenen Angeboten, und was ist zwischen ihnen gleich? Gibt es Grundkenntnisse, die für alle ARMs gelten?
Ab heute reduziert die Fusion zwischen NXP und Freescale Ihre Liste um eins :)
Hat Philips Motorola gekauft oder umgekehrt? Ich hoffe, das Re-Branding läuft besser als die Fusion der Passivkomponenten-Sparte von Siemens und Matsushita ...
@BrianDrummond Klingt so, als wäre NXP das übergeordnete Element. Es ist aber noch nicht zugelassen. eetimes.com/document.asp?doc_id=1325871
Danke! Wie @bigjosh gefragt hat, was ist bei diesen Angeboten gleich und was ist anders? Gibt es auch Grundkenntnisse, die für alle ARMS gelten? Bei AVRs ging es darum, Tutorials zu lesen und selbst auszuprobieren. Ist es das gleiche mit ARM oder gibt es einige Vorkenntnisse, die ich nachlesen muss? Ich bin auch neugierig, werden eigenständige ARMs über die ISP-Schnittstelle programmiert (wie bei AVRs) oder gibt es einen anderen Weg?

Ich denke, eine der einfachsten Möglichkeiten, in ARM einzusteigen, ist die Verwendung von mbed-Kits und dem Compiler unter http://developer.mbed.org/

Sie unterstützen Chips von NXP, STM, Freescale, Nordic und anderen Anbietern, und ihre Online-IDE und Entwicklungskits machen die Entwicklung ziemlich einfach. Wenn Sie bereit sind, mehr praktische Erfahrungen zu sammeln, können Sie Ihren Code häufig aus der Online-IDE in ein GCC-Format exportieren. Dann sollten Sie in der Lage sein, eine gemeinsame ARM-GCC-Toolchain zu erhalten (ich mag die Bare-Metal-Toolchain von http://www.linaro.org/downloads/ ) und den Code auf Ihrem Computer mit einem enthaltenen Makefile zu erstellen.

Wenn Sie sich für einen speziellen Chip wie den CC3200 von TI für WLAN entscheiden, benötigen Sie ziemlich genau deren Code Composer Studio-IDE, um etwas Halbkomplexes zu erstellen, da viele der Binärdateien für die Bibliotheken in ihren Beispielen nur für sie erstellt wurden eigene Plattform. Es ist nicht so schlimm, aber sicherlich nicht so schön wie eine Befehlszeile, in der Sie mehr oder weniger wählen können, was Sie wollen.

Sie können auch einfach mit ARM alleine eintauchen, es ist nicht so schlimm. Aber es ist ein wenig einfacher, mit den netten Bibliotheken von mbed zu beginnen und dann bei Bedarf herunterzufahren.

Viel Glück!

Also ist mbed eine Art Arduino-Äquivalent der ARM-Welt?
Ja, irgendwie, jedenfalls für mich. Arduino hat jetzt auch ARM-Builds, aber es abstrahiert viel mehr von Ihnen als mbed meiner Meinung nach.