Warum wird AVR in Arduino verwendet?

Warum verwendet Arduino AVR? Ich verstehe, dass sie der offizielle Prozessor sind, aber es gibt keinen Grund, warum der Code nicht auf einen ARM oder eine Freescale-Architektur portiert werden konnte, außer auf Kosten, oder? Solange es Onboard-Speicher gibt, dachte ich, dass es eine einfache Migration in diese Teile geben könnte.

Ich sehe viel ARM in der Industrie (anscheinend schiebt jeder Anbieter einen in seine Designs) und fragte mich, warum In der Arduino-Entwicklerwelt gab es keine größere Akzeptanz.

Kommentare

  • Wer ist Ihr Markt? Wenn Sie ‚ Wenn Sie versuchen, etwas Großes in der Industrie zu verkaufen, möchten Sie ‚ einen ARM, denn wenn Atmel untergeht, ‚ Wir haben nichts mehr übrig, wenn Sie ‚ den AVR verwenden. Mit ARM gibt es ‚ viele andere Anbieter, die Near Drop- anbieten. Die erhöhte Komplexität des ARM ist bei guten Ingenieuren weniger ein Problem als bei Hobbyisten, die ‚ keine Grundlagen kennen. Wenn Sie ‚ Beim Verkauf an Hobbyisten wird die Lernkurve zu steil sein, die Prozessorleistung wird ‚ nicht verwendet, und SMT wird eine imaginäre Mauer sein. Wen machen Sie sich Sorgen um Hobbykunden oder potenzielle Arbeitgeber? Pls. klarstellen.
  • Ich versuche nicht, beleidigend zu sein, aber die Frage muss gestellt werden. Atmel ist mehr als 25 Jahre alt und hat einen anderen sehr erfolgreichen Markt als ARM. AVR an sich ist eine sehr sehr erfolgreiche Plattform. Wie stehen die Chancen, dass ein solches Unternehmen untergeht? Das klingt so, als würde man sagen: “ ‚ keine Fenster verwenden. Was passiert, wenn MicroSoft ausfällt? “
  • Ich stimme Ihren beiden anderen Punkten zu, nämlich dass wenn Sie einen Hobby-Markt haben, die Chancen selten sind, dass die volle Leistung von ARM genutzt wird und SMT eine Mauer ist.
  • Ist nicht ‚ ein Arduino Due mit einem SAM3XE (ARM 32 Bit) uC vorhanden? Weil ich gerade eine in der Hand habe …
  • Ich möchte darauf hinweisen, dass “ heutzutage “ Es gibt tatsächlich ARM-basierte Karten, die mit Arduino (Bibliotheken und IDE) programmiert werden können. Teensy 3.2 ist ein hervorragendes Beispiel dafür. sparkfun.com/products/13736

Antwort

Interessiert sich überhaupt jemand dafür, woran Sie gerade arbeiten?

Ja und Nein. Ich habe auf dem AVR32 für ein bestimmtes Projekt entwickelt, und die Entwicklungsumgebung (insbesondere der Kompilierungs- / Programm- / Debug-Zyklus) ist im Vergleich zu beispielsweise PIC32 schrecklich.

Die Kunden kümmern sich nicht darum, außer um Kosten und Wartung, und im Fall eines Arduino-ähnlichen Systems würden sich die Programmierer nicht darum kümmern, da die Arduino-Umgebung und der Entwicklungszyklus sprunghaft besser sind als das aktuelle AVR32-Setup.

Ich frage mich nur, weil es in der Arduino-Familie ein so starkes Kontingent für AVRs gibt. Ich verstehe, dass sie der offizielle Prozessor sind, aber es gibt keinen Grund, warum der Code nicht auf einen ARM oder eine Freescale-Architektur portiert werden konnte, außer auf Kosten, oder? Solange Onboard-Speicher vorhanden ist, könnte eine einfache Migration in diese Teile möglich sein.

Es gibt keinen Grund, warum ein anderer Prozessor konnte nicht verwendet werden, aber es gibt einen sehr guten Grund, warum sie ein Low-End-8-Bit-Gerät anstelle eines ARM-, MIPS-, PowerPC- usw. Geräts gewählt haben: Benutzerfreundlichkeit.

Wenn Sie sich das Setup für die unteren Arme angesehen haben, ist es eine Größenordnung komplexer (Speicherzuordnung, Caching usw.) als ein 8-Bit-Prozessor. Aber was noch wichtiger ist – zu der Zeit gab es keine DIP-Arm-Prozessoren, und diese sollten von Künstlern und Hackern verwendet und gebaut werden, nicht unbedingt von elektronischen Technikern und Ingenieuren, die sich selbst mit einem 48-Pin-TQFP wohl fühlen.

Der Grund, warum der AVR dem PIC vorgezogen wurde, ist, dass der PIC unter anderem keinen weit verbreiteten Open-Source-Free-C-Compiler hat (der SDCC-Port ist nicht ausgereift).

Ich sehe eine Menge ARM in der Industrie (anscheinend drängt jeder Anbieter einen in seine Designs) und habe mich gefragt, warum der Arduino-Entwickler nicht mehr Akzeptanz gefunden hat Welt. Gedanken?

Hauptsächlich liegt es an der Benutzerfreundlichkeit – Komplexität, leicht zu löten, Kosten und der Tatsache, dass dort „s braucht es nicht viel. Entwickler mögen die Idee, viel Leistung zu haben, aber am Ende des Tages, wenn alles, was Sie tun müssen, ist, einige Servos zu bewegen und einige Lichter mit einer Low-End-FFT, einem 8-Bit, zu blinken Prozessor ist in Ordnung.

Sogar die Low-End-Cortex-ARMS, die in 28-Pin-Gehäusen herauskommen, sind immer noch SOIC, nicht DIP.

Der AVR hatte also die richtigen Funktionen:

  • Leicht zu löten
  • Leicht per Versandhandel auf der ganzen Welt zu bekommen
  • Kostenloser GCC C-Compiler
  • Leicht verständliche Einrichtung und Verwendung von Prozessoren und Peripheriegeräten
  • Günstig
  • Allgegenwärtig – viele Leute und Erfahrungen rund um die AVR-Familie

Im Großen und Ganzen trifft dies immer noch zu – ich kenne keinen ARM in einem Dip-Format, und die Adapter machen ihn erheblich teurer als den AVR. Zum größten Teil tun Hersteller dies nicht. Ich glaube nicht, dass ein 32-Bit-Prozessor mit DIP-Paket sehr profitabel sein wird.

Kommentare

  • Es gibt einen, den Parallax Propeller. Es verfügt über acht 32-Bit-CPUs auf dem Chip und ist in DIL-, QFP- und QFN-Paketen erhältlich.
  • Dies ist genau richtig. AVR über PIC aufgrund der Lizenzierung und AVR über ARM aufgrund der Einfachheit von Software und Toolchain sowie der Lötfähigkeit. Für Ihre eigenen Projekte gilt dies möglicherweise nicht. Wenn Sie jedoch ein ARM-Duino entwickeln möchten, schauen Sie sich die anderen, ähnlichen Projekte an. Sie fangen ‚ nicht so an wie der AVR. Dies kann auch an der Arduino-Entwicklungsumgebung liegen.
  • Welche AVR32-Tools verwenden Sie? Ich verwende IAR sowohl für AVR32 als auch für MSP und habe festgestellt, dass diese Umgebung sehr leistungsfähig ist. Die Kosten sind in einem professionellen Umfeld kein Problem – das entspricht weniger als den Kosten für die Einstellung eines Ingenieurs für eine Woche.
  • Diese Behauptung über Werkzeuge kann überwunden werden – Arduino verwendet gcc, für das auch ein AVR32-Anschluss verfügbar ist
  • NXP verfügt jetzt über einige Cortex-M0-ARMs in einem DIP-Paket. Ich denke aus der LPC11xx-Familie. Ich stelle mir vor, dass ihr Zielmarkt extrem billige, einseitige Leiterplatten von geringer Qualität in Geräten sind.

Antwort

Da Sie anscheinend nach Meinungen fragen, ist hier mein $ .02. Ob ich an einem ARM oder AVR arbeite, spielt eine Rolle (und daher ist es mir egal), hauptsächlich basierend auf dem, was ich versuche zu tun Es gibt Anwendungsfälle, in denen ein AVR sinnvoll ist, und es gibt Fälle, in denen ein ARM sinnvoll ist. Im Allgemeinen gibt es auch einen Kompromiss zwischen beispielsweise AVR und PIC.

Zunächst einmal, während Ich werde wahrscheinlich in Schwierigkeiten geraten, wenn ich das sage. Das “ starke Kontingent in der Arduino-Familie “ ist so etwas wie eine stimmliche Minderheit Arduino-Leute (Benutzer), auf die ich gestoßen bin, sind diejenigen, die ihre Hardware lieber so behandeln würden, als würden sie ein Python-Skript erstellen, um etwas Amüsantes zu tun, oft mit einem geringeren Verständnis der damit verbundenen Feinheiten als sie haben, wenn sie „d do “ von numpy i mport foo „. Die Art und Weise, wie Arduino Dinge tut, hat zwar einige Vorteile, aber es gibt auch viel Raum für Kritik.

Ich denke, es lohnt sich, neben dem Arduino-Ökosystem auch die AVRs zu betrachten. Das Arduino-Kontingent hat auch stark von den Gründen profitiert, die den AVR zu einem Defacto-Standard für Hobby-Dinge gemacht haben – ein Mantel, den PIC bereits vor seinem Erscheinen zunehmend übernommen hat. Die direkten Konkurrenten des AVR wären die PIC und bis zu einem gewissen Grad der MSP430, der vor allem aufgrund des starken Marketingschubs von TI in Kombination mit seinen Subventionierungsinstrumenten an Bedeutung gewinnt.

Ökosystem

Wie bereits in anderen Antworten erwähnt, Der AVR ist die einzige Familie, die eine saubere, standardisierte Möglichkeit bietet, mit kostenlosen Tools von Null auf Hallo Welt zu gelangen. Der avr-gcc-Port, die Teile, aus denen die Winavr-Toolchain besteht, zahlreiche Programmierschemata mit unterschiedlicher Komplexität und Funktionen, die jedoch immer noch gebunden sind Durch die Autorität, die sich aus der Unterstützung durch avrdude ergibt, ist es viel einfacher als mit der Ausarbeitung der Toolchain umzugehen.

Das Ökosystem des PIC ist ein Albtraum, mit einer beliebigen Anzahl von Compilern, Programmiertools, Assemblern, was hast du. Viele von ihnen sind nicht miteinander kompatibel. Die meisten von ihnen werden bezahlt. Nicht alle von ihnen sind gut. Noch wichtiger ist, dass es keinen Defacto-Standard gibt. Die Free / Open Source-Alternativen (z. B. SDCC) lassen zu wünschen übrig, haben aber darüber hinaus keinen Status als Defacto-Standard wie avr-gcc und company erlangt. Selbst wenn die Software-Toolchain ausgearbeitet wäre, müssten Sie zumindest in einen Programmierer investieren. Das PICkit kostet vielleicht nur etwa 20 US-Dollar, aber wenn Sie herausfinden müssen, wie Sie es online kaufen können (Kreditkarten, internationaler Versand, Forex-Probleme), kann es für Hobbyisten ein Deal Breaker sein. Es gibt keine gute, zuverlässige Programmierschaltung mit der erforderlichen Standardisierung, um einem Neuling den Mut zu geben, Aufwand und Ressourcen zu investieren, um von der Suche nach einer Quelle für den IC bis zu dem Punkt zu gelangen, an dem Hello World programmiert ist und die LED blinkt.

MSP430 ist geringfügig besser, vor allem, weil es neuer ist (zumindest in Bezug auf die Beliebtheit). Es gibt viel weniger Lärm, mit dem man fertig werden muss. TI liefert Ihnen IC-Proben mit einer Effizienz, die ich sonst nirgendwo gesehen habe.mspgcc ist in Ordnung und es gibt sogar eine Open-Source-Debugging-Software, die nicht schwer zu finden oder einzurichten ist. Das Problem ist jedoch, dass es nicht so hobbyfreundlich ist wie der AVR. Sie haben immer noch das Problem des Programmierers, das teurer ist als das, was Sie für einen PIC kaufen müssten. Der 3,3-V-Versorgungsbetrieb stellt eine wahrgenommene Barriere für Menschen dar, die an 5-V-Logik gewöhnt sind. Und es skaliert nicht in DIP – Es gibt Low-End-Chips, aber nicht, wenn Sie die besser ausgearbeiteten Chips erreicht haben.

Benutzerfreundlichkeit

DIP gegen SMD, denke ich Dies ist eine wichtigere Unterscheidung, als oft angenommen wird. Ein DIP-IC kann auf Steckbrettern, Allzweckplatinen, wie auch immer sie genannt werden, wo Sie leben, usw. verwendet werden. Ein SMD-IC erfordert zwangsläufig einen Fertigungslauf oder den Kauf von Adapterplatinen, die in der gewünschten Größe oder Form nicht immer leicht zu bekommen sind.

Datenblattqualität, Anwendungshinweise und deren Lesbarkeit; macht auch einen Unterschied. Atmel scheint dabei einen etwas besseren Job zu machen. Dies ist natürlich eine sehr subjektive Einschätzung.

AVRs können einen internen RC verwenden, während PICs dies häufig nicht tun. Sie benötigen einen Kristall, was ihn in Kombination leicht würfelig macht ein Mangel an Vertrauen.

AVRs schienen im Vergleich zu PICs vor einigen Jahren auch mit der systeminternen Programmierung freundlicher zu sein, obwohl ich dort sehr leicht falsch liegen könnte.

AVR vs ARM

Ihre Frage hatte jedoch mit AVR vs ARM zu tun. Wie ich zu Beginn sagte, belegen AVR und ARM unterschiedliche Räume im Spektrum. Wenn Sie etwas haben, das Sie mit einem AVR tun können, dann Warum sollten Sie es mit einem ARM machen wollen? ARMs sind teurer, erfordern höhere Teilezahlen, verbrauchen mehr Energie, sorgen für komplizierteren Code und erfordern teurere Herstellungsprozesse. Das Löten eines 100-poligen TQFP ist je nach Messung teurer als das Löten eines 40-poligen DIP / SOIC Dies gilt möglicherweise nicht, wenn Sie in großen Mengen produzieren und damit geeignete Produktionstechniken anwenden. Wenn Sie dies jedoch tun, wird der Preisunterschied für die billigere Lösung noch zwingender.

Als Go-to-Controller für allgemeines Hacken im Haus oder was haben Sie, würde ich sagen, dass AVR einfacher zu verwenden ist, weil:

  • aus hobbyistischer Sicht standardisierter, mehr Code, den ich aus dem Internet wiederverwenden kann, weil es nicht so viele Compiler-Variationen und Variationen zwischen Registernamen und API unter Familienmitgliedern gibt. (Versuchen Sie, LPC-ARM-Code auf ATMEL-ARM-Hardware zu portieren, Sie werden sehen, was ich meine.)
  • Code wird von Natur aus komplizierter (das tut es wirklich.)
  • Die Toolchain nimmt Es ist zusätzliche Arbeit zum Einrichten.
  • Erleichtert die Schnittstelle etwas. ARMs würden Sie im Allgemeinen auf 3v3- oder 1v8-Logik reduzieren, was die Anbindung an andere Spielzeuge etwas problematisch macht.
  • Billiger
  • Einen ARM-Chip im örtlichen Baumarkt zu bekommen, ist für mich keine Option Wo ich wohne, ist es, einen AVR zu bekommen.

Kommentare

  • Ich habe ‚ nicht Abgesehen von einigen OTP-Teilen, bei denen die Sicherungsbits im Rahmen von Werkstests vorprogrammiert wurden (die einzige Möglichkeit, um zu bestätigen, dass der LP-, XT- oder HS-Modus funktioniert, bestand darin, den Chip für diesen Modus zu konfigurieren), waren keine PICs erforderlich, die a Einige benötigten einen externen Widerstand und eine Kappe, um den RC-Modus zu verwenden, und hatten ziemlich grobe Angaben zur Frequenz, die sie erzeugen würden, aber ich

kann keine PICs ohne Entwurfsoption zurückrufen für interne oder externe RC. Habe ich welche vergessen?

  • Tatsächlich sind die ARM / AVR-Kosten für vergleichbare Ressourcen ziemlich nahe an einer Wäsche. Und die Pakete, die in einer Produktionsumgebung verwendet werden würden, sind ‚ t notwendigerweise so unterschiedlich, da es sich wahrscheinlich um die QFP- oder QFN-Varianten von beiden handelt. Die erforderliche Unterstützungsschaltung ist auch ziemlich vergleichbar.
  • @Chris: Wenn Sie die Ressourcen berücksichtigen, die jeder Chip bereitstellt, würde ich ‚ sagen, dass ARM fast billiger herauskommt jedes Mal. Der Punkt ist jedoch, dass in Situationen, in denen AVR in einer Produktionsumgebung sinnvoll ist, Sie ‚ nicht die Leistung und / oder die Glocken und benötigen Pfeifen, die ein ARM auf den Tisch bringt. Wenn der AVR mit den verwendeten Ressourcen anstelle der verfügbaren Ressourcen gewichtet wird, ist er billiger. Ich glaube nicht, dass die Unterstützungsschaltung vergleichbar ist (1 Tantalkondensator gegenüber 4 und andere ähnliche Spiralen), ‚. ARM ist nicht ‚ ein teures Tier, so viel es übertrieben sein kann.
  • @supercat: Vielleicht. Ich ‚ müsste das überprüfen. Es schien mir nie offensichtlich, wie oft ich es mir ansah. Ich weiß, dass zumindest einige dsPICs auf intern zurückgreifen können, wenn Sie sie richtig einrichten, aber selbst das erforderte ein wenig Rätselraten und Herumalbern, um sie zu entdecken. Mikrochip-Datenblätter lassen zu wünschen übrig, IMO, hängen aber auch davon ab, welchen Markt Sie ‚ betrachten.
  • @ChintalagiriShashank – Ignorieren der anderen Peripheriegeräte und Betrachten der Flash-RAM-Größen & Es gibt ARM-Angebote, die beispielsweise mit dem ATMEGA328p ziemlich konkurrenzfähig sind. Und lassen Sie sich nicht durch Bypass-Kappen ablenken, ‚. Zum einen kann Tantal als Versorgungsfilter sinnvoll sein, aber tatsächliche Bypasskappen sind lokale Reservoire mit niedrigerem Wert für die Anforderungen an das Hochfrequenzschalten und können daher billige SMT-Keramiken sein. Außerdem werden Takt- und E / A-Schaltfrequenz benötigt – bei einer vergleichbaren Taktrate benötigt der ARM nicht alle empfohlenen Bypass-Kappen.
  • Antwort

    Die Armentwicklung kommt – sehen Sie sich die folgenden Projekte an.

    Maple Leaf

    XDuino

    Cortino

    Illuminato

    ARM PRO-Familie

    Und jetzt ein ARM in einem DIP-Paket.

    NXP LPC1114FN28

    BASICchip

    Antwort

    Ein Teil des Grundes für das große Das Interesse der Gemeinschaft am Arduino ist die physikalische Standardisierung. So verrückt das physische Layout auch ist, durch die Aufnahme einer standardisierten Erweiterungsoption ermöglichten die Arduino-Entwickler den Menschen, ihre eigenen Lösungen zu entwickeln. Wenn Sie die Basis-Arduino-Karte durch eine andere Karte ersetzen möchten, die einen anderen Mikrocontroller verwendet, können Sie dies tun. IIRC, jemand hat bereits ein PIC-basiertes Board gebaut, das den Arduino-Formfaktor verwendet. (Das PIC Ardunio-Board hat nicht den gleichen Formfaktor, ist aber ansonsten ähnlich.)

    Ein weiterer Grund für den Erfolg des Arduino ist in seiner Offenheit – die meisten PIC-basierten Mikrocontroller waren geschlossen; sie verwendeten proprietäre Hardware-Implementierungen. Wenn Sie also das Board so umgestalten wollten, dass es besser in einen bestimmten Raum passt, hatten Sie Pech. Sie verwendeten benutzerdefinierte Firmware und proprietäre Entwicklungstools, sodass Sie Pech hatten, wenn Sie Fehler hatten oder die Funktionen erweitern wollten. Mit dem Arduino ist jedes einzelne Puzzleteil offen: Sie können Teile überall kaufen, nach Bedarf neu anordnen, verbessern oder verbessern Ändern Sie die Firmware UND die Entwicklungstools. Sie können einfach mit der Arduino-IDE beginnen, aber Sie können jederzeit zu C oder Assembly wechseln, wenn Sie sie benötigen.

    Ich persönlich mag das Arduino, weil es viel bekommt Dinge „genau richtig“: Es ist nicht zu teuer, es ist nicht an proprietäre Tools gebunden, es ist einfach zu beginnen, es hat viel Sie verfügen über eine große Benutzergemeinschaft, die sich ständig erweitert und nette Dinge erledigt.

    Kommentare

    • Sie haben sehr gute Gründe für diesen Mikrocontroller aufgeführt Hobbyisten wie Arduino, aber die Frage war über ARM vs AVR. Arduino wurde aufgrund seiner Entscheidung erwähnt, die AVR-Serie von MCUs für ihre Implementierung auszuwählen. Ich denke, einige relevantere Antworten liegen unter Ihrem Beitrag. Zum Beispiel die Tatsache, dass Atmel seine AVR-Serie mit einem C-Compiler unterstützt. Trotzdem gute Informationen für jemanden, der mit Arduino nicht vertraut ist.

    Antwort

    Ein großer Vorteil für die ATmel-uCs ist dass es einen kostenlosen Compiler für Linux, PC und Mac gibt. Fügen Sie dazu eine einfache plattformübergreifende Benutzeroberfläche hinzu, und Sie haben ein kostenloses Entwicklungssystem, das auf allen Plattformen ausgeführt wird.

    Die Kosten sind ein wichtiger Faktor für die Hobby-Boards. Da Sie einen Starterpreis im Bereich von 30 US-Dollar haben möchten, müssen Sie uC-Kosten haben, die nicht mehr als ein paar US-Dollar betragen.

    ARM wäre ein ausgezeichneter Kandidat für die High-End-Boards. Viele Unternehmen lizenzieren den ARM-Kern und fügen Peripheriegeräte hinzu. Ich glaube, es gibt kostenlose Compiler für Linux, PC und MAC.

    Ich mag das Freescale Coldfire für High-End-Boards sehr. Ich habe an einem Board für Testgeräte gearbeitet, die einen 5206e verwendeten. Wir haben einige DRAM- und hochgenaue A / D- und D / A-Wandler hinzugefügt. Es war eine kostengünstige Lösung. Ich habe Coldfire kürzlich nicht mit der Vielzahl von ARMs verglichen.

    Einige der 8-Bit-Freescale-UCs sind nett, aber ich bin mir nicht sicher, ob sie kostenlose Tools haben.

    Kommentare

    • Vielen Dank für den nützlichen Kommentar, aber die 8 Zeilen der ‚ Signatur ‚ ist ein wenig extrem. Diese auf Stackoverflow basierenden Websites tendieren dazu, Ihre eigenen Websites in Ihren Antworten zu bewerben.
    • @jluciani Wenn Sie für Ihre anderen Websites werben möchten, fügen Sie die Links in Ihr Profil ein , nicht in Ihren Antworten. Schließlich ist Ihr Blog nicht die Antwort auf diese Frage …

    Antwort

    Ich stimme dem Dip-Paket zu, bin nicht der Meinung, dass Arme schwerer zu konfigurieren sind, LPCs, aber sie sind nicht das einzige Kind auf dem Armblock (atmel selbst).Soweit ich mich erinnere und erlebt habe, war und ist Atmel nur noch entwicklerfreundlicher. Der AVR-Schmetterling hat ihnen sehr geholfen, mehr Benutzer zu ihrer bereits großen und glücklichen Benutzerbasis zu bringen. Der PIC war in vielerlei Hinsicht nur schmerzhaft, die AVR-Tools waren vorhanden, die Programmierung war ein Kinderspiel und kostete Sie nicht viel mehr als einige Kabel und einen Stecker von Radio Shack. Die Werkzeuge sind da und kostenlos, aber nicht so einfach wie bei Mainline GCC, wo Sie die Arm- und Daumenlösungen finden. Lange bevor das Arduino herauskam, war der AVR der Chip der Wahl für Hobbyprojekte.

    Derzeit kann nichts mit ARM mithalten. Für jeden anderen Prozessor, den Sie an einem Tag berühren, berühren Sie mindestens ein paar ARMs. Für einige verwendet fast alles, was Sie berühren, einen ARM. Es ist eine natürliche Passform, da der 8-Bit-Killer bei gleicher Größe, gleichem Preis usw. eine viel bessere Leistung als ein 8-Bit-Killer erzielen kann. Die Tools sind viel besser, der Befehlssatz ist viel sauberer als die meisten seiner Konkurrenten, sodass derselbe Code ausgeführt wird viel schneller usw. Da jeder und sein Bruder einen ARM einbetten können und dieser nicht an ein Unternehmen wie pic, avr, msp430 gebunden ist, gibt es eine Vielzahl von Lösungen und ebenso viele verschiedene Möglichkeiten, mit den Mikrocontroller-ROM / RAM-Gemischen umzugehen und die Interruptvektortabelle. Leider ist die beliebteste Lösung die schmerzhafteste. Probieren Sie einen Sam7 oder so etwas oder einen Stellaris. Es gibt einen Armmite Pro, der versucht, ein armbasiertes Arduino-Plugin oder etwas Ähnliches zu erstellen, und ich mag dieses Board wirklich.

    Es ist nicht immer der Prozessor, der das Problem darstellt, einige Chips haben es gewusst können Probleme haben, einige haben andere bekannte Probleme. Einige bieten möglicherweise keinen Open-Collector-Io-Pin mit einem schwachen Pull-up an, und Sie müssten Hardware außerhalb des Chips platzieren, um eine Schnittstelle zu etwas herzustellen, während bei einem anderen möglicherweise die an einem oder allen Pins verfügbar ist. Ich empfehle, das Feld zu testen und die verschiedenen Unternehmen und Lösungen auszuprobieren, damit Sie bei geringem Stromverbrauch problemlos einen msp430 verwenden können, Rechenleistung in einem kleinen Chip benötigen, den Sie mit dem Arm verwenden, oder wenn Sie ein offenes Projekt erstellen möchten, das Sie sich erhoffen Andere bauen in ihrer Garage, dass Sie es auf einem Arduino basieren, wenn Sie können.

    Das Endergebnis für Ihre Frage ist jedoch, dass es wirklich von Ihrer Anwendung abhängt und wie Sie es schreiben und von der Leistung und den Ressourcen, die Sie sind Interessiert an. So wie gcc oder Firefox auf vielen verschiedenen Plattformen und Prozessoren ausgeführt werden, können Sie Ihre C-Anwendung mit Sicherheit so schreiben, dass sie auf einer Vielzahl von Mikrocontrollern ausgeführt werden kann … IF … Sie haben eine mikrocontrollerspezifische Abstraktionsschicht, die Kosten verursacht. Wenn die Mikrocontroller über ausreichend ähnliche Funktionen verfügen und über die Funktionen verfügen, die Sie benötigen, planen Sie im Voraus und integrieren diese. Wenn die nächste Plattform über genügend Speicher / Ressourcen verfügt. Sie interessieren sich mehr für Portabilität als für Leistung usw. Möglicherweise müssen Sie dies im Voraus planen. oder zumindest beim ersten Wechsel von A nach B entwerfen Sie die Software neu, wenn / wenn es einen dritten Wechsel von B nach C gibt, ist dies weniger schmerzhaft.

    Kommentare

    • Derzeit kann nichts mit ARM konkurrieren. < – In der Industrie. In der Hobbywelt ist AVR immer noch sehr, sehr stark und wird es noch lange sein.
    • Absolut einverstanden, dass eine Welt avr verrückt beliebt ist, eine andere Welt, in der die Produkte, die wir kaufen, zufällig sind Eine Berührung und Verwendung sind, wo das Geld ist, es ist etwas anderes. Lernen Sie also zum Spaß zu Hause eines, für Ihren Tagesjob das andere und spielen Sie den ganzen Tag und die ganze Nacht.

    Beantworten Sie

    Ich weiß, dass Sie „anders als die Kosten“ gesagt haben, aber das ist wirklich das Wichtigste für Hobbyisten. Sie benötigen nicht mehr als einen UART oder mehr als einen SPI auf einer billigen, generischen Plattform. Sobald Sie eine Geschwindigkeit von> 20 MHz benötigen, sollten Sie sich wirklich ein benutzerdefiniertes Setup ansehen (ymmv natürlich)

    Antwort

    Einige kleine Punkte, die in den anderen Kommentaren nicht angesprochen wurden:

    • Ein Arduino ist für kleine E / A-Projekte gedacht, die einer Schaltung eine kleine Menge an Intelligenz hinzufügen. Es handelt sich normalerweise um Single-Threaded-Echtzeitgeräte, bei denen ein ARM sehr verschwendet würde. Natürlich gibt es viele Optionen für ARM-Karten Der Anwendungsfall ist jedoch normalerweise anders – normalerweise wird ein Betriebssystem in vollem Umfang gestartet.

    • Durch die Ausrichtung auf diesen kleinen Anwendungsfall wird alles andere einfacher – Pin-Anzahl, Unterstützung Komponenten, Stromverbrauch usw.

    Für den Zielanwendungsfall des Arduino ist es jedoch nicht so, als würden Sie ihn verprügeln. Ein 16-MHz-Prozessor ist ein großes Grunzen für Ihren Wecker mit integriertem LED-Chaser (oder was auch immer 🙂

    Antwort

    Arduino ist auf anderen Prozessoren verfügbar. Schauen Sie sich zum Beispiel das ChipKit von Microchip an. Das verwendet einen PIC 32.

    Kommentare

    • Entschuldigung Olin, der Titel war ein falscher Versuch von mir, die Frage aus ihrem Text zu bearbeiten. Es sollte jetzt korrekter sein.

    Antwort

    Zweiter Versuch (Titel des ursprünglichen Beitrags und Frage von +3 Vor Jahren wurde seit der ursprünglichen Antwort geändert):

    Hühnchen und Ei, aber insbesondere in den letzten Jahren (2007 von ARM eingeführte Cortex-M-Architektur) haben 32-Bit-MCUs an Popularität gewonnen und die Anbieter waren besser Bereitstellung eines schnelleren und einfacheren Zugriffs für die EE-Community beim Entwerfen von> 8-Bit-Mikros (bessere SW-Tools, kostenlose Tools, weitere Beispiele …).

    Wie Atmel zusammen mit 100 anderen Cortex anbietet -M Auch Geräte und haben ihre Toolchain aktualisiert, um AVR auf ARM zu unterstützen, sowie die langjährige Beziehung, der Arduino-Upgrade-Pfad wird angegeben (?). Aber Alternativen tauchen auf und scheinen alternative Versuche zu beinhalten, um seinen Anteil am „Hobbyyist“ -Kuchen zu erlangen: zB von NXP / ARM und kürzlich „CoAction Hero“: 32-Bit-Open-Source-ARM-Cortex-M3-Board auf KickStarter.

    Letzter Gedanke, 3 Jahre nach der ersten Frage: Wenn alle Anbieter 32-Bit-Cortex-M-Kerne anbieten – könnte der Arduino nun tatsächlich Nicht-Atmel werden?

    Ursprüngliche Antwort: Alf-Egil Bogen, einer der Mitbegründer von Atmel AVR, untersucht in seinem Videoblog hier http://blog.energymicro.com/2013/04/24/avr2arm/ .

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.