Vraag:
Waarom wordt AVR gebruikt in Arduino?
Chris Gammell
2009-12-18 20:03:12 UTC
view on stackexchange narkive permalink

Waarom gebruikt Arduino AVR? Ik begrijp dat zij de officiële processor zijn, maar er is geen reden waarom de code niet naar een ARM of een Freescale-architectuur anders dan de kosten kon worden geport, toch? Zolang er geheugen aan boord is, dacht ik dat er een gemakkelijke migratie naar die delen zou kunnen plaatsvinden.

Ik zie veel ARM in de industrie (het lijkt erop dat elke leverancier er een in hun ontwerpen steekt) en vroeg me af waarom er was niet meer opname in de Arduino-ontwikkelaarswereld.

Wie is uw markt? Als je iets groots in de industrie probeert te verkopen, dan wil je een ARM, want als Atmel ten onder gaat, heb je niets meer als je de AVR gebruikt. Met ARM zijn er tal van andere leveranciers die vervangingen in de buurt van drop-in aanbieden. De toegenomen complexiteit van de ARM is minder een probleem bij goede ingenieurs dan bij hobbyisten die de basis niet kennen. Als je aan hobbyisten verkoopt, zal de leercurve te steil zijn, zal de processorkracht niet wennen en zal SMT een ingebeelde bakstenen muur zijn. Over wie maak je je zorgen - hobbyistische klanten of potentiële werkgevers? Aub. nader toelichten.
Ik probeer niet beledigend te zijn, maar de vraag smeekt om te worden gesteld. Atmel is meer dan 25 jaar oud en heeft een andere zeer succesvolle markt dan ARM, AVR is op zichzelf een zeer succesvol platform. Wat is de kans dat zo'n bedrijf failliet gaat? Dit klinkt als te zeggen: "Gebruik geen vensters, wat als MicroSoft uitvalt?"
Ik ben het eens met je andere twee punten, namelijk dat als je een hobbyistenmarkt hebt, de kans zeldzaam is dat de volledige kracht van ARM wordt gebruikt en dat SMT een bakstenen muur is.
Is er geen Arduino Due met een SAM3XE (ARM 32 bits) uC erop? Omdat ik er nu een in mijn hand heb ...
Ik zou graag willen opmerken dat er "tegenwoordig" eigenlijk ARM-gebaseerde kaarten zijn die kunnen worden geprogrammeerd met Arduino (bibliotheken en IDE).Teensy 3.2 is hier een uitstekend voorbeeld van.https://www.sparkfun.com/products/13736
Tien antwoorden:
#1
+33
Adam Davis
2009-12-19 00:29:58 UTC
view on stackexchange narkive permalink

Kan het iemand überhaupt schelen waarop je aan het ontwikkelen bent?

Ja en nee. Ik ben aan het ontwikkelen op de AVR32 voor een bepaald project, en de ontwikkelomgeving (in het bijzonder de compileer / programma / debug-cyclus) is verschrikkelijk vergeleken met bijvoorbeeld PIC32.

De klanten niet zorg, behalve de kosten en het onderhoud, en in het geval van een arduino-achtig systeem zou het de programmeurs niet kunnen schelen, want de arduino-omgeving en ontwikkelingscyclus zijn met sprongen en grenzen beter dan de huidige AVR32-setup.

Ik vraag me af, want er is zo'n sterk contingent voor AVR's in de Arduino-familie. Ik begrijp dat zij de officiële processor zijn, maar er is geen reden waarom de code niet naar een ARM of een Freescale-architectuur anders dan de kosten kon worden geport, toch? Zolang er intern geheugen is, dacht ik dat er een gemakkelijke migratie naar die delen zou kunnen zijn.

Er is geen reden waarom een ​​andere processor niet zou kunnen zijn gebruikt, maar er is een zeer goede reden waarom ze een low-end 8-bit-apparaat hebben gekozen in plaats van een ARM-, MIPS-, PowerPC, enz. apparaat: gebruiksgemak.

Als je hebt gekeken naar de instellingen voor zelfs de low-end armen, het is een orde van grootte complexer (geheugenmapping, caching, enz.) dan een 8-bits processor. Maar nog belangrijker: er waren destijds geen DIP-armprocessors, en deze waren bedoeld om te worden gebruikt en gebouwd door artiesten en hackers, niet noodzakelijkerwijs elektronische technici en ingenieurs die zich op hun gemak voelen met zelfs een 48-pins TQFP.

De reden dat de AVR boven de PIC werd gekozen, is dat de PIC onder andere niet echt een veelgebruikte, open source, gratis C-compiler heeft (de SDCC-poort is niet volwassen).

Ik zie veel ARM in de industrie (het lijkt alsof elke leverancier er een in hun ontwerpen pusht) en vroeg me af waarom er niet meer gebruik werd gemaakt van de Arduino-ontwikkelaarswereld. Gedachten?

Dit komt voornamelijk door het gebruiksgemak - complexiteit, gemakkelijk te solderen, kosten en het feit dat er niet veel behoefte aan is. Ontwikkelaars houden van het idee om veel kracht te hebben, maar aan het eind van de dag, als je alleen maar wat servo's hoeft te verplaatsen en wat lampjes te laten knipperen met een low-end FFT, is een 8-bits processor prima.

Zelfs de low-end cortex ARMS die uitkomen in 28-pins pakketten zijn nog steeds SOIC, niet DIP.

Dus de AVR had alle juiste functies:

  • Eenvoudig te solderen
  • Eenvoudig via postorder over de hele wereld te krijgen
  • Gratis GCC C-compiler
  • Gemakkelijk te begrijpen van de processor en de installatie en het gebruik van randapparatuur
  • Goedkoop
  • Alomtegenwoordig - veel mensen en ervaring rondom de AVR-familie

Dit is grotendeels nog waar - ik ken geen ARM in een dip-formaat, en de adapters maken het aanzienlijk duurder dan de AVR. Voor het grootste deel denken fabrikanten niet dat een 32-bits DIP-processor erg winstgevend zal zijn.

Er is er een, de Parallax Propeller. Het heeft acht 32-bits CPU's op de chip en wordt geleverd in DIL-, QFP- en QFN-pakketten.
Dit is perfect. AVR via PIC vanwege licenties en AVR via ARM vanwege de eenvoud van software en toolchain en soldeervermogen. Voor uw eigen projecten is dit mogelijk niet van toepassing. Wil je echter een ARM-duino ontwikkelen, kijk dan eens naar de andere, vergelijkbare projecten. Ze slaan niet op zoals de AVR heeft. Dit kan ook te wijten zijn aan de Arduino-ontwikkelomgeving.
Welke AVR32-tools gebruikt u - ik gebruik IAR op zowel AVR32 als MSP en heb gemerkt dat deze omgeving zeer capabel is. De kosten zijn geen probleem in een professionele omgeving - gelijk aan minder dan de kosten van het een week in dienst nemen van een ingenieur.
Deze bewering over tools kan worden overwonnen - Arduino gebruikt gcc, die ook een AVR32-poort beschikbaar heeft.
NXP heeft nu een paar Cortex-M0 ARM's in een DIP-pakket. Ik denk uit de LPC11xx-familie. Ik stel me voor dat hun doelmarkt extreem goedkope, enkelzijdige printplaten van lage kwaliteit in apparaten is.
#2
+17
JohnC
2009-12-18 20:25:07 UTC
view on stackexchange narkive permalink

Armontwikkeling komt eraan - bekijk de volgende projecten.

Maple Leaf

XDuino

Cortino

Illuminato

ARM PRO-familie

En nu een ARM in een DIP-pakket.

NXP LPC1114FN28

BASICchip

#3
+16
Chintalagiri Shashank
2013-01-23 21:02:08 UTC
view on stackexchange narkive permalink

Aangezien het lijkt alsof je om mening vraagt, is hier mijn $ 0,02. Of ik nu aan een ARM of AVR werk, doet er toe (en daarom kan het mij ook schelen), meestal op basis van wat ik probeer te doen. Er zijn gevallen waarin een AVR zinvol is, en er zijn gevallen waarin een ARM dat doet. Over het algemeen is er ook een afweging tussen bijvoorbeeld AVR en PIC.

Ten eerste, hoewel ik waarschijnlijk in de problemen kom als ik dit zeg, is het "sterke contingent in de Arduino-familie" iets van een vocale minderheid. De meeste arduino-folk (gebruikers) die ik ben tegengekomen, zijn van het soort dat hun hardware liever op dezelfde manier behandelt als een python-script om iets leuks te doen, vaak met een lager niveau van begrip van de ingewikkelde kneepjes dan zij zou hebben wanneer ze "from numpy import foo" zouden doen. Hoewel er enige verdienste zit in de Arduino-manier om dingen te doen, is er ook veel ruimte voor kritiek.

Ik denk dat het de moeite waard is om naar de AVR's te kijken, afgezien van het Arduino-ecosysteem. Het Arduino-contingent heeft ook enorm geprofiteerd van de redenen die de AVR tot een defacto-standaard maakten voor hobbyistische dingen - een mantel die het steeds meer van PIC overneemt, zelfs voordat arduino zijn intrede deed. De directe concurrenten van de AVR zijn de PIC en tot op zekere hoogte de MSP430, die aan kracht wint dankzij de sterke marketingdruk van TI in combinatie met zijn subsidietools.

Ecosysteem

Zoals in andere antwoorden is vermeld, is de AVR de enige familie die een schone, gestandaardiseerde manier heeft om van nul naar hallo wereld te komen met behulp van gratis tools. De avr-gcc-port, de onderdelen die de winavr-toolchain maken, veel programmeerschema's met verschillende complexiteit en functies, maar nog steeds gebonden aan de autoriteit die is afgeleid van de ondersteuning door avrdude, maken het veel gemakkelijker dan het uitwerken van de toolchain.

Het ecosysteem van de PIC is een nachtmerrie, met een onbeperkt aantal compilers, programmeertools, assemblers, wat heb je ook. Velen van hen zijn niet compatibel met elkaar. De meeste worden betaald. Ze zijn niet allemaal goed. Wat nog belangrijker is, er is geen defacto-standaard. De gratis / open source-alternatieven (zeg maar SDCC) laten veel te wensen over, maar meer dan dat, zijn er niet in geslaagd om de status van defacto-standaard te verwerven zoals avr-gcc en het bedrijf hebben. Zelfs als de softwaretoolketen uitgewerkt is, zou je op zijn minst moeten investeren in een soort programmeur. De PICkit kost misschien maar 20 $ of zo, maar als je moet uitzoeken hoe je hem online kunt kopen (creditcards, internationale verzending, forex gedoe), kan het een dealbreaker zijn voor hobbyisten. Er is geen goed, betrouwbaar programmeercircuit met de standaardisatie die nodig is om een ​​nieuweling de moed te geven om moeite en middelen te investeren om van het punt van het vinden van een bron voor de IC naar het punt te komen waar Hello World is geprogrammeerd en de LED knippert .

MSP430 is iets beter, vooral omdat het nieuwer is (tenminste in termen van populariteit) - Er is veel minder lawaai om mee te kampen. TI verzendt IC-monsters naar u met efficiëntie die ik nergens anders heb gezien. mspgcc is in goede staat, en er is zelfs een open source foutopsporingssoftware die niet moeilijk te vinden of in te stellen is. Het probleem is echter dat het niet zo hobbyistvriendelijk is als de AVR. Je hebt nog steeds het probleem van de programmeur, die duurder is dan wat je voor een PIC zou moeten kopen. De 3.3v-voedingswerking werpt een waargenomen barrière op voor mensen die gewend zijn aan 5v Logic. En het schaalt niet in DIP - Er zijn low-end chips beschikbaar, maar niet als je eenmaal de meer uitgewerkte chips hebt bereikt.

Gebruiksgemak

DIP versus SMD, denk ik, is een belangrijker onderscheid dan vaak wordt aangenomen. Een DIP IC kan worden gebruikt op breadboard, borden voor algemene doeleinden, hoe ze ook worden genoemd waar u woont, enzovoort. Een SMD IC vereist noodzakelijkerwijs een fabricage of aankoop van adapterborden die niet altijd gemakkelijk te verkrijgen zijn in de maat of vorm die u wilt.

Datasheetkwaliteit, toepassingsnotities en de leesbaarheid ervan, maakt ook een verschil. Atmel lijkt daar iets beter in te slagen. Dat is natuurlijk een zeer subjectieve beoordeling.

AVR's kunnen een interne RC gebruiken, terwijl PIC's dat vaak niet doen. Ze vereisen een kristal, wat het een beetje onvoorspelbaar maakt in combinatie met een gebrek aan vertrouwen.

AVR's leken ook vriendelijker met programmeren in het systeem vergeleken met PIC's een paar jaar geleden, hoewel ik daar heel gemakkelijk ongelijk kon hebben.

AVR versus ARM

Uw vraag had echter te maken met AVR versus ARM. Zoals ik in het begin al zei, bezetten AVR en ARM verschillende ruimtes in het spectrum. Als je iets hebt dat je kunt doen met een AVR, waarom zou je het dan met een ARM willen doen? ARM's zijn duurder, vereisen meer onderdelen, verbruiken meer energie, zorgen voor meer gecompliceerde code, hebben duurdere fabricageprocessen nodig. Het solderen van een 100-pins TQFP is duurder dan het solderen van een 40-pins DIP / SOIC, afhankelijk van hoe u de kosten meet. Dit is misschien niet het geval als u in grote volumes produceert en productietechnieken gebruikt die daarmee vriendelijk zijn, maar als u dat doet, wordt het prijsverschil nog aantrekkelijker voor de goedkopere oplossing.

Als een go-to controller voor algemeen hacken in huis of wat dan ook, zou ik zeggen dat AVR gemakkelijker te gebruiken is omdat: - Meer gestandaardiseerd vanuit een hobbyistisch perspectief, meer code die ik van internet kan hergebruiken omdat er niet zoveel variaties in compilers zijn, en variaties tussen registernamen en API onder familieleden. (Probeer de LPC ARM-code over te dragen naar ATMEL ARM-hardware, u zult zien wat ik bedoel) - Code wordt inherent ingewikkelder (dat doet het. Echt waar). - De toolchain vereist extra werk om op te zetten. - Maakt de interfacing iets gemakkelijker. ARM's zouden je over het algemeen terugbrengen naar 3v3 of 1v8 Logic, waardoor interfacing met ander speelgoed enigszins problematisch is. - Goedkoper - Het kopen van een ARM-chip bij de plaatselijke ijzerhandel is geen optie voor mij waar ik woon, het krijgen van een AVR is dat wel.

Ik herinner me geen PIC's, afgezien van enkele OTP-onderdelen waar de fuse-bits voorgeprogrammeerd waren als onderdeel van fabriekstests (de enige manier om te bevestigen dat de LP-, XT- of HS-modus werkte, was door de chip voor die modus te configureren) dat vereiste een kristal. Sommige hadden een externe weerstand en dop nodig om de RC-modus te gebruiken, en hadden vrij ruwe specificaties over de frequentie die het zou produceren, maar ik kan me geen PIC's herinneren zonder een ontwerpoptie voor interne of externe RC. Ben ik er een vergeten?
In werkelijkheid zijn de ARM / AVR-kosten vrij dicht bij een wasbeurt voor vergelijkbare bronnen. En de pakketten die in een productieomgeving zouden worden gebruikt, zijn niet per se zo verschillend, aangezien het waarschijnlijk de QFP- of QFN-varianten van beide zijn. De vereiste ondersteuningscircuits zijn ook redelijk vergelijkbaar.
@Chris: Als je rekening houdt met de bronnen die elke chip biedt, zou ik zeggen dat ARM bijna elke keer goedkoper uitkomt. Dat gezegd hebbende, gaat het erom dat in situaties waarin AVR zinvol is in een productieomgeving, je het aantal pk's en / of de toeters en bellen die een ARM met zich meebrengt, niet _ nodig hebt. Wanneer gewogen met gebruikte middelen in plaats van beschikbare middelen, komt de AVR goedkoper uit. Ik denk niet dat het ondersteuningscircuit vergelijkbaar is (1 tantaalcondensator tegen 4, en andere soortgelijke spiralen). ARM is niet zozeer een duur beest als wel overdreven.
@supercat: Misschien. Ik zou het moeten controleren. Het leek me nooit duidelijk de paar keer dat ik ernaar keek. Ik weet wel dat tenminste sommige dsPIC's terug kunnen vallen naar intern, als je ze goed instelt, maar zelfs dat vergde een beetje giswerk en gekkigheid om te ontdekken. Gegevensbladen van microchips laten veel te wensen over, IMO, maar het hangt af van de markt waarnaar u kijkt.
@ChintalagiriShashank - door de andere randapparatuur te negeren en alleen naar de flash- en ram-formaten te kijken, zijn er ARM-aanbiedingen die redelijk concurrerend zijn met bijvoorbeeld de ATMEGA328p. En laat u niet te veel afleiden door bypass-doppen. Ten eerste kan tantaal zinvol zijn als toevoerfilter, maar werkelijke bypass-doppen zijn lokale reservoirs met een lagere waarde voor de hoogfrequente schakelvereisten en kunnen dus goedkope SMT-keramiek zijn. Wat ook de behoefte drijft, is de klok- en I / O-schakelfrequentie - bij een vergelijkbare kloksnelheid heeft de ARM niet alle aanbevolen bypass-caps nodig.
Ik zou zeggen dat de 328p zelf een soort AVR op steroïden is, maar dan zou je naar de 1280 en vrienden wijzen. Als het erop aankomt dat ik die hoeveelheid flitser en ram eigenlijk gebruik (meer rammen. Ik heb in de meeste gevallen nog nooit echt de bovenkant van de flitser gezien), is dat meestal in een situatie waarin een arm zinvol is. Over het algemeen wordt dat punt eerder bereikt vanwege IO-beperkingen voor mijn applicaties. Er zijn echter tal van plaatsen waar ik een 48 of 88 zou gebruiken, en vaak is een attiny verleidelijk.
#4
+12
Craig Trader
2009-12-18 23:09:41 UTC
view on stackexchange narkive permalink

Een deel van de reden voor de grote interesse van de gemeenschap in de Arduino is de fysieke standaardisatie. Hoe smerig de fysieke lay-out ook is, door een gestandaardiseerde uitbreidingsoptie op te nemen, lieten de Arduino-ontwikkelaars mensen hun eigen oplossingen bedenken. Als je het basis Arduino-bord wilt vervangen door een ander bord dat een andere microcontroller gebruikt, kan dat. IIRC, iemand heeft al een PIC-gebaseerd bord gebouwd dat de Arduino-vormfactor gebruikt. (Het PIC Ardunio-bord heeft niet dezelfde vormfactor, maar is verder vergelijkbaar.)

Een andere reden voor het succes van de Arduino is de openheid - de meeste de op PIC gebaseerde microcontrollers werden gesloten; Ze gebruikten eigen hardware-implementaties, dus als je het bord opnieuw wilde ontwerpen om beter in een specifieke ruimte te passen, had je pech. Ze gebruikten aangepaste firmware en eigen ontwikkelingstools, zodat als je bugs had of de mogelijkheden wilde uitbreiden, je pech had. Met de Arduino ligt elk stukje van de puzzel open: je kunt overal onderdelen kopen, ze naar behoefte herschikken, de firmware EN de ontwikkeltools verbeteren of aanpassen. Je kunt eenvoudig beginnen met de Arduino IDE, maar je kunt nog steeds overschakelen naar C of Assembly wanneer je hem nodig hebt.

Persoonlijk vind ik de Arduino leuk omdat hij veel dingen 'precies goed' krijgt: het is niet het is te duur, het zit niet vast aan propriëtaire tools, het is gemakkelijk om mee te beginnen, het heeft veel mogelijkheden en het heeft een grote gebruikersgemeenschap die zich blijft uitbreiden en leuke dingen doet.

Je noemde hele goede redenen waarom microcontroller-hobbyisten Arduino leuk vinden, maar de vraag ging over ARM versus AVR. Arduino werd genoemd vanwege zijn beslissing om de AVR-serie MCU's te selecteren voor de implementatie ervan. Ik denk dat er nog meer relevante antwoorden onder je bericht staan; bijvoorbeeld het feit dat Atmel zijn AVR-serie ondersteunt met een C-compiler. Toch goede info voor iemand die niet bekend is met Arduino.
#5
+7
jluciani
2009-12-18 20:41:00 UTC
view on stackexchange narkive permalink

Een groot voordeel van de ATmel uC's is dat er een gratis compiler beschikbaar is voor Linux, pc en Mac. Voeg daar een simpele cross-platform GUI aan toe en je hebt een gratis ontwikkelsysteem dat op alle platformen draait.

De kosten zijn een belangrijke factor voor de hobbyistenborden. Aangezien u een startprijs in het bereik van $ 30 wilt hebben, moet u een uC-kostprijs hebben die niet hoger is dan een paar dollars.

ARM zou een uitstekende kandidaat zijn voor de hogere boards. Veel bedrijven hebben een licentie voor de ARM-kern en voegen randapparatuur toe. Ik geloof dat er gratis compilers zijn voor Linux, pc en MAC.

Ik hou echt van de Freescale Coldfire voor high-end boards. Ik heb aan boord gewerkt voor testapparatuur die een 5206e gebruikte. We hebben wat DRAM en zeer nauwkeurige A / D- en D / A-converters toegevoegd. Het was een kosteneffectieve oplossing. Ik heb Coldfire onlangs niet vergeleken met de grote verscheidenheid aan ARM's.

Sommige van de 8-bit Freescale UC's zijn aardig, maar ik weet niet zeker of ze gratis tools hebben.

Bedankt voor de nuttige opmerking, maar de 8 regels 'handtekening' zijn een beetje extreem, deze op stackoverflow gebaseerde sites hebben de neiging om in uw antwoorden neer te kijken op het adverteren van uw eigen sites.
@jluciani, als u uw andere websites wilt adverteren, plaats dan de links in uw profiel, niet in uw antwoorden. Je blog is tenslotte niet het antwoord op * deze * vraag ...
#6
+5
old_timer
2010-07-20 06:28:34 UTC
view on stackexchange narkive permalink

Ik ben het eens met het dip-pakket, ben het er niet mee eens dat armen moeilijker te configureren zijn, lpcs zijn, maar ze zijn niet het enige kind op het armblok (wat dat betreft zelf). Van wat ik me herinner en heb ervaren, was en is Atmel misschien nog steeds gewoon ontwikkelaarsvriendelijker. De AVR-vlinder heeft hen enorm geholpen om meer gebruikers naar hun toch al goede en gelukkige gebruikersbestand te krijgen. De PIC was op veel manieren gewoon pijnlijk, de avr-tools waren er, programmeren was een fluitje van een cent en kostte je niet veel meer dan een paar draden en een connector van de radio shack. De tools zijn er en gratis, maar niet zo eenvoudig als mainline gcc, waar je de arm- en duimoplossingen vindt. Lang voordat de Arduino uitkwam, was de AVR de chip bij uitstek voor hobbyprojecten.

Niets kan op dit moment concurreren met ARM. Voor elke andere processor die je op een dag aanraakt, raak je minimaal een paar ARM's aan. Voor sommigen gebruikt bijna alles wat u aanraakt een ARM. Het past perfect als de 8-bit-killer, kan veel betere prestaties krijgen dan een 8-bit voor dezelfde grootte, prijs, enz. Tools zijn veel beter, instructieset is veel schoner dan de meeste van zijn concurrenten, dus dezelfde code wordt uitgevoerd dat veel sneller, etc. Omdat iedereen en hun broer een ARM kunnen insluiten en het is niet opgesloten in een bedrijf zoals pic, avr, msp430, zijn er een grote verscheidenheid aan oplossingen en evenveel verschillende manieren om met de microcontroller rom / ram-mengsels om te gaan en de interruptvectortabel. Helaas is de meer populaire oplossing de meest pijnlijke. Probeer een sam7 of iets dergelijks of een stellaris. Er is een armmite pro die een poging is om een ​​arduino-plug-in op arm te maken, of iets dat daar in de buurt van komt, en ik vind dat board echt leuk.

Het is niet altijd de processor die het probleem is, sommige chips hebben bekende problemen, sommige hebben andere bekende problemen. sommige bieden misschien geen open collector io-pin met een zwakke pull-up en je zou hardware buiten de chip moeten plaatsen om met iets te communiceren, terwijl een ander dat misschien beschikbaar heeft op een of alle pinnen. Ik raad aan om het veld te bemonsteren, de verschillende bedrijven en oplossingen uit te proberen, zodat wanneer je een laag vermogen wilt, je gemakkelijk een msp430 kunt gebruiken, je verwerkingskracht wilt in een kleine chip die je met de arm kunt gebruiken of als je een open project wilt maken waarvan je hoopt anderen zullen in hun garage bouwen, je baseert het op een Arduino, als je kunt.

Waar het bij je vraag uiteindelijk om gaat, is dat het echt afhangt van je applicatie en hoe je het schrijft en de prestaties en bronnen die je gebruikt geïnteresseerd in. Op dezelfde manier dat gcc of firefox op veel verschillende platforms en processors zal draaien, kunt u uw C-toepassing zeker schrijven om op een breed scala aan microcontrollers te draaien ... IF ... je hebt een microcontroller-specifieke abstractielaag, die kosten met zich meebrengt. als de microcontrollers vergelijkbare functies hebben en de functies hebben die u nodig hebt en u vooruit plant en deze integreert. Als het volgende platform voldoende geheugen / bronnen heeft. U bent meer geïnteresseerd in draagbaarheid dan in prestaties, enz. Wellicht moet u dit van tevoren plannen. of in ieder geval bij de eerste overstap van A naar B herontwerp je de software, als / wanneer er een derde overstap is van B naar C is dat minder pijnlijk.

Niets kan op dit moment concurreren met ARM. <- In de industrie. In de hobbywereld is AVR nog steeds echt heel sterk en zal dat nog lang zijn.
Helemaal mee eens dat de ene wereld enorm populair is, een andere wereld die toevallig degene is waar de producten die we kopen een aanraking en gebruiken zijn, waar het geld is, het is iets anders. Dus leer voor de lol thuis de een, leer voor je dagelijkse baan de andere en speel de hele dag en de hele nacht.
#7
+4
jeremy
2009-12-18 20:17:36 UTC
view on stackexchange narkive permalink

Ik weet dat je zei "anders dan de kosten", maar dat is eigenlijk het belangrijkste voor hobbyisten. U hebt niet meer dan één UART of meer dan één SPI nodig voor wat bedoeld is als een goedkoop, generiek platform. Zodra je snelheden van> 20mhz nodig hebt, zou je echt naar een aangepaste setup moeten kijken (ymmv natuurlijk)

#8
+3
David Sainty
2013-10-22 02:09:53 UTC
view on stackexchange narkive permalink

Een paar kleine punten die in de andere commentaren niet aan de orde zijn gekomen:

  • Een Arduino is bedoeld voor kleinschalige I / O-projecten en voegt een kleine hoeveelheid intelligentie toe aan een circuit. Het zijn meestal real-time apparaten met één schroefdraad, waarbij een ARM erg verspild zou zijn. Er zijn natuurlijk tal van opties voor ARM-borden, maar de use-case is normaal gesproken anders - ze starten meestal op in een volledig besturingssysteem.

  • Door zich te richten op deze kleinschalige use-case , wordt al het andere gemakkelijker - aantal pinnen, ondersteuningscomponenten, stroomverbruik enz.

Dat gezegd hebbende, voor het doelgebruik van de Arduino is het niet zoals jij bent sloppenwijken. Een 16MHz-processor is een hoop grom voor je wekker met geïntegreerde LED-chaser (of wat dan ook :)

#9
+2
Olin Lathrop
2013-04-26 17:05:09 UTC
view on stackexchange narkive permalink

Arduino is beschikbaar op andere processors. Bekijk bijvoorbeeld de ChipKit van Microchip. Dat gebruikt een PIC 32.

Sorry In, de titel was een verkeerde poging van mij om de vraag te bewerken, gemaakt vanuit de inhoud. Het zou nu correcter moeten zijn.
#10
+1
EFM32
2013-04-29 16:03:00 UTC
view on stackexchange narkive permalink

Tweede poging (de oorspronkelijke titel van het bericht en de vraag van +3 jaar geleden zijn gewijzigd sinds het oorspronkelijke antwoord):

Kip en ei, maar vooral de laatste paar jaar (in 2007 lanceerde ARM Cortex-M-architectuur ), Zijn 32-bits MCU's in populariteit gegroeid en zijn leveranciers beter in het bieden van snellere en gemakkelijkere toegang voor de EE-gemeenschap bij het ontwerpen in> 8-bits micros (betere SW-tools, gratis tools, meer voorbeelden ...). p>

Omdat Atmel, samen met 100 anderen, ook Cortex-M-apparaten aanbiedt en zijn toolchain heeft geüpgraded om AVR naar ARM te ondersteunen, plus de al lang bestaande relatie, wordt het Arduino-upgradepad gegeven (?). Maar alternatieven duiken op en lijken alternatieve pogingen te omvatten om een ​​deel van de "hobbyist" -cake te krijgen: bijv. mbed door NXP / ARM, en recentelijk "CoAction Hero",: 32-bit Open-Source ARM Cortex-M3 Board op KickStarter.

Laatste gedachte, 3 jaar na de eerste vraag: wanneer alle leveranciers 32 -bit Cortex-M-kernen - zou de Arduino nu eigenlijk niet-Atmel kunnen worden?

Oorspronkelijk antwoord: Alf-Egil Bogen, een van de medeoprichters van Atmel AVR, kijkt naar een deel van de achtergrond voor de overstap van de industrie van 8-bit naar 32-bit ARM-cores in zijn videoblog hier http://blog.energymicro.com/2013/04/24/avr2arm/.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...