wersja mobilna | kontakt z nami

Komercyjne środowiska sprzętowo-programowe dla programistów mikrokontrolerów ARM Cortex-M

Numer: Styczeń/2017

Komercyjne środowiska programistyczne, pomimo naporu rozwiązań bezpłatnych, ciągle dobrze się trzymają na rynku. Są one coraz lepiej wyposażone i właśnie na zaawansowanych możliwościach funkcjonalnych, niedostępnych w narzędziach bezpłatnych, budują i utrwalają swoją pozycję na rynku. W artykule przedstawiamy trzy najpopularniejsze w Polsce komercyjne pakiety programistyczne oraz współpracujące z nimi narzędzia sprzętowe, niezbędne w każdym poważnym, mikrokontrolerowym laboratorium projektowym.

Pobierz PDF

Na rynku dostępne są różnorodne narzędzia dla programistów przygotowujących aplikacje na mikrokontrolerowy ARM, z których najczęściej są stosowane zintegrowane środowiska programistyczne składające się z IDE, kompilatorów, debuggerów, w niektórych przypadkach także programowych symulatorów oraz narzędzi pomocniczych. Od takich właśnie pakietów zaczniemy nasz przegląd.

rys-1Keil/ARM MDK-ARM z IDE mVision i DS-5

Nadal najpopularniejszym pakietem narzędziowym wśród programistów piszących aplikacje dla mikrokontrolerów wyposażonych w rdzenie ARM w naszym kraju jest MDK-ARM firmy ARM (dawniej Keil). Napisałem „nadal”, bowiem producent tego narzędzia nie rozpieszcza swoich fanów, którzy są zmuszeni do kupowania stosunkowo drogich wersji komercyjnych tego narzędzia, producent – niestety – nie oferuje rozwiązań „budżetowych”, co jest to usprawiedliwione wysoką jakością tego narzędzia. W pewnym stopniu sytuację ratują dedykowane wersje oprogramowania – dzięki współpracy z producentami mikrokontrolerów – udostępniane bezpłatnie, ale ograniczone do wybranej rodziny mikrokontrolerów. Dla prostych aplikacji alternatywą jest także dostępna bezpłatnie wersja Lite, która umożliwia kompilowanie programów o objętości kodu wynikowego do 32 kB.

rys-2Pakiet ARM-MDK jest kompletnym systemem integrującym w jednym, łatwym w obsłudze środowisku wszystkie narzędzia programistyczne (rysunek 1): kompilatory języków C/C++ oraz asemblera, linker, programowy symulator, debugger oraz „opakowujące” te narzędzia w interfejs graficzny IDE (Integrated Development Environment) o nazwie mVision (rysunek 2) lub DS-5 (bazujący na Eclipse).

Standardowym wyposażeniem wszystkich wersji MDK są biblioteki CMSIS (tabela 1), system operacyjny CMSIS-RTOS RTX, wersja najdroższa – MDK-Professional – jest dostarczana także z kompletem bibliotek obsługujących interfejsy komunikacyjne, w tym TCP/IP, USB Device i Host, interfejs CAN, system plików FAT oraz interfejsy graficzne. Nowe wersje pakietu MDK-Professional będą obsługiwać także architektury ARMv8-M oraz dwurdzeniowe Cortex-A/Cortex-M.

Pakiet MDK-ARM jest przystosowany do współpracy z większością popularnych interfejsów programująco-debugujących (m.in. J-Link firmy Segger, ST-Link firmy STMicroelectronics, OpenSDA, Nuvoton Nu-Link), jest także przystosowany do łatwego upgarde’owania (poprzez dodanie odpowiednich bibliotek DLL) obsługi nowych interfejsów. Producent pakietu oferuje jego użytkownikom własne interfejsy – serię urządzeń o nazwie ULink – których rodzina składa się obecnie z trzech modeli:

rys-3- ULINK2 – model podstawowy, obsługujący mikrokontrolery ARM7/ARM9, Cortex-M, starsze mikrokontrolery z rdzeniem 8051: XC800/mPSD/LPC950 oraz 16-bitowe XC166. Obsługuje interfejs SWO z prędkością do 1 Mb/s, nie jest obsługiwany przez IDE DS-5,
- ULINKproD (fotografia 3) – interfejs przystosowany do współpracy z interfejsami zasilanymi napięciem od 1,2 V, obsługą SWO do 100 Mb/s, obsługiwany przez obydwa IDE,
- ULINKpro – interfejs przystosowany do współpracy z interfejsami zasilanymi napięciem od 1,2 V, obsługą SWO do 100 Mb/s, ETM do 800 Mb/s, obsługiwany przez obydwa IDE.

Pakiet MDK-ARM jest oferowany w czterech podstawowych wersjach, których najważniejsze cechy zestawiono w tabeli 1.

 

tab-1IAR Embedded Workbench

Dużą elastycznością oraz zaawansowanymi możliwościami funkcjonalnymi charakteryzuje się także pakiet Embedded Workbench firmy IAR. Jest on w naszym kraju nieco mniej popularny niż MDK, ale oferuje nie mniejsze możliwości, zwłaszcza podczas projektowania i optymalizacji systemów energooszczędnych. Firma IAR wyposażyła pakiet Workbench w pluginy umożliwiające współpracę ze wszystkimi liczącymi się systemami na rynku (m.in. AVIX, CMX-RTX, e-Force µC3/Compact, FreeRTOS, OpenRTOS, SafeRTOS, Freescale MQX, Micrium µC/OS-III, Quadros RTXC, Segger embOS). IAR Workbench używa własnego IDE (rysunek 4), o nieco innym sposobie obsługi niż wcześniej prezentowany MDK, ale rozwiązanie proponowane przez firmę IAR ma także wielu zwolenników, dostępne są także narzędzia integrujące środowisko Workbench pod „skrzydłami” Eclipse.

rys-4Pakiet Embedded Workbench jest przystosowany do współpracy z wieloma standardowymi interfejsami do debugowania i programowania (jak na przykład rodzina interfejsów J-Link firmy Segger), producent pakietu oferuje także kilka typów własnych interfejsów, jak na przykład I-jet (fotografia 5, taktowanie JTAG do 48 MHz) lub I-jet Trace (fotografia 6, taktowanie JTAG do 100 MHz). Mocną stroną pakietu Embedded Workbench jest zaimplementowana obsługa najpopularniejszych interfejsów komercyjnych (m.in. Segger J-Link, ST-Link, XDS100) oraz open-source jak na przykład Stellaris FTDI/ICDI, Macraigor OCDemon, OpenSDA itp.

rys-5

Atollic TrueSTUDIO

Firma Atollic opracowując pakiet TrueSTUDIO wybrała inną drogę niż firmy, których narzędzia przedstawiliśmy dotychczas: zamiast budować własne oprogramowanie od podstaw, jej inżynierowie wykorzystali oprogramowanie open-source (IDE Eclipse, kompilator ARM-GCC, serwer debuggera gdbsever), które charakteryzuje się – w wersjach natywnych – trudną instalacją, koniecznością wykonywania wielu ręcznych modyfikacji i poprawek, a także monitorowania zmian wprowadzanych przez zespoły freelancerów rozwijających oprogramowanie.

rys-7Pakiet TrueSTUDIO (rysunek 7) – pomimo tego, że składa się z elementów open-source’owych – jest wygodny w instalacji i nie wymaga podczas eksploatacji przesadnej troski ze strony użytkowników. Nie dzieje się to oczywiście za darmo: wersja TrueSTUDIO Pro wymaga zakupu licencji, ale jej koszt jest konkurencyjny w stosunku do innych narzędzi dostępnych na rynku. Pakiet TrueSTUDIO Pro jest dostępny w 30-dniowej wersji trial.

Wersja komercyjna TrueSTUDIO Pro jest wyposażona w zaawansowane narzędzia profilujące, debugujące i optymalizujące projekty, które odróżniają je od bezpłatnej wersji TrueSTUDIO, wśród nich m.in.: CPU Fault Analyzer, Statistic Profiler, Exception and Interrupt Tracing, Instruction Tracing, Real-Time Data Access Tracing, a także możliwość debugowania pracy systemów wielordzeniowych.

Pakiet TrueSTUDIO nie został przez producenta wyposażony w zintegrowany system operacyjny, ale może współpracować z kilkoma systemami komercyjnymi (m.in. HCC-Embedded eTaskSync, Micrium uC/OS, CMX-RTX/CMX-TINY+, Express Logic ThreadX, FreeRTOS, Segger embOS, HighIntegritySystems/Wittenstein OpenRTOS/SafeRTOS, Code Time Technologies Abassi, Quadros RTXC).

rys-7Opracowując komercyjną wersję TrueSTUDIO producent założył, że obsługiwane będą przede wszystkim interfejsy programująco-debugujące zgodne z gdbserver, ale dość szybko zintegrowano w nim także obsługę interfejsów J-Link firmy Segger, Atmel SAM-ICE oraz interfejsów zgodnych z ST-LINK oraz ST-LINK/V2 firmy STMicroelectronics.

Podsumowanie

W tej części artykułu przedstawiliśmy trzy najpopularniejsze w naszym kraju, komercyjne pakiety narzędziowe dla mikrokontrolerów z rdzeniami firmy ARM. Oferowane przez niektórych producentów mikrokontrolerów pakiety bezpłatne oraz dodatkowe narzędzia programowe dla programistów przedstawimy w kolejnych wydaniach EP.

Tomasz Starak, EP

 

tabela-2

Pozostałe artykuły

MkMenu Library - oprogramowanie do tworzenia menu

Numer: Marzec/2018

...

Sterowanie WS2812 - nowe podejście

Numer: Maj/2017

Od jakiegoś czasu można kupić trójkolorowe diody LED zintegrowanie ze sterownikiem sterowanym cyfrowo. Sterownik jest oferowany w dwóch odmianach: WS8211 i WS8212. Oba działają tak samo, a różnice w oznaczeniach oznaczają trochę inne zależności czasowe przy przesyłaniu danych do układów. Z diod LED można budować "ekrany", węże świetlne czy inne świecące elementy ozdobne.

Tętnienie światła w układach oświetlenia LED

Numer: Maj/2017

Tętnienie światła (light flicker), obok rozkładu widmowego oświetlenia i jego natężenia, jest jednym z czynników mających wpływ na komfort widzenia przy oświetleniu stanowiska pracy. Tętnienie oświetlenia to szybkie, periodyczne zmiany natężenia światła. W typowych warunkach większość ludzi nie jest w stanie zobaczyć tętnienia światła o częstotliwości powyżej 80 Hz, którą uznaje się za częstotliwość graniczną dla ...

Osobliwości kompilatora AVR-GCC i mikrokontrolerów AVR (2)

Numer: Maj/2017

Kompilator AVR GCC jest chętnie stosowany do kompilowania programów dla mikrokontrolerów AVR. Jak każdy kompilator ma swoje wady i zalety. Specyfika kompilatorów może być istotna, gdy program ma działać szybko lub zajmować mało miejsca w pamięci. Bałagan w definicjach rejestrów czy ich funkcjonalność zmieniana przez producenta w niektórych typach procesorów nie ułatwia pisania programów.

Bezpieczeństwo elektryczne urządzeń (1)

Numer: Kwiecień/2017

100-procentowe zabezpieczenie projektowanego przez siebie urządzenia przed wszystkimi zagrożeniami, które mogą wystąpić w czasie jego eksploatacji, raczej nie jest możliwe. Jednak jako świadomi konstruktorzy powinniśmy redukować wpływ pewnych typowych zagrożeń, dbając o bezpieczeństwo urządzenia oraz jego użytkownika.

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Lipiec 2018

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym