Nowa wizja "mikrowizji"

Nowa wizja "mikrowizji"
Pobierz PDF Download icon
MDK-ARM (Microcontroller Development Kit) firmy Keil jest niewątpliwie najpopularniejszym oprogramowaniem narzędziowym dla mikrokontrolerów ARM i Cortex. Wynika to zarówno z jakości technicznej samego produktu, jak i wygody jego użytkowania. Dzięki temu środowisko IDE (Integrated Development Enviroment) ?Vision stało się standardem oprogramowania narzędziowego dla mikrokontrolerów. Sukces nie wstrzymuje jednak Keil?a przed pójściem dalej. W artykule zaprezentujemy ostatnią wersję ?Vision5, która wprowadza inne, nowe podejście w oprogramowaniu narzędziowym pokazujące wizję realizowaną przez firmę Keil.

Ruch na piątkę

Rysunek 1. Struktura oprogramowania MDK-ARM Version 5

Zmiany wprowadzone w wersji 5 polegają na nowej strukturze oprogramowania MDK. Zostało ono podzielone na rdzeń bazowy MDK Core i – instalowane w zależności od potrzeb – pakiety oprogramowania, tzw. Software Packs. Niby niewiele, ale ten ruch otwiera MDK na pakiety opracowywane przez innych producentów niż firma Keil, np. przez wytwórców półprzewodników lub przez samych użytkowników.

Strukturę oprogramowania pokazano na rysunku 1. Jego rdzeń tworzą:

  • Środowisko IDE μVision zintegrowane z edytorem kontekstowym.
  • Kompilator C/C++.
  • Debuger μVision z opcją śledzenia realizacji kodu (Trace).
  • Instalator pakietów programowych Software Pack.

Rysunek 2. Ekran Run-Time Environment Manager

Ten ostatni jest nowym elementem odpowiedzialnym za aktualizowanie i dodawanie odpowiednich pakietów dla poszczególnych mikrokontrolerów i tworzonej aplikacji. Instalowane w zależności od potrzeb pakiety oprogramowania można podzielić na:

  • Biblioteki mikrokontrolerów (Device Packs) zawierające kod startowy (inicjalizacyjny) i drivery wbudowanych układów peryferyjnych.
  • Biblioteki CMSIS (Cortex Microcontroller Software Interface Standard Pack) zawierające standardowy interfejs, biblioteki DSP i jądro systemu czasu rzeczywistego RTOS.
  • Biblioteki użytkowe (Middleware Packs) dostępne w wersji MDK-ARM Professional, a zwierające stos TCP/IP, stos USB, drivery CAN, system plików i biblioteki graficzne.

Rysunek 3. Warianty i źródła pochodzenia pakietów “Software PacK”

Zarządzanie tymi pakietami odbywa się poprzez wybór odpowiednich opcji we wbudowanym w środowisku μVision5 menadżerze Run-Time Environment (rysunek 2). Użytkownik odznaczając odpowiednie opcje konfiguruje środowisko programistyczne stosownie do wybranego mikrokontrolera i potrzeb swojego projektu. Ta konfiguracja jest zapamiętywana w menadżerze projektów MDK-ARM.

Wersją 5 Keil otwiera się na oprogramowanie dostarczane przez innych (rysunek 3). Do wcześniej wymienionych wariantów instalowalnych pakietów oprogramowania należy dodać biblioteki firmowe tworzone przez samych użytkowników, więc źródłem pochodzenia bibliotek przestaje być jedynie producent oprogramowania narzędziowego.

Rysunek 4. Struktura komponentu pakietu "Software Pack"

Może nim być wytwórca półprzewodników, któremu zależy na dostarczeniu klientom narzędzi przeznaczonych dla jego mikrokontrolerów. Może też nim być niezależna firma programistyczna tworząca programy komercyjne. Można więc wkrótce liczyć na poszerzoną ofertę Software Pack’ów.

Jest oczywistym, że takie podejście wymusiło użycie otwartego standardu komponentów, tak aby niezależny programista mógł je tworzyć według zasad opisanych między innymi w notach aplikacyjnych AN250, AN251. Każdy pakiet zawiera też plik PDSC z opisem zawierającym informacje o dostawcy, warunkach licencji, wersji. Ułatwia to zarządzanie pakietami i ich aktualizowanie (rysunek 4).

Cykl pracy w najnowszej wersji MDK-ARM należy rozpocząć od załadowania ze strony web dostawcy aktualnych pakietów Software Pack (rysunek 5 i rysunek 6). Ułatwia to wbudowany w środowisko μVision5 instalator, który sprawdza dostępne aktualizacje i przykładowe projekty. W postaci Software Pack’ów dostępne są też pewne szablony programowe ułatwiające tworzenie aplikacji. Po załadowaniu pakietów są one dostępne w menadżerze Run Time Enviroment. Klikając na odpowiednich polach wyboru wybieramy składniki potrzebne do aplikacji.

Rysunek 5. Czynności wstępne

MDK-ARM w wersji 5 nie jest w pełni kompatybilny z wcześniejszymi wersjami. Żeby obsłużyć stare projekty lub gdy dla danego mikrokontrolera nie ma jeszcze opracowanych software pack’ów, należy doinstalować dodatkowy pakiet Legacy Support. Dalsza obsługa najnowszej wersji oprogramowania przebiega jak wcześniejszych. Nabyte doświadczenie będzie przydatne, a przyzwyczajeń nie trzeba zmieniać. Wygoda obsługi i dostępna on-line instrukcja kontekstowa zapewniają wysoką efektywność pracy. Efektywność tę podnoszą jeszcze nowe usprawnienia edytora z dynamiczną weryfikacją składni kodu źródłowego i "suflerem".

Debuger też na piątkę

Wyjątkowo cenionym przez konstruktorów jest wbudowany, wyposażony w wiele użytecznych mechanizmów, debuger μVision. We współpracy z adapterami USB-JTAG sprzęgającymi komputer z układem aplikacyjnym umożliwia on zaprogramowanie pamięci Flash i uruchamianie oprogramowania w układzie docelowym, w rzeczywistych warunkach aplikacji.

Rysunek 6, Ekran Software Pack Installer

Najbardziej zaawansowany adapter ULINK-Pro firmy Keil (fotografia 7) pozwala na wykorzystanie w pełni funkcjonalności bloku ETM (Embedded Trace Macrocell) debugera CoreSight wbudowanego w strukturę mikrokontrolerów Cortex. Pozwala na śledzenie w czasie rzeczywistym, bez wstrzymywania procesora, śladu programu aplikacyjnego wykonywanego z pełną szybkością. Można również "w locie" modyfikować zawartość pamięci, wyświetlać zmieniające się wartości zmiennych w postaci graficznych przebiegów czasowych oraz w analizatorze stanów logicznych lub na oscyloskopie.

Dane zebrane "w locie" pozwalają na określenie czasów wykonywania poszczególnych procedur i przeprowadzenie analizy przetwarzania. Na tej podstawie można zidentyfikować newralgiczne fragmenty programu, które wymagają optymalizacji kodu lub zmian strukturalnych. Analiza pokrycia, czyli identyfikacja obszarów programu aplikacyjnego, które w trakcie uruchamiania zostały wykonane, a tym samym przetestowane, jest kluczowa dla certyfikacji kodu. Poszerza się zakres zastosowań, w których taka certyfikacja jest wymagana. Na pierwszy kwartał przyszłego roku zapowiadane są dalsze usprawnienia certyfikacji w postaci Compiler Qualification Kit. Zaawansowane mechanizmy debugingu i analizy kodu dostarczane z pakietem MDK-ARM ciągle stwarzają konstruktorom nowe perspektywy i otwierają nowe obszary zastosowań.

Dlaczego piątka?

Fotografi a 7. ULINK-Pro adapter USB-JTAG

Podsumowując należy podkreślić, że nowa wersja MDK-ARM wnosi nową jakość. Zwiększa elastyczność oprogramowania poprzez obsługę nowych mikrokontrolerów za pomocą pakietów Software Pack, których otwarty standard pozwala na dodawanie komponentów oprogramowania opracowanych przez firmy niezwiązane z Keil i ARM oraz indywidualnych programistów. Koncepcja niezależnych od siebie pakietów w dłuższej upraszcza perspektywie zarządzanie projektami. Prostsze będzie aktualizowanie oprogramowania do nowych wersji i dla nowych układów. Prostsza będzie zamiana docelowego procesora. Kolejnym plusem jest zwiększenie efektywności. Szablony programowe, również te opracowywane przez użytkowników i przykładowe programy przyspieszą start nowych projektów. Kolejne zalety to wygodna selekcja komponentów i łatwy dostęp do powiązanej z nimi dokumentacji.

Myślę, że piątka jest warta zainteresowania, a uaktualnienie oprogramowania jest w tym momencie korzystne. Zachęcamy do odwiedzenia strony http://www2.keil.com/mdk5/, pobrania najnowszej wersji MDK-ARM, sprawdzenia wersji ewaluacyjnej i kontaktu z firmą WG Electronics.

Tadeusz Górnicki
WG Electronics Sp. z o.o.
www.wg.com.pl

Artykuł ukazał się w
Elektronika Praktyczna
styczeń 2014
DO POBRANIA
Pobierz PDF Download icon
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik lipiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje czerwiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów