Pytanie:
rozwijających się 8-bitowych AVR, nie wiem, dokąd się przenieść
Chris H
2010-11-28 13:22:51 UTC
view on stackexchange narkive permalink

Od kilku lat używam 8-bitowego AVRS. Ostatnio czułem się ograniczony przez peryferyjne prędkości przesyłania danych i biblioteki wyższego poziomu.

Mam problem ze znalezieniem / wybraniem nowej linii mikrokontrolerów do zbadania. Przyjrzałem się

  • NXP - Nie mogę znaleźć programisty
  • Freescale - Muszę zarejestrować się w IDE
  • AVR32 - Ograniczony wybór chipów włączony digikey

Chipy NXP wyglądają naprawdę ładnie, ale tak jak w przypadku wszystkiego, co nie jest PIC / AVR / Ardiuno, krzywa uczenia się jest dość stroma.

Zastanawiałem się, czy ktoś mógłby zasugerować linię mikrokontrolerów, które spełniają (w kolejności ważności) następujące wymagania

  1. Chipy do lutowania ręcznego. (Potrafię zrobić LQFP 100)
  2. 32-bitowy
  3. Host Linuksa
  4. Darmowy zestaw narzędzi
  5. Dobre / darmowe IDE
  6. <500 $ koszt uruchomienia dla nieograniczonego programowania / debugowania / kompilacji
  7. Obsługa CAN
  8. Obsługa Ethernet / USB

Chętnie popatrzę ponownie we Freescale i NXP, jeśli ktoś może mi pokazać, że brakuje mi informacji o ich łańcuchu narzędzi i programistach. Myślę, że można powiedzieć, że AVR32 są dokładnie tym, czego szukam, ale po prostu nie jestem zadowolony z ich wyboru chipów. Wszystkie mają większą liczbę pinów i mało zapasów na digikey.

Dzięki.

Jaki jest problem z rejestracją w IDE Freescale?
Przeskakiwanie przez obręcze, aby mieć przywilej używania kupionych żetonów?
Tak, cóż, powiedzą, że muszą wiedzieć, kim jesteś, aby zapewnić lepszą obsługę, przeczytaj, aby sprzedawać swoje rzeczy. Gorzej, jeśli musisz się zarejestrować tylko po to, aby pobrać arkusz danych (zdarzyło mi się to kilka razy). Życie jest ciężkie :-)
Konieczność „rejestrowania się” na rzeczy online jest z pewnością bezprecedensowym posunięciem. FWIW, ich fora również wymagają tej rejestracji, więc miło jest być na to przygotowanym.
„Host Linux” - czy chcesz programować na swoim komputerze z systemem Linux? A może potrzebujesz układu obsługującego Linuksa?
@stevenvh, w przypadku Wavecom uniemożliwił znalezienie czegokolwiek (arkuszy danych, postów na forum, dokumentów itp.) Przy użyciu wyszukiwarki, ponieważ wszystko wymagało rejestracji. Pobieranie starej wersji IDE jest również uciążliwe, gdy zostały już nabyte.
Dwanaście odpowiedzi:
Toby Jaffey
2010-11-29 16:45:39 UTC
view on stackexchange narkive permalink

ARM, ARM, ARM.

ARM udziela licencji na rdzenie procesorów wielu firmom. Oznacza to, że znajdziesz dobre narzędzia, wsparcie i dokumentację z więcej niż jednego źródła.

PIC, AVR i MSP430 mają problem z tym, że są w całości własnością jednej firmy.

W przypadku mikrokontrolerów ARM należy pamiętać, że Cortex-M3 firmy NXP będzie bliżej Cortex-M3 firmy ST lub Luminary niż ARM9 lub ARM7TDMI firmy NXP. Najczęściej kompilatory, debuggery i programiści są wspólne dla rdzeni, a nie producentów.

Zdobycie zestawu narzędzi Codesourcery GCC ARM i taniego klucza ARM JTAG zajmie Ci długą drogę.

tani klucz ARM JTAG == OpenOCD
@Johan Lub możesz połączyć istniejący ATmega w jeden.
stevenvh
2010-11-28 13:52:35 UTC
view on stackexchange narkive permalink

Wybrałbym NXP. W krótkim czasie Cortex-M3 stał się standardem dla kontrolerów ARM (zakładam, że Freescale ma na myśli Coldfire). Ponieważ ARM7TDMI NXP ma również tradycję szerokiej rodziny urządzeń do wyboru.
Jeśli chodzi o programistę dla NXP, IMO każdy programista JTAG powinien wykonać zadanie (CMIIW).

edytuj
Aktualnie czytam o mbed, który wygląda na najłatwiejszy sposób na rozpoczęcie pracy z NXP Cortex M3 (używany kontroler jest LPC1768). Programujesz / kompilujesz on-line (więc Linux nie stanowi problemu) i programujesz przez USB (urządzenie pojawia się jako urządzenie pamięci masowej, na które możesz skopiować skompilowany program). Nie jest wymagany programista. Programy napisane dla mbed powinny być bezpośrednio przenoszone na LPC1768 na innych płytach.

mikeselectricstuff
2010-11-28 17:41:59 UTC
view on stackexchange narkive permalink

Zdecydowanie poleciłbym NXP - przyzwoitą gamę chipów, dobre urządzenia peryferyjne (UART z elastycznym baudgenem i FIFOS, SPI z FIFO itp.), doskonała dokumentacja * i elastyczne opcje programowania. Zdobądź debugger JTAG / SWD (części Cortex używają SWD - mniej pinów niż JTAG i mogą robić takie rzeczy, jak ustawianie punktów przerwania podczas pracy) Używam darmowej wersji kickstart wbudowanego środowiska roboczego IAR - ma to limit kodu 32K, co jest w porządku, ale należy pamiętać, że aktualizacje rozmiaru kodu są drogie. Wiele osób radzi sobie dobrze z GCC / winarm. Niektóre części Cortexa (np. LPC1343) mogą ładować oprogramowanie układowe z pamięci USB za pomocą wbudowanego bootloadera. Dostępność części jest ogólnie dobra - nigdy nie miałem problemu ze znalezieniem zapasów. Istnieje również wiele devboardów / breakoutów dostępnych dla części NXP.

  • dokumentacja w podręcznikach użytkownika jest dobra, jednak większość rzeczy jest wspomniana dokładnie raz, więc warto poświęcić czas na przeczytanie całą sekcję dotyczącą każdego urządzenia peryferyjnego, z którego będziesz korzystać. Podręczniki dla późniejszych części zostały ulepszone w ten sposób, że na początku każdej sekcji wskazują kilka krytycznych, nieoczywistych rzeczy, takich jak zegar / pin, który umożliwia udokumentowanie w innym miejscu, które jest potrzebne do uruchomienia tego urządzenia peryferyjnego
Leon Heller
2010-11-28 17:45:52 UTC
view on stackexchange narkive permalink

Wypróbuj 16-bitowe karty PIC24 i dsPIC. Wiele z nich jest dostępnych w DIL i dostarczają do 40 MIPS. Dostępne jest bezpłatne oprogramowanie deweloperskie, a debugger / programator PICkit 3 jest dość tani i kosztuje 50 USD. Następna wersja MPLAB będzie obsługiwać Linuksa, dostępna jest wersja beta.

XTL
2010-11-28 18:07:15 UTC
view on stackexchange narkive permalink

Pomyślałem, że będziesz mógł uzyskać bezpłatne narzędzia dla ARM-ów. Programowanie powinno być możliwe z szeregowego bootloadera lub (otwartego) JTAG-a. Spojrzałem na kilka układów i modułów STM32 i NXP, które wywarły na mnie takie wrażenie.

Przypomniało mi się również to pytanie.

Thomas O
2010-11-28 19:46:38 UTC
view on stackexchange narkive permalink

Jeśli naprawdę chcesz pracować w wersji 32-bitowej, wypróbuj PIC32. Wysoka dostępność firmy Microchip. Do debugowania Linuksa MPLAB X jest w wersji beta 4 i obsługuje Linux, Windows i Mac OS X. Myślę, że będziesz również potrzebować PICkit 3 lub podobnego programatora za 50-60 USD.

Jednak być bardziej skośnym w stronę 16-bitowych dsPIC i PIC24, ponieważ są one znacznie tańsze, można je debugować za pomocą PICkit 2 i są łatwe do zaprogramowania. Są również dostępne w pakietach DIP, chociaż to nie ma dla ciebie znaczenia (?) Jestem nieco stronniczy, biorąc pod uwagę, że używam ich w moim projekcie.

Obecnie dostępnych jest kilkanaście PIC32 w 28-pinowej obudowie DIP, co czyni je idealnymi do prototypowania.Również nowa linia PIC32MZ (dostępna tylko w SMD) ma do 2 MB Flash, 512K RAM i obsługuje CAN / Ethernet / USB 2.0 Host.
davidcary
2011-01-16 07:25:17 UTC
view on stackexchange narkive permalink

Jedynym 32-bitowym procesorem produkowanym obecnie w pakiecie DIP jest Parallax Propeller. (Ten sam chip jest również dostępny w znacznie mniejszych 44-pinowych QFP i 44-pinowe pakiety QFN, wszystkie z 32 pinami I / O ogólnego przeznaczenia). Jest też kilka narzędzi programistycznych do tego, które działają pod Linuksem.

Więc z łatwością spełnia wymagania pierwsze 2 kryteria i większość (niestety, nie wszystkie) pozostałych kryteriów.

avra
2010-11-29 15:14:07 UTC
view on stackexchange narkive permalink

Spójrz na FEZ Domino. Nie spełnia wszystkich Twoich wymagań, ale oferuje całkiem sporo, jeśli nie potrzebujesz kontroli na najniższym możliwym poziomie.

davidcary
2011-01-16 07:42:25 UTC
view on stackexchange narkive permalink

Seria chipów Cypress PSoC ma kombinację funkcji, których nie widziałem w żadnym innym układzie scalonym.

Układ PSoC5 zawiera 32-bitowy rdzeń ARM Cortex M3, ale z tego co wiem są zapakowane w coś podobnego do TQFP100. Serie układów PSoC1 i PSoC3 zawierają wiele chipów w pakietach DIP, ale wszystkie mają jeden 8-bitowy rdzeń lub inny.

Oprócz procesora układ ma również programowalny łącznik, coś w rodzaju małego FPGA i kilka wbudowanych analogowych wzmacniaczy operacyjnych.

http://www.psocdeveloper.com/

Chintalagiri Shashank
2013-01-27 01:47:54 UTC
view on stackexchange narkive permalink

ARM firmy Atmel pasują głównie do rachunku

Chipy do lutowania ręcznego. (Mogę zrobić LQFP 100)

Są w TQFP i możesz użyć jednego z mniejszych na 64 pinach.

32-bitowy

Sprawdź

Linuksowy host

Rozwijam wyłącznie w Linuksie

Darmowy łańcuch narzędzi

GCC ARM Toolchain, który jest teraz łatwiejszy do skonfigurowania dzięki skryptom kompilacji, takim jak łańcuch narzędzi summon arm.

Dobre / darmowe IDE

Masz mnie tam. Prawdopodobnie można by ustawić eclipse lub kdevelop, aby wykonać zadanie, ale nie próbowałem. Używam Vima i Kate.

<500 $ koszt uruchomienia nieograniczonego programowania / debugowania / kompilacji

Programowanie i kompilacja kosztowałoby około 100 $ za prototyp minimalnej płyty . Chipy są dostarczane z wbudowanym bootloaderem w ROM, który umożliwia zaprogramowanie chipa. Nie potrzebujesz debuggera, aby go zaprogramować. Możesz kupić segger marki Atmel (i zablokowany) za około 100 $. Jeśli możesz sobie na to pozwolić, sugerowałbym nie wybierać zamkniętego, ale zapłacić 200 lub 300 za odblokowany. Istnieją również inne opcje, które są znacznie tańsze, których nie próbowałem. USBprog wygląda bardzo obiecująco.

MOŻE obsługiwać

Dość pewne, że tam jest, chociaż powinieneś sprawdzić, aby mieć pewność. Nie używam go, więc nie jestem pewien, czy wszyscy go mają.

Obsługa Ethernet / USB

Obsługa USB jest dostępna. Obsługę Ethernet należy dodać zewnętrznie. Jest jednak wiele przykładów do wyboru.

Mamy CAN na ATSAM.Co najmniej ATSAM3X8E ma jeden, ponieważ Arduino Duo, używając tego układu, odsłonił jeden.
roboknight
2014-12-22 23:07:54 UTC
view on stackexchange narkive permalink

Używam płyty demonstracyjnej lpc4330-xplorer dla LPC4330 firmy NXP. Używam ręcznie zbudowanego łańcucha narzędzi, ale możesz użyć Yagarto (jeśli nie zależy ci na twardym FP) lub naprawdę dowolnego kompilatora ARM, jeśli możesz zagłębić się w skrypty linkera. NXP ma kilka naprawdę sprytnych urządzeń peryferyjnych, takich jak State Configurable Timer (możesz przeczytać: generator funkcji), który jest w stanie zrobić wiele rzeczy. Mają też kilka fajnych SGPIO. Dodatkowo mają na pokładzie mnóstwo timerów. Jest to również podwójny procesor (chip oparty na M4-M0). Oczywiście cała ich linia LPC jest całkiem niezła.

Aby być uczciwym, linia Cypress pSOC też wygląda ładnie, ale nie miałem okazji jej użyć. Pozostałe z pewnością mają swoje zastosowania i odbiorców, ale ja używam środowiska programistycznego Linuksa, żadnego IDE i kilku narzędzi wiersza poleceń. Wybieram tę ścieżkę, ponieważ kiedy coś idzie nie tak i zawsze tak się dzieje, łatwiej mi jest znaleźć problem, jeśli nie muszę odklejać warstw narzędzi. Poza tym brak ograniczeń kodu. I chociaż nie jest to zbyt jasne po wynikach wyszukiwania w Internecie, linia LPC jest całkiem dobrze obsługiwana przez oprogramowanie typu open source.

Wreszcie LPC dostarcza sporo przykładowego kodu w LPCOpen. Ponownie, aby być uczciwym, jeśli chcesz, aby kompilował się z narzędziami open source, zajmuje to trochę pracy, ale nie jest to trudne. Mieli nawet całkiem niezły przykład serwera WWW w swoim. Mają też książkę kucharską SCT (SCT wymaga trochę zrozumienia, ale kiedy już to zrobisz, jest to naprawdę miłe), ale przepracowanie przykładów może trochę potrwać, a przykłady SCT w LPCOpen są żałosne. Ale warto uruchomić i uruchomić chipy NXP. Spędzam nawet trochę czasu z NuttX (przez cały czas byłem zmęczony kodem bare-metal) i lpc4330-xplorer.

W każdym razie, powodzenia w czymkolwiek wybierzesz.

Maxthon Chan
2014-12-23 04:28:43 UTC
view on stackexchange narkive permalink

Oto moje opcje:

  • Wiele operacji we / wy, ale dopuszczalne są niskie prędkości? Grupuj AVR. Próbowałem rozmawiać przez SMBus na liniach I2C i jest to przynajmniej akceptowalne.
  • Potrzebujesz szybkości? Seria ATSAM wydaje się dobra z pakietami TQFP100 i TQFP144. Mamy Arduino SAM3X8E w Arduino Duo. ATSAM ma również MII / RMII, ale układ interfejsu może stanowić wyzwanie. Jeśli chcesz czytać linię ATSAMA5 i pomyśleć jeszcze raz, Allwinner A20 prawdopodobnie go przebije.
  • Większa prędkość, multimedia, prawdopodobnie obsługa Linuksa? Ponieważ pochodzę z Chin, interesujący jest konkretny rodzimy producent: Allwinner. Ich układy SoC Cortex-A7, dwurdzeniowe A20 o wartości 5 USD i czterordzeniowe A31 o wartości 10 USD, a także duży, ośmiordzeniowy procesor LITTLE Cortex-A15 / 7 SoC A80 za 20 USD, wszystko z wbudowanym procesorem graficznym obsługującym OpenGL i OpenCL, pomimo pakietów BGA, są wystarczająco dobre dla tabletów z Androidem średniego i wysokiego poziomu, więcej niż wystarczająco dobre dla pełnego Ubuntu Server kilka demonów spalających GPU przetwarzających numery, routing pakietów z prędkością linii 1 Gb / s lub napędzających dwa 1080P lub Wyświetlacz 4K.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 2.0, w ramach której jest rozpowszechniana.
Loading...