Varför används AVR i Arduino?

Varför använder Arduino AVR? Jag förstår att de är den officiella processorn men det är inte en anledning att koden inte kunde överföras till en ARM eller en Freescale-arkitektur än kostnad, eller hur? Så länge det finns ett inbyggt minne, tänkte jag att det kunde vara lätt att migrera till dessa delar.

Jag ser mycket ARM i branschen (verkar som om varje leverantör driver en in i sin design) och undrade varför det fanns inte mer upptag i Arduino-utvecklarvärlden.

Kommentarer

  • Vem är din marknad? Om du ’ försöker sälja något stort i branschen, då vill du ’ en ARM, för om Atmel går under, ’ vi har ingenting kvar om du ’ använder AVR. Med ARM finns ’ många andra leverantörer som erbjuder nästan drop- i ersättare. Den ökade komplexiteten i ARM är mindre problem med bra ingenjörer än med hobbyister som inte ’ inte vet grunderna. Om du ’ återförsäljning till hobbyister kommer inlärningskurvan att vara för brant, processorkraft vann ’ inte vänja sig, och SMT kommer att vara en tänkt tegelvägg. Vem är du orolig för hobbykunder eller potentiella arbetsgivare? Pls. klargöra.
  • Jag försöker inte vara stötande, men frågan ber att ställas. Atmel är mer än 25 år gammal, med en mycket framgångsrik marknad förutom ARM, AVR i sig är en mycket mycket framgångsrik plattform. Vilka är chanserna för att ett sådant företag går ner. Detta låter som att säga, ” Don ’ t använda windows, vad händer om MicroSoft går ner? ”
  • Jag håller med dina andra två punkter, nämligen att om du har en hobbymarknad är chansen sällsynt att ARM: s fulla kraft kommer att utnyttjas och att SMT är en tegelvägg.
  • Finns det inte ’ en Arduino Due med en SAM3XE (ARM 32 bitar) uC på? För, jag har en i min hand just nu …
  • Jag vill notera att ” idag ” det finns faktiskt ARM-baserade kort som kan programmeras med Arduino (bibliotek och IDE). Teensy 3.2 är ett utmärkt exempel på detta. sparkfun.com/products/13736

Svar

Är det någon som bryr sig om vad du utvecklar vidare?

Ja och nej. Jag har utvecklat på AVR32 för ett visst projekt och utvecklingsmiljön (särskilt kompilerings- / program / felsökningscykeln) är hemskt jämfört med till exempel PIC32.

Kunderna bryr sig inte, förutom kostnad och underhåll, och i fallet med ett arduino-liknande system skulle programmerarna inte bry sig eftersom arduino-miljön och utvecklingscykeln är snabbare än den nuvarande AVR32-installationen.

Jag undrar bara för att det finns en så stark kontingent för AVR i Arduino-familjen. Jag förstår att de är den officiella processorn men det är inte en anledning att koden inte kunde överföras till en ARM eller en Freescale-arkitektur än kostnad, eller hur? Så länge det finns ett inbyggt minne, tänkte jag att det kunde vara lätt att migrera till dessa delar.

Det finns ingen anledning till att en annan processor kunde inte användas men det är en mycket god anledning att de ”har valt en låg 8-bitars enhet snarare än en ARM-, MIPS-, PowerPC-enhet etc.: användarvänlighet.

Om du har tittat på inställningen för även de låga armarna, är det en storleksordning mer komplex (minneskartläggning, cachning osv.) än en 8-bitars processor. Men ännu viktigare – vid den tiden fanns inga DIP-armprocessorer, och dessa var avsedda att användas och byggas av artister och hackare, inte nödvändigtvis elektroniska tekniker och ingenjörer som känner sig bekväma med till och med en 48-stifts TQFP.

Anledningen till att AVR valdes framför PIC är att PIC verkligen inte har en allmänt använd öppen källkod, gratis C-kompilator, bland annat (SDCC-porten är inte mogen).

Jag ser mycket ARM i branschen (verkar som att varje leverantör driver en in i sin design) och undrade varför det inte fanns mer upptag i Arduino-utvecklaren världen. Tankar?

Det är främst på grund av användarvänlighet – komplexitet, lätt att löda, kostnad och det faktum att det finns ”s inte mycket behov av det. Utvecklare gillar tanken på att ha mycket kraft, men i slutet av dagen när allt du behöver göra är att flytta några servor och blinka några lampor med en låg-FFT, en 8 bit processorn är bara bra.

Till och med low-end cortex ARMS som kommer ut i 28-stiftspaket är fortfarande SOIC, inte DIP.

Så AVR hade alla rätt funktioner:

  • Lätt att löda
  • Lätt att få via postorder över hela världen
  • Gratis GCC C-kompilator
  • Lätt att förstå processorn och perifer installation och användning
  • Billigt
  • Allestädes närvarande – massor av människor och erfarenhet kring AVR-familjen

I stort sett är det fortfarande sant – jag känner inte till en ARM i doppformat, och adaptrarna gör det betydligt dyrare än AVR. För det mesta gör tillverkarna inte ” tänk inte att en DIP-packad 32-bitars processor kommer att bli mycket lönsam.

Kommentarer

  • Det finns en, Parallax Propeller. Den har åtta 32-bitars processorer på chipet och kommer i DIL-, QFP- och QFN-paket.
  • Det här är spot-on. AVR över PIC på grund av licensiering, och AVR över ARM på grund av enkelhet i programvara och verktygskedja och lödningsförmåga. För dina egna projekt kanske detta inte gäller. Men om du vill utveckla en ARM-duino, ta en titt på de andra liknande projekten. De tar inte ’ som AVR har. Detta kan också bero på Arduino dev-miljön.
  • Vilka AVR32-verktyg använder du – Jag använder IAR på både AVR32 och MSP och har funnit att denna miljö är mycket kapabel. Kostnaden är inte en fråga i en professionell miljö – motsvarande mindre än kostnaden för att anställa en ingenjör i en vecka.
  • Detta påstående om verktyg kan övervinnas – Arduino använder gcc som också har en AVR32-port tillgänglig .
  • NXP har nu några Cortex-M0 ARM i ett DIP-paket. Jag tror från LPC11xx-familjen. Jag föreställer mig att deras målmarknad är extremt billig, ensidig kretskort av låg kvalitet i apparater.

Svar

Eftersom du verkar vara avfrågad för åsikter, här är min $ 0,02. Huruvida jag jobbar med en ARM eller AVR spelar någon roll (och därför bryr jag mig inte), mestadels baserat på vad det är jag försöker göra . Det finns användningsfall där en AVR är meningsfull och det finns sådana när en ARM gör det. I allmänhet finns det också en avvägning mellan, säg, AVR och PIC.

Först och främst, medan Jag kommer förmodligen få problem för att säga detta, den ” starka kontingenten i Arduino-familjen ” är något av en högljudd minoritet. arduino folk (användare) Jag ”har stött på är den typen som hellre vill behandla sin hårdvara på samma sätt som de” piskar upp ett python-skript för att göra något underhållande, ofta med lägre förståelse för de inblandade detaljerna än de skulle har när de ”d gör ” från numpy i mport foo ”. Även om det finns en del förtjänster i Arduino-sättet att göra saker, finns det också en hel del utrymme för kritik.

Jag tycker att det är värt att titta på AVR-apparaterna, bortsett från Arduino-ekosystemet. Arduino-kontingenten har också haft stor nytta av orsakerna som gjorde AVR till en defacto-standard för hobbyartiklar – en mantel som den har tagit över allt mer från PIC redan innan arduino gjorde sitt utseende. AVR: s direkta konkurrenter skulle vara PIC och till viss del MSP430, som får dragkraft till stor del tack vare TI: s tunga marknadsföringskombination i kombination med dess subventioneringsverktyg.

Ekosystem

Som nämnts i andra svar, AVR är den enda familjen som har ett rent, standardiserat sätt att komma från noll till hejvärld med hjälp av gratisverktyg. Avr-gcc-porten, bitarna som gör winavr verktygskedja, gott om programmeringsscheman med varierande komplexitet och funktioner men fortfarande bundna av den myndighet som härrör från att stödjas av avrdude gör det mycket lättare än att hantera att få verktygskedjan utarbetad.

PIC: s ekosystem är en mardröm, med ett antal kompilatorer, programmeringsverktyg, monterare, vad har du. Många av dem är inte kompatibla med varandra. De flesta är betalda. Inte alla är bra. Ännu viktigare, det finns inte en defacto-standard. Alternativen för fri / öppen källkod (säg SDCC) lämnar mycket att önska, men mer än så har de inte lyckats få status som defacto-standard som avr-gcc och företag har. Även med att verktygskedjan för programvara har fungerat måste du åtminstone investera i en programmerare av något slag. PICkit kan bara kosta 20 $ eller så, men när du måste ta reda på hur du köper det online (kreditkort, internationell frakt, forex-krångel), kan det vara en deal breaker för hobbyister. Det finns ingen bra, pålitlig programmeringskrets med den standardisering som är nödvändig för att ge en nybörjare modet att investera ansträngningar och resurser för att komma från punkten att hitta en källa för IC till den punkt där Hello World är programmerad och lysdioden blinkar.

MSP430 är marginellt bättre, främst på grund av att det är nyare (åtminstone i termer av popularitet) – Det finns mycket mindre buller att kämpa med. TI skickar IC-prover till dig med effektivitet som jag inte har sett någon annanstans.mspgcc är i OK-form och det finns till och med en programvara för felsökning med öppen källkod som inte är svår att hitta eller ställa in. Problemet är dock att det inte är så hobbyvänligt som AVR. Du har fortfarande problemet med programmeraren, vilket är dyrare än vad du skulle behöva köpa för en PIC. 3.3v försörjningsoperationen utgör en uppfattad barriär för människor som är vana vid 5v Logic. Och det går inte att skala i DIP – det finns låga ändar tillgängliga, men inte en gång når du de mer utplånade chipsen.

Användarvänlighet

DIP vs SMD, tror jag , är en viktigare åtskillnad än vad det ofta krediteras vara. En DIP IC kan användas på brädbräda, allmänna brädor, oavsett vad de kallas där du bor, och så vidare. En SMD IC kräver nödvändigtvis en tillverkningskörning eller köp av adapterkort som inte alltid är lätta att få med i den storlek eller form du vill ha.

Databladets kvalitet, applikationsanmärkningar och läsbarheten av dem, gör också skillnad. Atmel verkar göra ett marginellt bättre jobb på det. Naturligtvis är det en mycket subjektiv bedömning.

AVR kan använda en intern RC medan PIC ofta inte gör det. De kräver en kristall, vilket gör det lite tärligt när det kombineras med ett brist på förtroende.

AVR-apparater verkade också mer vänliga med systemprogrammering jämfört med PIC för några år sedan, även om jag mycket lätt kunde ha fel där.

AVR vs ARM

Din fråga hade dock att göra med AVR vs ARM. Som jag sa i början upptar AVR och ARM olika utrymmen i spektrumet. Om du har något du kan göra med en AVR, då varför skulle du vilja göra det med en ARM? ARM är dyrare, kräver högre delantal, förbrukar mer energi, ger mer komplicerad kod, behöver dyrare tillverkningsprocesser. Lödning av en 100-stifts TQFP är dyrare än lödning av en 40-stifts DIP / SOIC, beroende på hur du mäter Detta kanske inte håller om du producerar i stora volymer och använder produktionstekniker som är vänliga med det, men om du gör det kommer prisskillnaden att bli ännu mer övertygande att gå med den billigare lösningen.

Som en go-to-controller för allmän hacking runt huset eller vad har du, skulle jag säga att AVR är lättare att använda eftersom:

  • Mer standardiserat ur ett hobbyperspektiv, mer kod kan jag återanvända från internet eftersom det inte finns så många kompilatorvarianter och variationer mellan registernamn och API bland familjemedlemmar. (Försök att överföra LPC ARM-kod till ATMEL ARM-hårdvara, du kommer att se vad jag menar)
  • Koden blir till sin natur mer komplicerad (Det gör det. Verkligen).
  • Verktygskedjans tak es ytterligare arbete att installera.
  • Gör gränssnittet lättare. ARM skulle i allmänhet tappa ner dig till 3v3 eller 1v8 Logik som gör gränssnitt till andra leksaker lite problematisk.
  • Billigare
  • Att få ett ARM-chip på den lokala hårdvaruaffären är inte ett alternativ för mig där jag bor är det att få en AVR.

Kommentarer

  • Jag don ’ för att komma ihåg några PIC, förutom vissa OTP-delar där säkringsbitarna var förprogrammerade som en del av fabrikstesterna (det enda sättet att bekräfta att LP-, XT- eller HS-läget fungerade var att konfigurera chipet för det läget) som krävde en Vissa krävde ett externt motstånd och lock för att använda RC-läge och hade ganska grova specifikationer för frekvensen det skulle producera, men jag minns ’ inte några PIC utan designalternativ för intern eller extern RC. Har jag glömt någon?
  • I själva verket är ARM / AVR-kostnaden ganska nära tvätt för jämförbara resurser. Och paketen som skulle användas i en produktionsinställning är inte ’ t nödvändigtvis så annorlunda, eftersom det sannolikt skulle vara QFP- eller QFN-varianterna av någon av dessa. Stödkretsar som krävs är också ganska jämförbara.
  • @Chris: När du tar hänsyn till de resurser som varje chip tillhandahåller säger jag ’ att ARM kommer att bli billigare nästan varje gång. Med det sagt är poängen att i situationer där AVR är meningsfullt i en produktionsmiljö är det att du inte behöver ’ t behöver hästkrafterna och / eller klockorna och visselpipor som en ARM ger till bordet. När den vägs med utnyttjade resurser istället för tillgängliga resurser blir AVR billigare. Jag tror inte ’ att stödkretsarna är jämförbara (1 tantalkondensator mot 4 och andra liknande spiraler). ARM är inte ’ t ett dyrt odjur så mycket som det kan vara överdrivet.
  • @supercat: Kanske. Jag måste ’ kontrollera. Det verkade aldrig självklart för mig de få gånger jag tittade på det. Jag vet att åtminstone vissa dsPIC kan falla tillbaka till interna, om du ställer in dem rätt, men även det tog lite gissningar och lurar för att upptäcka. Datablad med mikrochips lämnar mycket att önska, IMO, men beror igen på vilken marknad du ’ tittar på.
  • @ChintalagiriShashank – ignorerar andra kringutrustning och tittar bara på flash & ramstorlekar det finns ARM-erbjudanden som är ganska konkurrenskraftiga med till exempel ATMEGA328p. Och bli inte ’ för distraherad av bypass-lock. För det första kan tantal vara meningsfullt som ett försörjningsfilter, men verkliga bypasslock är lokala reservoarer med lägre värde för högfrekventa omkopplingskrav och det kan också vara billig SMT-keramik. Det som driver behovet är också klock- och I / O-omkopplingsfrekvens – vid en jämförbar klockfrekvens behöver ARM faktiskt inte alla de rekommenderade bypass-locken.

Svar

Armutveckling pågår – ta en titt på följande projekt.

Maple Leaf

XDuino

Cortino

Illuminato

ARM PRO-familj

Och nu en ARM i ett DIP-paket.

NXP LPC1114FN28

BASICchip

Svar

En del av anledningen till det stora samhällets intresse för Arduino är den fysiska standardiseringen. Så skruvig som den fysiska layouten är, genom att inkludera ett standardiserat expansionsalternativ, tillät Arduino-utvecklarna människor att komma med sina egna lösningar. Om du vill byta ut Arduino-baskortet med ett annat kort som använder en annan mikrokontroller kan du. IIRC, någon har redan byggt ett PIC-baserat kort som använder Arduino-formfaktorn. ( PIC Ardunio-kortet har inte samma formfaktor, men är i övrigt lika.)

En annan anledning till framgången för Arduino är i sin öppenhet – de flesta av de PIC-baserade mikrokontrollerna var stängda; de använde egna maskinvaruimplementeringar, så om du ville omforma kortet för att bättre passa in i ett visst utrymme hade du tur. egna utvecklingsverktyg, så att om du hade buggar eller ville utöka funktionerna hade du inte turen. Med Arduino är varje bit i pusslet öppet: du kan köpa delar var som helst, ordna om dem efter behov, förbättra eller ändra firmware OCH utvecklingsverktygen. Du kan börja enkelt med Arduino IDE, men du kan ändå växla till C eller Assembly när som helst du behöver det.

Personligen gillar jag Arduino eftersom det får mycket saker ”precis rätt”: det är inte för dyrt, det är inte låst i egna verktyg, det är lätt att börja med, det har mycket förmåga, och den har en stor användargrupp, som fortsätter att expandera och göra snygga saker.

Kommentarer

  • Du listade mycket goda skäl att mikrokontroller hobbyister som Arduino, men frågan handlade om ARM vs AVR. Arduino nämndes på grund av sitt beslut att välja AVR-serien av MCU för dess implementering. Jag tror att några mer relevanta svar ligger under ditt inlägg; till exempel det faktum att Atmel stöder sin AVR-serie med en C-kompilator. Bra information ändå för någon som inte känner till Arduino.

Svar

En stor fördel för ATmel uCs är att det finns en gratis kompilator tillgänglig för Linux, PC och Mac. Lägg till det en enkel gränssnittsgränssnitt så har du ett gratis utvecklingssystem som körs på alla plattformar.

Kostnaden är en viktig faktor för hobbyistkorten. Eftersom du vill ha ett startpris i $ 30-intervallet måste du ha en UC-kostnad som inte är mer än ett par dollar.

ARM skulle vara en utmärkt kandidat för de högre styrelserna. Många företag licensierar ARM-kärnan och lägger till kringutrustning. Jag tror att det finns gratis kompilatorer för Linux, PC och MAC.

Jag gillar verkligen Freescale Coldfire för avancerade kort. Jag arbetade på en tavla för testutrustning som använde en 5206e. Vi lade till några DRAM- och A / D- och D / A-omvandlare med hög noggrannhet. Det var en kostnadseffektiv lösning. Jag har inte nyligen jämfört Coldfire med det stora utbudet av ARM ”.

Några av 8-bitars Freescale uC är trevliga men jag är inte säker på om de har gratis verktyg.

Kommentarer

  • Tack för den användbara kommentaren, men de 8 raderna med ’ signatur ’ är lite extrem, dessa stackoverflow-baserade webbplatser tenderar att se ner på att annonsera dina egna webbplatser i dina svar.
  • @jluciani, om du vill marknadsföra dina andra webbplatser, lägg länkarna i din profil , inte i dina svar. När allt kommer omkring är din blogg inte svaret på denna fråga …

Svar

Jag håller med dip-paketet, håller inte med att armarna är svårare att konfigurera, men lcs är, men de är inte det enda barnet på armblocket (atmel själv för den delen).Enligt vad jag minns och upplevde var Atmel och är kanske fortfarande mer utvecklarvänlig. AVR-fjärilen hjälpte dem mycket att få fler användare till sin redan bra storlek och glada användarbas. PIC var bara smärtsamt på många sätt, avr-verktygen fanns, programmering var en vind och kostade dig inte mycket mer än några ledningar och en kontakt från radiohack. Verktygen finns och gratis men inte lika lätt som mainline gcc där du hittar lösningarna för arm och tumme. Långt innan arduinoen kom ut var AVR det bästa valet för hobbyprojekt.

Ingenting kan konkurrera med ARM just nu. För någonsin andra processorer du berör på en dag berör du åtminstone några ARM. För vissa använder nästan allt du rör en ARM. Det är en naturlig passform eftersom 8-bitars mördare, kan få mycket bättre prestanda än en 8 bit för samma storlek, pris etc. Verktyg är mycket bättre, instruktionsuppsättningen är mycket renare än de flesta av dess konkurrens så samma kod körs som mycket snabbare osv. Eftersom vem som helst och deras bror kan bädda in en ARM och den inte är låst i ett företag som pic, avr, msp430 finns det ett brett utbud av lösningar och så många olika sätt att hantera mikrocontroller rom / ram-blandningar och avbrottsvektortabellen. Tyvärr är den mer populära lösningen den mest smärtsamma. Prova en sam7 eller något liknande eller en stellaris. Det finns ett armmite pro som är ett försök att göra ett armbaserat arduino-plugin, eller något nära det och jag gillar faktiskt det kortet.

Det är inte alltid processorn som är problemet, vissa marker har känt kan problem, vissa har andra kända problem. vissa kanske inte erbjuder en öppen samlare io-stift med en svag pull up och du måste sätta hårdvara utanför chipet för att gränssnitt till något, där en annan kan ha den tillgänglig på en eller alla stiften. Jag rekommenderar att prova fältet, prova olika företag och lösningar så att när du vill ha låg effekt kan du enkelt använda en msp430, du vill ha processorkraft i ett litet chip du går med arm eller om du vill göra ett öppet projekt som du hoppas andra kommer att bygga i sitt garage, du baserar det på en arduino, om du kan.

Kärnan men för din fråga är det verkligen beror på din applikation och hur du skriver den och prestanda och resurser du är intresserad av. På samma sätt som gcc eller firefox kommer att köras på många olika plattformar och processorer, kan du med säkerhet skriva din C-applikation för att köra på en mängd olika mikrokontroller … IF … du har ett mikroprocessorspecifikt abstraktionsskikt som har en kostnad. om mikrokontrollerna har tillräckligt många funktioner och har de funktioner du behöver och du planerar och införlivar dessa. Om nästa plattform har tillräckligt med minne / resurser. Du är mer intresserad av bärbarhet än prestanda, etc. Förmodligen måste du planera för detta i förväg. eller åtminstone vid den första omkopplaren från A till B designar du om programvaran, om / när det finns en tredje omkoppling från B till C är det mindre smärtsamt.

Kommentarer

  • Ingenting kan konkurrera med ARM just nu. < – I branschen. I hobbyvärlden är AVR fortfarande riktigt, riktigt stark och kommer att vara under lång tid.
  • Helt överens om en värld avr är galen populär, en annan värld som råkar vara den där produkterna vi köper en touch och användning är, där pengarna är, det är något annat. Så för skojs skull lär du dig en, för ditt dagjobb lär dig den andra och och få spela hela dagen och hela natten.

Svar

Jag vet att du sa ”annat än kostnad”, men det är verkligen det viktigaste för hobbyister. Du behöver inte mer än en UART eller mer än ett SPI för vad som är tänkt att vara en billig, generisk plattform. När du börjar behöva> 20 MHz-hastigheter, borde du verkligen titta på en anpassad installation (ymmv förstås)

Svar

Ett par små punkter som inte tas upp i de andra kommentarerna:

  • En Arduino är avsedd för I / O-projekt i liten skala och lägger till en liten mängd intelligens i en krets. De är vanligtvis enkla trådade realtidsenheter, där en ARM skulle vara mycket bortkastad. Det finns naturligtvis många alternativ för ARM-kort , men användningsfallet är normalt annorlunda – vanligtvis startar de upp i ett fullskaligt operativsystem.

  • Genom att rikta in sig på det här småskaliga användningsfallet blir allt annat lättare – stiftantal, support komponenter, strömförbrukning etc.

Med detta sagt, för målanvändningsfallet för Arduino är det inte som att du slumrar på det. En 16MHz-processor är mycket grymt för din väckarklocka med integrerad LED-chaser (eller vad som helst 🙂

Svar

Arduino är tillgänglig på andra processorer. Kolla till exempel ChipKit från Microchip. Det använder en PIC 32.

Kommentarer

  • Tyvärr Olin, titeln var ett felaktigt försök av mig att redigera frågan, gjord av dess kropp. Det borde vara mer korrekt nu.

Svar

Andra försöket (originalpostens titel och fråga från +3 år sedan ändrades sedan originalsvaret):

Kyckling och ägg, men särskilt under de senaste åren (2007 ARM lanserade Cortex-M-arkitektur), har 32-bitars MCU-enheter ökat i popularitet och leverantörer har varit bättre att ge snabbare och enklare åtkomst för EE-communityn när man designar i> 8-bitars mikro (bättre sw-verktyg, gratisverktyg, fler exempel …).

Som Atmel, tillsammans med 100 andra, erbjuder Cortex -M-enheter också och har uppgraderat sin verktygskedja för att stödja AVR till ARM, plus den långvariga relationen, Arduino-uppgraderingsvägen ges (?). Men alternativ dyker upp och verkar innebära alternativa försök att få sin andel av ”hobbyistkakan: t.ex. mbed av NXP / ARM, och nyligen” CoAction Hero ”,: 32-bitars Open-Source ARM Cortex-M3 Board på KickStarter.

Slutlig tanke, tre år efter den första frågan: när alla leverantörer erbjuder 32-bitars Cortex-M-kärnor – kan Arduino nu faktiskt bli icke-Atmel?

Ursprungligt svar: Alf-Egil Bogen, en av grundarna av Atmel AVR, tittar på bakgrunden för branschens övergång från 8-bitars till 32-bitars ARM-kärnor i sin videoblogg här http://blog.energymicro.com/2013/04/24/avr2arm/ .

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *