Dlaczego AVR jest używany w Arduino?

41

Dlaczego Arduino używa AVR? Rozumiem, że są one oficjalnym procesorem, ale nie ma powodu, dla którego kod nie mógłby być przeniesiony do ARM lub architektury Freescale innej niż koszt, prawda? Tak długo, jak jest wbudowana pamięć, pomyślałem, że migracja do tych części może być łatwa.

Widzę dużo ARM w przemyśle (wydaje się, że każdy sprzedawca popycha jednego do swoich projektów) i zastanawiałem się, dlaczego nie było więcej absorpcji w świecie programistów Arduino.

Chris Gammell
źródło
4
Kto jest twoim rynkiem? Jeśli próbujesz sprzedać coś dużego w branży, będziesz potrzebować ARM, ponieważ jeśli Atmel ulegnie awarii, nie pozostanie ci nic, jeśli używasz AVR. Dzięki ARM istnieje wielu innych dostawców, którzy oferują zamienniki prawie wrzucane. Zwiększona złożoność ARM jest mniejszym problemem u dobrych inżynierów niż dla hobbystów, którzy nie znają podstaw. Jeśli sprzedajesz hobbystom, krzywa uczenia się będzie zbyt stroma, moc procesora nie zostanie wykorzystana, a SMT będzie wymyślonym murem. Kogo martwią klienci hobbystyczni lub potencjalni pracodawcy? Pls. wyjaśniać.
Kevin Vermeer
9
Nie staram się być obraźliwy, ale pytanie wymaga pytania. Atmel ma ponad 25 lat i ma bardzo udany rynek inny niż ARM, sama AVR jest bardzo udaną platformą. Jakie są szanse na upadek takiej firmy. To brzmi jak powiedzenie: „Nie używaj systemu Windows, a jeśli MicroSoft ulegnie awarii?”
Rick_2047,
Zgadzam się z twoimi dwoma pozostałymi punktami, a mianowicie, że jeśli masz rynek hobbystów, rzadko zdarza się, że wykorzystasz pełną moc ARM, a SMT jest ceglaną ścianą.
Rick_2047,
2
Czy nie ma Arduino Due z SAM3XE (ARM 32 bity) uC? Ponieważ mam teraz jedną w dłoni ...
Doombot
1
Chciałbym zauważyć, że „obecnie” istnieją płyty oparte na ARM, które można programować za pomocą Arduino (biblioteki i IDE). Teensy 3.2 jest tego doskonałym przykładem. sparkfun.com/products/13736
Paul

Odpowiedzi:

32

Czy ktoś w ogóle obchodzi, nad czym się rozwijasz?

Tak i nie. Pracuję nad AVR32 dla konkretnego projektu, a środowisko programistyczne (w szczególności cykl kompilacji / programu / debugowania) jest przerażające w porównaniu do, na przykład, PIC32.

Klienci nie dbają o to, z wyjątkiem kosztów i konserwacji, aw przypadku systemu podobnego do arduino, programiści nie przejmowaliby się tym, ponieważ środowisko i cykl programowania arduino przeskakuje i przewyższa lepiej niż obecna konfiguracja AVR32.

Zastanawiam się, ponieważ w rodzinie Arduino istnieje tak silny kontyngent dla AVR. Rozumiem, że są one oficjalnym procesorem, ale nie ma powodu, dla którego kod nie mógłby być przeniesiony do ARM lub architektury Freescale innej niż koszt, prawda? Tak długo, jak jest wbudowana pamięć, pomyślałem, że migracja do tych części może być łatwa.

Nie ma powodu, dla którego inny procesor nie mógłby być użyty, ale jest bardzo dobry powód, dla którego wybrali 8-bitowe urządzenie niższej klasy niż ARM, MIPS, PowerPC itp. Łatwość użycia.

Jeśli spojrzałeś na konfigurację nawet dolnych ramion, jest to rząd wielkości bardziej złożony (mapowanie pamięci, buforowanie itp.) Niż 8-bitowy procesor. Ale co ważniejsze - w tamtym czasie nie było procesorów uzbrojenia DIP, a te miały być używane i budowane przez artystów i hakerów, niekoniecznie elektroników i inżynierów, którzy czują się komfortowo nawet z 48-pinowym TQFP.

Powodem, dla którego AVR został wybrany zamiast PIC, jest to, że PIC tak naprawdę nie ma szeroko stosowanego, wolnego źródła, wolnego kompilatora C, między innymi (port SDCC nie jest dojrzały).

Widzę dużo ARM w przemyśle (wydaje się, że każdy sprzedawca popycha jednego do swoich projektów) i zastanawiałem się, dlaczego nie było więcej absorpcji w świecie programistów Arduino. Myśli?

Głównie wynika to z łatwości użycia - złożoności, łatwości lutowania, kosztów oraz faktu, że nie ma takiej potrzeby. Deweloperom podoba się pomysł posiadania dużej mocy, ale pod koniec dnia, gdy wszystko, co musisz zrobić, to przesunąć serwomechanizmy i błyskać lampkami przy niskiej jakości FFT, 8-bitowy procesor jest w porządku.

Nawet dolne ARMS kory mózgowej wychodzące z 28-pinowych pakietów są nadal SOIC, a nie DIP.

AVR miał więc wszystkie właściwe funkcje:

  • Łatwy do lutowania
  • Łatwy do zdobycia za pośrednictwem sprzedaży wysyłkowej na całym świecie
  • Darmowy kompilator GCC C.
  • Łatwy do zrozumienia procesor oraz konfiguracja i użytkowanie urządzeń peryferyjnych
  • Tani
  • Wszechobecny - wiele osób i doświadczenia wokół rodziny AVR

W dużej mierze jest to nadal prawdą - nie znam ARM w formacie dip, a adaptery sprawiają, że jest znacznie droższy niż AVR. W przeważającej części producenci nie sądzą, że 32-bitowy procesor z pakietem DIP będzie bardzo opłacalny.

Adam Davis
źródło
Jest jeden, śmigło Parallax. Ma osiem 32-bitowych procesorów na chipie i jest dostępny w pakietach DIL, QFP i QFN.
Leon Heller,
5
To jest na miejscu. AVR ponad PIC ze względu na licencje i AVR ponad ARM ze względu na prostotę oprogramowania i łańcucha narzędzi oraz możliwość lutowania. W przypadku własnych projektów może to nie mieć zastosowania. Jeśli jednak chcesz opracować ARM-duino, spójrz na inne, podobne projekty. Nie łapią się tak, jak AVR. Może to być również spowodowane środowiskiem programistycznym Arduino.
Kevin Vermeer
Z jakich narzędzi AVR32 korzystasz - korzystam z IAR zarówno w AVR32, jak i MSP i stwierdziłem, że to środowisko jest bardzo wydajne. Koszt nie stanowi problemu w środowisku profesjonalnym - równowartość mniej niż koszt zatrudnienia inżyniera na tydzień.
uɐɪ
Twierdzenie o narzędziach można przezwyciężyć - Arduino używa gcc, który ma również dostępny port AVR32.
Chris Stratton
1
NXP ma teraz kilka ARM Cortex-M0 w pakiecie DIP. Myślę, że z rodziny LPC11xx. Wyobrażam sobie, że ich rynkiem docelowym jest wyjątkowo tania, niskiej jakości, jednostronna płytka PCB w urządzeniach.
Marko
16

Ponieważ wydaje się, że szukasz odpowiedzi na opinię, oto moje 0,02 $. Niezależnie od tego, czy pracuję na ARM, czy AVR ma znaczenie (i dlatego zależy mi), głównie w oparciu o to, co próbuję zrobić. Są przypadki użycia, w których AVR ma sens, i są takie przypadki, gdy robi to ARM. Ogólnie rzecz biorąc, istnieje także kompromis między, powiedzmy, AVR i PIC.

Po pierwsze, podczas gdy prawdopodobnie będę miał kłopoty z powiedzeniem tego, „silny kontyngent w rodzinie Arduino” jest czymś w rodzaju głosowej mniejszości. Najbardziej znani ludzie (użytkownicy), z którymi się spotkałem, to tacy, którzy woleliby traktować swój sprzęt w taki sam sposób, jak wymyślili skrypt w języku Python, aby zrobić coś zabawnego, często z niższym poziomem zrozumienia zawiłości związanych z tym niż oni zrobiliby to, gdyby zrobili „z numpy import foo”. Chociaż sposób, w jaki Arduino robi rzeczy, ma pewne zalety, istnieje również wiele możliwości krytyki.

Myślę, że warto spojrzeć na AVR poza ekosystemem Arduino. Kontyngent Arduino również skorzystał bardzo dobrze z powodów, które uczyniły AVR czymś w rodzaju standardu dla hobbystów - płaszcz, który coraz bardziej przejmuje PIC, jeszcze zanim pojawił się arduino. Bezpośrednimi konkurentami AVR byłyby PIC oraz do pewnego stopnia MSP430, który zyskuje na popularności dzięki dużej sile marketingowej TI w połączeniu z narzędziami do subsydiowania.

Ekosystem

Jak wspomniano w innych odpowiedziach, AVR to jedna rodzina, która ma czysty, ustandaryzowany sposób na przejście od zera do cześć za pomocą bezpłatnych narzędzi. Port avr-gcc, elementy składające się na łańcuch narzędzi winavr, mnóstwo schematów programistycznych o różnym stopniu złożoności i cechach, ale wciąż związanych autorytetem wspieranym przez avrdude, znacznie ułatwia to niż radzenie sobie z opracowaniem łańcucha narzędzi.

Ekosystem PIC to koszmar, z dowolną liczbą kompilatorów, narzędzi programistycznych, asemblerów. Wiele z nich nie jest ze sobą kompatybilnych. Większość z nich jest płatna. Nie wszystkie są dobre. Co ważniejsze, nie ma standardu defacto. Alternatywne wersje darmowego / otwartego oprogramowania (powiedzmy SDCC) pozostawiają wiele do życzenia, ale ponadto nie udało im się uzyskać statusu standardu defacto, takiego jak avr-gcc i firma. Nawet po opracowaniu łańcucha narzędzi programowych będziesz musiał przynajmniej zainwestować w jakiegoś programistę. Zestaw PICkit może kosztować około 20 $, ale kiedy musisz dowiedzieć się, jak go kupić online (karty kredytowe, wysyłka międzynarodowa, problemy na rynku Forex), może być przełomem dla hobbystów. Nie ma dobra

MSP430 jest nieznacznie lepszy, głównie dlatego, że jest nowszy (co najmniej pod względem popularności) - Jest o wiele mniej hałasu, z którym trzeba się zmagać. TI dostarcza próbki IC z wydajnością, której nigdzie indziej nie widziałem. mspgcc jest w dobrej formie, a nawet oprogramowanie do debugowania open source, które nie jest trudne do znalezienia lub skonfigurowania. Problem polega jednak na tym, że nie jest tak przyjazny dla hobbystów, jak AVR. Nadal masz problem z Programistą, który jest droższy niż to, co musisz kupić za PIC. Operacja zasilania 3,3 V stanowi postrzeganą barierę dla osób przyzwyczajonych do logiki 5 V. I nie skaluje się w DIP - dostępne są te z niższej półki, ale nie po osiągnięciu bardziej rozwiniętych żetonów.

Łatwość użycia

Wydaje mi się, że DIP vs SMD jest ważniejszym rozróżnieniem, niż się często uważa. Układ DIP IC może być używany na desce do krojenia, na tablicach ogólnego przeznaczenia, jakkolwiek są nazywane w miejscu zamieszkania i tak dalej. Układ scalony SMD koniecznie wymaga uruchomienia produkcji lub zakupu kart adaptera, które nie zawsze są łatwe do uzyskania w pożądanym rozmiarze lub kształcie.

Istotna jest także jakość arkusza danych, uwagi dotyczące aplikacji i ich czytelność. Wydaje się, że Atmel wykonuje nieco lepszą pracę. Oczywiście jest to bardzo subiektywna ocena.

AVR mogą używać wewnętrznego RC, podczas gdy PIC często tego nie robią. Oni wymagają kryształu, co czyni go nieco ryzykowne w połączeniu z niedostatkiem zaufania.

AVR również wydawały się bardziej przyjazne w programowaniu systemowym w porównaniu do PIC kilka lat temu, chociaż bardzo łatwo mogłem się mylić.

AVR vs ARM

Twoje pytanie dotyczyło jednak AVR vs. ARM. Jak powiedziałem na początku, AVR i ARM zajmują różne przestrzenie w spektrum. Jeśli masz coś, co możesz zrobić za pomocą AVR, to dlaczego chcesz to zrobić za pomocą ARM? Procesory ARM są droższe, wymagają większej liczby części, zużywają więcej energii, tworzą bardziej skomplikowany kod, wymagają droższych procesów produkcyjnych. Lutowanie 100-pinowego TQFP jest droższe niż lutowanie 40-pinowego DIP / SOIC, w zależności od sposobu pomiaru kosztów. Może się to nie zdarzyć, jeśli produkujesz w dużych ilościach i korzystasz z przyjaznych technik produkcji, ale jeśli to robisz, różnica cen stanie się jeszcze bardziej przekonująca, aby wybrać tańsze rozwiązanie.

Jako podstawowy kontroler do ogólnego hakowania w domu lub co tam masz, powiedziałbym, że AVR jest łatwiejszy w użyciu, ponieważ: - Bardziej znormalizowany z perspektywy hobbystów, więcej kodu mogę ponownie użyć z Internetu, ponieważ nie ma tak wielu warianty kompilatora oraz różnice między nazwami rejestrów i API wśród członków rodziny. (Spróbuj przenieść kod LPC ARM na sprzęt ATMEL ARM, zobaczysz, co mam na myśli) - Kod staje się z natury bardziej skomplikowany (robi się. Naprawdę). - Zestaw narzędzi wymaga dodatkowej pracy przy konfiguracji. - Sprawia, że ​​interfejs jest nieco łatwiejszy. Mechanizmy ARM generalnie upuszczają cię do logiki 3 na 3 lub 1 na 8, co sprawia, że ​​połączenie z innymi zabawkami jest nieco problematyczne. - Tańsze - Uzyskanie układu ARM w lokalnym sklepie z narzędziami nie jest dla mnie opcją, gdzie mieszkam, uzyskanie AVR.

Chintalagiri Shashank
źródło
1
Nie przypominam sobie żadnych PIC, poza niektórymi częściami OTP, w których bity bezpieczników zostały wstępnie zaprogramowane w ramach testów fabrycznych (jedynym sposobem potwierdzenia działania trybu LP, XT lub HS była konfiguracja układu dla tego trybu) wymagało to kryształu. Niektóre wymagały zewnętrznego rezystora i kołpaka do korzystania z trybu RC i miały dość przybliżone specyfikacje częstotliwości, którą wytwarzałby, ale nie przypominam sobie żadnych PIC bez opcji projektowania wewnętrznego lub zewnętrznego RC. Zapomniałem?
supercat
W rzeczywistości koszt ARM / AVR jest bardzo zbliżony do prania porównywalnych zasobów. A pakiety, które mogłyby zostać użyte w środowisku produkcyjnym, niekoniecznie są tak różne, ponieważ prawdopodobnie byłyby to warianty QFP lub QFN. Wymagany obwód pomocniczy jest również dość porównywalny.
Chris Stratton
@Chris: Gdy weźmiesz pod uwagę zasoby, które zapewnia każdy chip, powiedziałbym, że ARM będzie tańszy prawie za każdym razem. To powiedziawszy, chodzi o to, że w sytuacjach, w których AVR ma sens w środowisku produkcyjnym, nie potrzebujesz mocy i / lub dzwonków i gwizdów, które ARM przynosi na stół. W porównaniu z dostępnymi zasobami AVR wychodzi taniej. Nie sądzę, aby obwód pomocniczy był porównywalny (1 kondensator tantalu w porównaniu z 4 i inne podobne spirale). ARM nie jest tak kosztowną bestią, jak tylko może być przesada.
Chintalagiri Shashank
@supercat: Może. Musiałbym sprawdzić. Nigdy nie wydawało mi się to oczywiste, kiedy kilka razy na to patrzyłem. Wiem, że przynajmniej niektóre dsPIC mogą wrócić do wewnętrznych, jeśli je odpowiednio skonfigurujesz, ale nawet to wymagało trochę zgadywania i wygłupiania. Karty danych Microchip pozostawiają wiele do życzenia, IMO, ale z drugiej strony zależy to od rynku, na który patrzysz.
Chintalagiri Shashank
@ChintalagiriShashank - ignorując inne urządzenia peryferyjne i po prostu patrząc na rozmiary pamięci flash i ram, istnieją oferty ARM, które są dość konkurencyjne na przykład z ATMEGA328p. I nie rozpraszaj się zbytnio bocznymi osłonami. Po pierwsze, tantal może mieć sens jako filtr zasilający, ale rzeczywiste zaślepki obejściowe są zbiornikami lokalnymi o niższej wartości dla potrzeb przełączania wysokich częstotliwości, a więc mogą być tanią ceramiką SMT. Ponadto potrzebna jest częstotliwość przełączania zegara i wejścia / wyjścia - przy porównywalnej częstotliwości taktowania ARM nie będzie potrzebował wszystkich zalecanych limitów obejścia.
Chris Stratton
12

Jednym z powodów dużego zainteresowania społeczności Arduino jest fizyczna standaryzacja. Choć wygląd fizyczny jest niepozorny, dzięki włączeniu standardowej opcji rozszerzenia, programiści Arduino pozwolili ludziom wymyślić własne rozwiązania. Jeśli chcesz zastąpić podstawową kartę Arduino inną płytą, która korzysta z innego mikrokontrolera, możesz to zrobić. IIRC, ktoś już zbudował płytę opartą na PIC, która używa formatu Arduino. (Płyta PIC Ardunio nie ma tego samego kształtu, ale poza tym jest podobna.)

Kolejnym powodem sukcesu Arduino jest jego otwartość - większość mikrokontrolerów opartych na PIC została zamknięta; Użyli zastrzeżonych implementacji sprzętowych, więc jeśli chciałeś przeprojektować płytę, aby lepiej pasowała do konkretnej przestrzeni, nie miałeś szczęścia. Używali niestandardowego oprogramowania układowego i autorskich narzędzi programistycznych, więc jeśli miałeś błędy lub chciałeś rozszerzyć możliwości, nie miałeś szczęścia. Dzięki Arduino każdy element układanki jest otwarty: możesz kupować części w dowolnym miejscu, zmieniać ich rozmieszczenie według potrzeb, ulepszać lub modyfikować oprogramowanie układowe ORAZ narzędzia programistyczne. Możesz zacząć w prosty sposób z Arduino IDE, ale nadal możesz przejść do C lub Asemblera w dowolnym momencie.

Osobiście podoba mi się Arduino, ponieważ ma wiele rzeczy „w sam raz”: nie jest zbyt drogi, nie jest zamknięty w zastrzeżonych narzędziach, łatwo jest zacząć, ma wiele możliwości i ma dużą społeczność użytkowników , który wciąż się rozwija i robi porządne rzeczy.

Craig Trader
źródło
1
Wymieniłeś bardzo dobre powody dla hobbystów mikrokontrolerów takich jak Arduino, ale pytanie dotyczyło ARM kontra AVR. O Arduino wspomniano ze względu na decyzję o wyborze serii MCU AVR do jego wdrożenia. Myślę, że pod postem znajdują się bardziej odpowiednie odpowiedzi; na przykład fakt, że Atmel obsługuje swoją serię AVR za pomocą kompilatora C. Niemniej jednak dobre informacje dla kogoś, kto nie zna Arduino.
ozmo
7

Główną zaletą ATmel uCs jest to, że dostępny jest bezpłatny kompilator dla systemów Linux, PC i Mac. Dodaj do tego prosty wieloplatformowy interfejs GUI, a otrzymasz darmowy system programistyczny, który działa na wszystkich platformach.

Koszt jest głównym czynnikiem dla hobbystów. Ponieważ chcesz mieć cenę początkową w przedziale 30 USD, musisz mieć koszt uC, który nie przekracza kilku dolarów.

ARM byłby doskonałym kandydatem na płyty wyższej klasy. Wiele firm udziela licencji na rdzeń ARM i dodaje urządzenia peryferyjne. Wierzę, że istnieją darmowe kompilatory dla Linuxa, PC i MAC.

Bardzo podoba mi się Freescale Coldfire dla wysokiej klasy desek. Pracowałem nad tablicą do sprzętu testowego, który używał 5206e. Dodaliśmy trochę konwerterów DRAM i A / D i D / A o wysokiej dokładności. To było opłacalne rozwiązanie. Ostatnio nie porównywałem Coldfire do szerokiej gamy ARM.

Niektóre z 8-bitowych komputerów Freescale są ładne, ale nie jestem pewien, czy mają darmowe narzędzia.

jluciani
źródło
4
Dzięki za użyteczny komentarz, ale 8 wierszy „podpisu” jest trochę ekstremalnych, te strony oparte na przepełnieniu stosu mają tendencję do patrzenia w dół na reklamę własnych stron w twoich odpowiedziach.
davr
5
@jluciani, jeśli chcesz reklamować swoje inne strony internetowe, umieść linki w swoim profilu, a nie w swoich odpowiedziach. W końcu twój blog nie jest odpowiedzią na to pytanie ...
Craig Trader,
5

Zgadzam się z pakietem zanurzeniowym, nie zgadzam się, że ramiona są trudniejsze do skonfigurowania, szt., Ale nie są to jedyne dzieciaki na bloku ramienia (sama atmel w tym przypadku). Z tego, co pamiętam i czego doświadczyłem, Atmel był i być może jest po prostu bardziej przyjazny programistom. Motyl AVR bardzo pomógł im w zdobyciu większej liczby użytkowników do ich i tak dobrej i zadowolonej bazy użytkowników. PIC był po prostu bolesny na wiele sposobów, narzędzia AVR były dostępne, programowanie było proste i nie kosztowało cię znacznie więcej niż niektóre przewody i złącze z shack radia. Narzędzia są dostępne i bezpłatne, ale nie tak łatwe jak główna linia gcc, w której znajdziesz rozwiązania dla ręki i kciuka. Na długo przed pojawieniem się arduino AVR był chipem z wyboru w projektach hobbystycznych.

Obecnie nic nie może konkurować z ARM. W przypadku każdego innego procesora, którego dotkniesz w ciągu dnia, dotkniesz kilku ARM co najmniej. Dla niektórych prawie wszystkiego, czego dotykasz, używa ARM. Jest to naturalne dopasowanie jako 8-bitowy zabójca, może uzyskać znacznie lepszą wydajność niż 8-bitowy dla tego samego rozmiaru, ceny itp. Narzędzia są znacznie lepsze, zestaw instrukcji jest znacznie czystszy niż większość konkurencji, więc ten sam kod działa znacznie szybciej itp. Ponieważ każdy i ich brat mogą osadzić ARM i nie jest on zamknięty w firmie takiej jak pic, avr, msp430, istnieje wiele różnych rozwiązań i wiele różnych sposobów radzenia sobie z mikrokontrolerami mieszanin rom / ram i tablica wektorów przerwań. Niestety najbardziej popularne rozwiązanie jest najbardziej bolesne. Wypróbuj sam7 lub coś w tym stylu lub gwiazdę.

Problemem nie zawsze jest procesor, niektóre układy mogą mieć problemy, inne mają inne znane problemy. niektóre mogą nie oferować styku typu otwarty kolektor ze słabym podciągnięciem i trzeba by umieścić sprzęt poza układem, aby połączyć się z czymś, gdzie inny może mieć ten dostępny na jednym lub wszystkich stykach. Polecam próbkowanie w terenie, wypróbowanie różnych firm i rozwiązań, aby gdy chcesz mieć niską moc, możesz łatwo użyć msp430, chcesz mocy obliczeniowej w małym chipie, z ramieniem lub jeśli chcesz stworzyć otwarty projekt, który masz nadzieję inni zbudują w swoim garażu, jeśli możesz, oprzyj go na arduino.

Najważniejsze jest jednak to, że tak naprawdę zależy to od aplikacji i sposobu jej pisania oraz wydajności i zasobów, którymi jesteś zainteresowany. W ten sam sposób, w jaki gcc lub firefox będą działać na wielu różnych platformach i procesorach, z pewnością możesz napisz aplikację C, aby działała na wielu różnych mikrokontrolerach ... JEŻELI... masz warstwę abstrakcji specyficzną dla mikrokontrolera, co ma koszt. jeśli mikrokontrolery mają wystarczająco podobne funkcje i funkcje, których potrzebujesz, i planujesz z wyprzedzeniem i włączysz je. Jeśli następna platforma ma wystarczającą ilość pamięci / zasobów. Bardziej interesuje Cię przenośność niż wydajność itp. Prawdopodobnie musisz to zaplanować z wyprzedzeniem. lub przynajmniej przy pierwszym przełączeniu z A na B ponownie projektujesz oprogramowanie, jeśli / kiedy jest trzecia zmiana z B na C, jest to mniej bolesne.

old_timer
źródło
Obecnie nic nie może konkurować z ARM. <- W przemyśle. W świecie hobbystów AVR jest nadal bardzo, bardzo silny i pozostanie na długo.
Kevin Vermeer
Absolutnie zgadzam się, że jeden świat avr jest szalenie popularny, inny świat, którym jest ten, w którym produkty, które kupujemy, jest używany, gdzie są pieniądze, to coś innego. Więc dla zabawy w domu ucz się jednego, dla swojej pracy ucz się drugiego, i graj cały dzień i całą noc.
old_timer
4

Wiem, że powiedziałeś „inne niż koszty”, ale tak naprawdę to jest najważniejsza rzecz dla hobbystów. Nie potrzebujesz więcej niż jednego UART lub więcej niż jednego SPI, co ma być tanią, ogólną platformą. Gdy zaczniesz potrzebować prędkości> 20 MHz, powinieneś naprawdę spojrzeć na konfigurację niestandardową (oczywiście ymmv)

penjuin
źródło
3

Kilka drobnych punktów nie poruszonych w innych komentarzach:

  • Arduino jest przeznaczony do małych projektów we / wy, dodając niewielką ilość inteligencji do obwodu. Są to zazwyczaj jednowątkowe urządzenia czasu rzeczywistego, w których ARM byłby bardzo zmarnowany. Oczywiście istnieje wiele opcji dla kart ARM, ale przypadek użycia jest zwykle inny - zazwyczaj uruchamiają się one w pełnym systemie operacyjnym.

  • Dzięki ukierunkowaniu na ten niewielki przypadek użycia wszystko inne staje się łatwiejsze - liczba pinów, elementy pomocnicze, zużycie energii itp.

To powiedziawszy, w przypadku docelowego użycia Arduino, to nie tak, że go slummujesz. Procesor 16MHz to duży szum dla Twojego budzika ze zintegrowanym chaserem LED (lub cokolwiek innego :)

David Sainty
źródło
2

Arduino jest dostępne na innych procesorach. Sprawdź na przykład ChipKit firmy Microchip. Korzysta z PIC 32.

Olin Lathrop
źródło
Przepraszam Olin, tytuł był moją błędną próbą edycji pytania, wykonaną z jego treści. Teraz powinno być bardziej poprawne.
clabacchio
1

Druga próba (oryginalny tytuł posta i pytanie z +3 lata temu zostały zmienione od oryginalnej odpowiedzi):

Kurczak i jaja, ale szczególnie w ciągu ostatnich kilku lat (ARM 2007 wprowadził architekturę Cortex-M), 32-bitowe jednostki MCU zyskały na popularności, a dostawcy byli lepsi w zapewnianiu szybszego i łatwiejszego dostępu dla społeczności EE podczas projektowania w> 8- bit micros (lepsze narzędzia SW, darmowe narzędzia, więcej przykładów ...).

Ponieważ Atmel, wraz ze 100 innymi, oferuje również urządzenia Cortex-M i zaktualizował swój zestaw narzędzi do obsługi AVR do ARM, a także od dawna, podano ścieżkę aktualizacji Arduino (?). Ale pojawiają się alternatywy i wydają się obejmować alternatywne próby zdobycia udziału w „hobbistycznym” ciele: np. Mbed przez NXP / ARM, a ostatnio „CoAction Hero”: 32-bitowa płyta ARM Cortex-M3 Open-Source na KickStarter .

Ostateczna myśl, 3 lata po wstępnym pytaniu: kiedy wszyscy dostawcy oferują 32-bitowe rdzenie Cortex-M - czy Arduino może teraz stać się innym niż Atmel?

Oryginalna odpowiedź: Alf-Egil Bogen, jeden ze współzałożycieli Atmel AVR, przygląda się niektórym przyczynom przejścia branży z 8-bitowych na 32-bitowe rdzenie ARM na swoim blogu wideo tutaj http: //blog.energymicro. com / 2013/04/24 / avr2arm / .

EFM32
źródło