Aby sprostać rosnącym wymaganiom, po latach rynkowej obecności Keil MDK 5 nadszedł czas na zmiany. Arm opracował środowisko MDK w wersji 6, które zostało zoptymalizowane pod kątem wsparcia pełnego portfolio procesorów Arm Cortex-M i Ethos-U. W ten sposób powstało oprogramowanie korzystające z najważniejszych cech poprzedniego IDE oraz wprowadzające wiele nowych rozwiązań.
Licencje UBL (ang. User-based License)
Podstawową zaletą ekosystemu MDK v6 jest możliwość pracy w chmurze oraz zmieniony sposób licencjonowania. Nowością jest licencja UBL, która umożliwia pracę użytkownikom z dowolnego miejsca na świecie, bez ograniczeń sprzętowych, jakie występowały w przypadku korzystania z wcześniejszych wersji narzędzia.
Środowisko Keil Studio
Najważniejszą zmianą w wersji 6 jest wprowadzenie środowiska Keil Studio IDE. Programiści mogą wybierać pomiędzy sprawdzonym μVision a Keil Studio, które obsługuje nowoczesne technologie CMSIS oraz wspiera innowacyjne przepływy pracy w projektowaniu systemów wbudowanych.
MDK v6 umożliwia bezproblemowe przełączanie się między wymienionymi powyżej środowiskami. Keil Studio rozszerza również wsparcie o systemy Linux i macOS, co stanowi istotne ulepszenie w porównaniu do μVision, dostępnego jedynie na system Windows. Dzięki integracji z Visual Studio wszystkie popularne systemy operacyjne są teraz obsługiwane, a to otwiera drogę do stosowania tego wydajnego środowiska deweloperskiego także tym programistom, którzy w ciągu wielu lat pracy zawodowej silnie przywiązali się do systemów linuksowych bądź macOS.
Nowe funkcje w MDK v6
Więcej niż toolchain
Obsługując wszystkie główne systemy operacyjne, Keil MDK oferuje wszechstronne Keil Studio i łączy się z Arm Virtual Hardware w celu programowania opartego na testach z zastosowaniem symulacji. Dzięki systemowi operacyjnemu czasu rzeczywistego Keil RTX5 i bezpłatnemu oprogramowaniu pośredniczącemu (middleware) systemy wbudowane można teraz tworzyć w krótszym czasie, zwiększając efektywność działań. Ekosystem od firmy Arm to nie tylko doskonały toolchain (łańcuch narzędzi), ale także kompletne „otoczenie” narzędziowe pozwalające na stosowanie najnowocześniejszych metod pracy o wydajności nieporównanie większej niż klasyczne debugowanie kodu bezpośrednio na docelowej platformie sprzętowej.
Wszechstronne generowanie kodu
Keil MDK obsługuje różne zestawy narzędzi, w tym Arm Compiler for Embedded, GCC lub LLVM. Umożliwia łatwe przełączanie między kompilatorami, co umożliwia programiście wybór narzędzia o najlepszej wydajności do danego zastosowania.
Opcje, które wcześniej były dostępne jedynie w drogich rozwiązaniach z najwyższej półki, teraz są oferowane w wersjach korzystniejszych ekonomicznie. Przykładem jest Middleware, przeniesione już do wersji Community oraz FuSa, której licencjonowanie jest teraz wspólne z edycją Professional.
FuSa w cenie – wersja Professional MDK v6
Arm FuSa Run-Time System (RTS) to certyfikowane środowisko uruchomieniowe, zaprojektowane z myślą o aplikacjach bazujących na mikrokontrolerach i spełniające wymogi norm bezpieczeństwa funkcjonalnego (między innymi ISO 26262 i IEC 61508). System jest zintegrowany z platformą Keil MDK i wspiera rozwój systemów wbudowanych dla kluczowych sektorów, w tym motoryzacji, medycyny oraz przemysłu. FuSa RTS oferuje szereg zaawansowanych funkcji, w tym ochronę pamięci, obsługę błędów oraz wsparcie architektur bezpieczeństwa.
Awaria systemów o krytycznym znaczeniu może wiązać się z zagrożeniem życia i zdrowia, a także wysokimi kosztami, związanymi m.in. z usuwaniem skutków awarii drogiej infrastruktury. Bezpieczeństwo funkcjonalne zatem odgrywa kluczową rolę w różnych sektorach i branżach współczesnej techniki. Wraz z rosnącą złożonością oprogramowania i zwiększaniem się wymogów dotyczących łączności, szczególnie w zakresie chmury, rośnie także liczba wyzwań związanych z zapewnieniem bezpiecznych metod funkcjonowania systemów. Aby zapobiegać awariom, niezbędne jest podjęcie trzech kroków:
- korzystanie z oprogramowania zakwalifikowanego do systemów krytycznych,
- używanie zweryfikowanego kompilatora
oraz
- przestrzeganie rygorystycznych wytycznych dotyczących kodowania.
Wymogi te określane są przez standardy bezpieczeństwa, opisane między innymi w międzynarodowej normie IEC 61508. Dokumenty te definiują tzw. poziomy integralności bezpieczeństwa (SIL) – im wyższy poziom, tym większa jest oczekiwana niezawodność działania systemu.
Arm dostarcza najważniejsze komponenty systemów wbudowanych, które ze względu na docelowe zastosowanie wymagają zgodności z zasadami bezpieczeństwa funkcjonalnego, w tym:
- kompilator Arm dla systemów o podwyższonym bezpieczeństwie,
- bibliotekę FuSa C,
- system uruchomieniowy bezpieczeństwa funkcjonalnego (FuSa RTS).
Edycje Keil MDK v6
Pakiet MDK v6 dostępny jest w trzech edycjach:
- Community (bezpłatna do użytku niekomercyjnego),
- Essential (obsługująca wszystkie rdzenie Cortex-M, do użytku komercyjnego),
- Professional (z narzędziami AVH i FuSa, do użytku komercyjnego).
Każda z edycji oferuje różne funkcje oraz wsparcie dla narzędzi do debugowania i symulacji sprzętu.
Podsumowanie
Najnowsza wersja Arm Keil MDK v6 z czasem zastąpi wersję 5, która wyznaczyła kierunki rozwoju współczesnego oprogramowania wbudowanego. Nowy model licencjonowania eliminuje bariery sprzętowe, a licencje są przypisane do użytkowników, co zwiększa elastyczność ich pracy. Dodatkowo funkcje takie jak praca w chmurze i wsparcie dla systemów Linux i macOS czynią tę wersję wyjątkowo wszechstronną.
Mało tego, oprogramowanie FuSa, które wcześniej było dostępne tylko za wysoką opłatą, teraz stanowi część wersji Professional. Dzięki temu zaawansowane narzędzia deweloperskie są obecnie dostępne dla szerszej grupy użytkowników i to bez konieczności ponoszenia przez nich dodatkowych kosztów.