Chcę zacząć korzystać z procesorów ARM, migrując z PIC, których używałem zbyt długo. Modele 8-bitowe były dostępne za mniej niż 1 $, programiści za mniej niż 10 $, a mnie rozpieszczała łatwość i niski koszt rozpoczęcia. Ale widząc, że ich moc jest zmniejszona przez niektóre układy ARM w tej samej cenie i mając dość oprogramowania o zamkniętym źródle, chcę dokonać zmiany.
Wolałbym unikać jakichkolwiek płyt programistycznych, a zamiast tego zająć się nimi z tanią, generyczną płytką sterującą (1 USD) i na płycie chleba, używając jakichkolwiek zewnętrznych komponentów niezbędnych do uruchomienia.
Jakie są moje opcje programowania układów ARM w ten sposób? Czy istnieją programiści, tacy jak PICKit2, którzy używają USB do połączenia z komputerem, programując przez proste połączenie szeregowe (takie jak ICSP) z chipem? Jaka różnica w konfiguracji jest wymagana dla różnych producentów ARM, wersji ARM i poszczególnych układów? (ST, Atmel ...) Np. Czy każdy producent potrzebuje własnych kompilatorów, programistów, IDE itp.? Czy są wspólne narzędzia dla wszystkich?
EDYCJA: W porządku, więc po dalszych badaniach wydaje mi się, że wymyśliłem stosunkowo tanie rozwiązanie, płytę programistyczną stm32 można flashować oprogramowaniem DAPLINK, ale nie wierzę, że oficjalne oprogramowanie github będzie działać natywnie (wszystko to spekuluje, dopóki nie pobierz moją tablicę dev STM32 na maila). Ale odkryłem, że płyta daplink_usb dołączona do readbear mk20 działa na chipie stm32, wydali oprogramowanie, które wymaga zmiany linii, aby była kompatybilna z kryształem 8 MHz (szczegółowe informacje zamieszczono na forum poniżej). W przeciwnym razie zmień kryształ na 16 MHz. Zła aktualizacja po tym, jak to potwierdzę, kiedy przybywa mój zestaw deweloperów.
Odpowiedzi:
Linia stm32F0 i stm32L0 ma tablice odkrywcze działające za około 10 USD, a Keil zapewni pełną funkcję IDE dla tej linii przy zerowym koszcie.
Instrukcje instalacji Keil free pro MDK są TUTAJ
Ponadto ARM ma białą kartkę na temat migracji do Cortex M3 z PIC, które mogą być pomocne
źródło
Najłatwiejszym wyjściem -> 10 000 USD dla w pełni funkcjonalnego kompilatora Keil Pro, kup debugger JLINK (może kolejny 1 000 USD - są tańsze z pewnymi ograniczeniami). IAR jest kolejną kosztowną możliwością (podano przykłady dla procesora STM32F7 Cortex M7, który działa na 30-dniowej wersji demo IAR)
Najtańszy sposób - pobierz i zainstaluj (bezpłatny) zestaw narzędzi GCC-ARM + Eclipse z wtyczkami debuggera JLINK. Zdobądź klon JLINK za około 20 USD, który moim zdaniem będzie działał dobrze - jeszcze nie przetestowany, do debugowania.
Istnieją szczegółowe instrukcje dla tych ostatnich w sieci, jednak przyjmują pewne założenia. Spodziewaj się, że spędzisz dzień lub dłużej, szczególnie w systemie Windows. Nie oczekuj, że będziesz w stanie korzystać z wielu przykładów dostarczonych dla innych IDE bez pracy. Imponująco, darmowy zestaw narzędzi może używać „paczek” (w tej chwili „eksperymentalnych”).
Istnieją inne systemy, takie jak Rowley Crossworks (które, jak sądzę, wykorzystuje gcc), które są mniej bolesne finansowo. Atmel Studio to kolejna, ale miałem bardzo gorzkie skargi ze strony mojego bardzo doświadczonego twórcy oprogramowania układowego (sam tylko z tym krótko grałem).
Jeśli Twój kod wymaga mniej niż 32 KB, możesz bezpłatnie korzystać z tego samego systemu Keil (wersja z ograniczonym kodem), ale pamiętaj, że ścieżka aktualizacji jest łatwa, ale dość droga. Na przykład nie skompiluje prostych przykładów Ethernet dla SAME70. Dobrze, jeśli zamieniasz PIC lub AVR na niskiej klasy ARM, ale nie tak wspaniale, jeśli korzystasz z ARM, ponieważ w rzeczywistości musisz rozmawiać z wyświetlaczami LCD i uruchamiać złożone protokoły komunikacyjne (ewentualnie wstępnie skompilowane moduły mogą być uwzględnione bez wpływu na Limit 32K, nie badałem tego konkretnego kąta).
źródło
Oto, czego używam:
źródło
Najłatwiejszym początkiem jest prawdopodobnie jedna z zewnętrznych płyt klonowych. Losowy przykład z ST . Wymaga to programisty używającego protokołu „SWD”. ST tworzą marki „ST-LINK”, nie jestem pewien, czy musisz używać ST-LINK z urządzeniami ST, czy też jest to naprawdę ogólne.
Niektóre kombinacje SWD i JTAG odgrywają rolę ICSP w systemach ARM, zapewniając możliwości programowania i debugowania.
Pod względem oprogramowania zazwyczaj można współpracować z GCC i OpenOCD na większości układów. Szczegóły są nieco inne dla każdego urządzenia. Specjaliści często używają łańcucha narzędzi Keil, który jest dość drogi.
Niektóre urządzenia (np. Z serii Kinetis) mają bootloadery USB: urządzenie pojawia się jako urządzenie pamięci masowej, pobierasz na niego plik BIN i naciskasz przycisk. Najłatwiejsze możliwe rozwiązanie, nie wymaga programatora. Atmel AT91 ma bootloader USB, który współpracuje z zastrzeżonym protokołem o nazwie SAM-BA.
źródło
Na froncie IDE Silicon Labs zapewnia Simplicity Studio , oparte na Eclipse . Jest standardowo wyposażony w GCC.
Istnieje wbudowana obsługa wszystkich sprzedawanych zestawów startowych, dzięki czemu rozpoczęcie pracy jest stosunkowo bezbolesne.
Programowanie wykorzystuje sterownik Segger J-Link dla zestawów startowych (bezpłatny). Wystarczy podłączyć zestaw do USB i gotowe.
Atmel ma swoje Studio oparte na Visual Studio IDE i może łączyć się z dowolnym debuggerem Atmel. To również jest dostarczane z GCC.
Obaj dostawcy mają liczne (bardzo liczne) przykłady prowadzenia swoich urządzeń.
Użyłem obu i chociaż dokumentacja nie jest doskonała (nigdy nie jest), z pewnością była wystarczająca, aby uruchomić mnie stosunkowo bezboleśnie.
Wiele zestawów ST (i innych) ma włączoną funkcję mbed .
źródło
Cypress produkuje płyty przełamujące oparte na PSOC-4200 (ARM Cortex M0) o formacie DIP-40, które zawierają adapter programujący oparty na USB w części odłamywanej. Cena płyty Breakout Board i dołączonego (odłączanego) adaptera programistycznego to aż 3,99 USD od Digi-Key.
źródło
Polecam CooCox - jest to ta sama kombinacja GCC + Eclipse, ale nie ma potrzeby konfigurowania toolchain ręcznie, wystarczy zainstalować go i zacząć pisać.
źródło
Uważam, że TI, NXP (składają się z NXP + Freescale) i ST są głównymi graczami w świecie kory M, szczególnie ST i NXP oferują naprawdę konkurencyjne narzędzia dla początkujących, kolejnym ważnym parametrem jest popularność w społeczności open source, która powoduje ilość samouczki, biblioteki, sterowniki urządzeń, narzędzia itp.
następnie :
Numer 2 i 3 to lepszy wybór na wyższym poziomie niż hobby. Pamiętaj również, że korzystając z bezpłatnej licencji profesjonalnych narzędzi, takich jak IAR, Keil, a nawet LPCXPRESSO, odczuwasz mniej bólu podczas przeprowadzki do strefy profesjonalnej.
źródło
mbed
- patrz [ developer.mbed.org] [developer.mbed.org]