Narzędzia sprzętowe dla programistów systemów wbudowanych

Narzędzia sprzętowe dla programistów systemów wbudowanych

Narzędzia przeznaczone dla programistów embedded coraz częściej integrują w sobie szereg dodatkowych funkcji, które znacznie ułatwiają prace związane z debugowaniem i uruchamianiem kodu. W artykule zaprezentujemy subiektywny wybór kilku najciekawszych propozycji z oferty firm najprężniej działających na rynku programatorów, debuggerów oraz zestawów ewaluacyjnych i rozbudowanych platform deweloperskich.

Programatory/debuggery

Jeszcze do niedawna zadania programatorów/debuggerów sprzętowych ograniczały się zwykle do zapisywania i odczytywania pamięci Flash mikrokontrolera oraz (w przypadku bardziej zaawansowanych rodzin procesorów, w tym ARM) do monitorowania oraz modyfikacji zawartości rejestrów i zmiennych. Dziś producenci narzędzi dla programistów coraz częściej integrują w nich szereg funkcji dodatkowych, znakomicie zwiększających użyteczność. Jako przykład warto tutaj wymienić programatory ST-Link zintegrowane z płytkami ewaluacyjnymi z serii STM32 Nucleo. Przykładowo – płytka NUCLEO-F439ZI zawiera (w „górnej” części, połączonej z głównym modułem za pomocą trzech wyłamywalnych łączników – fotografia 1) nowoczesny interfejs programistyczny typu STLINK/V2-1, STLINK-V3E lub STLINK-V3EC. Oprócz standardowego programowania i debugowania, umożliwia on także komunikację w trybie wirtualnego portu szeregowego – jeden z bloków USART głównego procesora STM32F439ZI jest sprzężony z mikrokontrolerem zawiadującym pracą interfejsu, co po odpowiedniej konfiguracji umożliwia przesył danych do/z procesora, bez konieczności stosowania zewnętrznego konwertera USB-UART.

Fotografia 1. Zestaw ewaluacyjny NUCLEO-F439ZI z mikrokontrolerem STM32F439ZI i wbudowanym programatorem/debuggerem ST-Link (http://t.ly/W9NrH)

Jeszcze ciekawsze rozwiązania konstrukcyjne zastosowała firma ST Microelectronics w opracowanym przez siebie urządzeniu STLINK-V3PWR (fotografia 2). Narzędzie, oprócz pełnienia funkcji programatora/debuggera, może także odgrywać rolę źródła mierzącego (SMU – source measurement unit), przeznaczonego do badania i profilowania poboru mocy układów energooszczędnych, np. czujników IoT czy urządzeń noszonych. Pomimo kompaktowych rozmiarów, narzędzie pozwala na zasilanie docelowego urządzenia napięciem w zakresie od 1,6 V do 3,6 V, przy poborze prądu nieprzekraczającym 500 mA (zabezpieczenie OCP jest ustawione na 550 mA).

Fotografia 2. Programator/debugger z wbudowaną jednostką SMU – STLINK-V3PWR marki ST Microelectronics (http://t.ly/-Iu07)

Co ważne, programowalna częstotliwość próbkowania może wynosić od 1 Sps do 100 kSps, przy czym zakres dynamiki pomiaru prądu jest niebywale szeroki – mierzalne są już natężenia na poziomie kilku nanoamperów, a górna granica zakresu jest równa 500 mA. Przyrząd oferuje interfejsy JTAG oraz SWD (Serial Wire Debug), wspiera ponadto komunikację przez port wirtualny (VCP). Mało tego – producent udostępnił nawet… wbudowany mostek USB – SPI/I²C/CAN/GPIO, dzięki czemu użytkownicy mogą jeszcze łatwiej debuggować swoje projekty poprzez bezpośredni dostęp do warstwy fizycznej lokalnych interfejsów szeregowych. Warto dodać, że – jak zawsze w przypadku narzędzi deweloperskich ze stajni ST – także i w tym przypadku sprzęt ma pełne wsparcie ze strony IDE. Jednostka SMU sprawnie współpracuje bowiem z oprogramowaniem STM32CubeMonitor-Power (rysunek 1), pozwalając na wygodne prowadzenie akwizycji oraz zapisywanie danych pomiarowych, rejestrowanych przy określonych przez użytkownika parametrach zasilania i wyzwalania.

Rysunek 1. Okno programu STM32CubeMonitor – Power (http://t.ly/cLilL)

Inne ciekawe rozwiązanie opracowała – doskonale znana na rynku narzędzi dla programistów embedded – firma MikroElektronika. Niewielkie urządzenie o nazwie UNI CODEGRIP (fotografia 3) to w pełni bezprzewodowy, uniwersalny programator/debugger przeznaczony do użycia z mikrokontrolerami STM32, Kinetis, TIVA, CEC, MSP, PIC, dsPIC, PIC32, AVR oraz GD32, co daje łącznie ponad 2700 modeli obsługiwanych układów(!). Komunikację z komputerem zapewnia wbudowany moduł Wi-Fi, choć nic nie stoi na przeszkodzie, by skorzystać z konwencjonalnego, przewodowego połączenia przez USB-C. Producent oferuje także szereg kompatybilnych z urządzeniem adapterów, pozwalających na podłączenie programatora/debuggera do różnych urządzeń docelowych.

Fotografia 3. Uniwersalny, bezprzewodowy programator/debugger UNI CODEGRIP marki MikroElektronika (http://t.ly/7R7Y-)

Platformy do prototypowania modułowego

Sporym zainteresowaniem inżynierów cieszą się rozmaite platformy sprzętowe, przeznaczone do budowy prototypów systemów embedded przy pomocy łatwych w użyciu modułów czujnikowych, komunikacyjnych i wykonawczych, łączonych ze wspólną płytą bazową. Choć opis ten wielu osobom skojarzy się zapewne w pierwszej chwili z popularnymi płytkami Arduino oraz nakładkami Arduino Shield, to w zastosowaniach komercyjnych na prowadzenie wysuwa się znów firma MikroElektronika.

Rysunek 2. Opis wyprowadzeń złączy modułów rozszerzeń w standardzie mikroBUS (http://t.ly/Pk8cc)
Rysunek 3. Najważniejsze wymiary modułu/gniazda w standardzie mikroBUS (http://t.ly/Pk8cc)

Opracowany przez nią otwarty standard mikroBUS (rysunki 2 i 3) stanowi fundament potężnego ekosystemu deweloperskiego, zawierającego obecnie przeszło 1500 modułów Click board (fotografia 4) oraz szeroki wachlarz płyt bazowych.

Fotografia 4. Portfolio marki MikroElektronika obejmuje obecnie ponad 1500 modułów Click board, kompatybilnych ze standardem mikroBUS stosowanym w uniwersalnych zestawach ewaluacyjnych 7. i 8. generacji tego samego producenta (http://t.ly/5QiFB)

Do tych ostatnich zaliczyć można zarówno rozbudowane płyty nieco starszej, 7. generacji (fotografia 5), jak i ultra-nowoczesne, w pełni profesjonalne zestawy ewaluacyjne 8. generacji (fotografia 6).

Fotografia 5. Płyta bazowa 7. generacji – EasyMx PRO v7 for STM32 marki MikroElektronika (http://t.ly/9ospP)

Te ostatnie można już określić mianem „klasy luksusowej” – doskonałe wyposażenie w postaci bogatego zestawu bloków peryferyjnych, przycisków, złączy komunikacyjnych oraz slotów pod moduły rozszerzeń, zostało bowiem uzupełnione przez szereg konstrukcyjnych „smaczków”.

Fotografia 6. Płyta bazowa 8. generacji – Fusion marki MikroElektronika, przeznaczona do pracy z mikrokontrolerami PIC, dsPIC, PIC24 oraz PIC32 (http://t.ly/P7JLj)

Zintegrowany programator/debugger Wi-Fi, a także moduł pełniący funkcję zasilacza UPS, są ukryte pod specjalnymi osłonami (fotografia 7), zaś wygodną pracę z płytą umożliwia system zintegrowanych podpórek (fotografia 8).

Fotografia 7. Moduły programatora/debuggera oraz zasilacza na płycie Fusion marki MikroElektronika (http://t.ly/P7JLj)

Elastyczność aplikacyjną zapewnia system wymiennych kart z różnymi typami mikrokontrolerów, łączonych z płytą bazową przy pomocy złączy typu Mezzanine.

Fotografia 8. Zintegrowane podpórki przymocowane do płyty z serii Fusion marki MikroElektronika (http://t.ly/P7JLj)

Konstruktorzy poszukujący prostszego, budżetowego narzędzia, także zapewniającego wygodny dostęp do linii GPIO oraz możliwość rozszerzania systemu o dodatkowe moduły, mogą skorzystać z oferty marki Waveshare.

Fotografia 9. Płyta bazowa z serii STM32 Open marki Waveshare z zainstalowanym modułem zawierającym mikrokontroler (http://t.ly/91LdE)

Opracowany przez nią ekosystem STM32 Open składa się z płyt bazowych z wymiennymi modułami „procesorowymi” (fotografia 9) oraz całkiem obszernej serii modułów dodatkowych, wpinanych w odpowiednie gniazda na brzegach płytki (fotografia 10).

Fotografia 10. Płyta STM32 Open z zamontowanym wyświetlaczem graficznym i szeregiem modułów dodatkowych (http://t.ly/91LdE)

Firma oferuje nie tylko płyty bazowe, moduły z mikrokontrolerami oraz płytki rozszerzeń, ale także rozmaite modele wysokiej jakości wyświetlaczy graficznych, zaś całość uzupełniają repozytoria typu wiki, w których znajdują się liczne programy przykładowe, biblioteki oraz tutoriale ułatwiające rozpoczęcie pracy z ekosystemem Waveshare.

Podsumowanie

W artykule zaprezentowaliśmy kilka wybranych narzędzi przydatnych programistom i konstruktorom systemów embedded. Własne konstrukcje zestawów ewaluacyjnych, programatorów/debuggerów oraz rozmaitych narzędzi pomocniczych ma w swojej ofercie każdy producent mikrokontrolerów, zaś całości dopełniają uniwersalne platformy prototypowe, oferowane przez partnerów półprzewodnikowych potentatów – oraz rozmaite firmy niezależne. Warto zatem śledzić ten dynamiczny segment rynku, gdyż odpowiedni dobór narzędzi sprzętowych może niebywale poprawić komfort pracy, skrócić czas budowy prototypu, a w efekcie – przyspieszyć wprowadzenie produktu na rynek.

inż. Przemysław Musz, EP

Artykuł ukazał się w
Elektronika Praktyczna
marzec 2024

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów