Ruch na piątkę
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.
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.
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.
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.
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.
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?
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