wersja mobilna | kontakt z nami

MPLAB Xpress. Programowanie z głową w chmurze

Numer: Kwiecień/2016

Microchip - jedna z wiodących firm produkujących mikrokontrolery - zaczęła oferować bezpłatne środowisko programistyczne pod nazwą MPLAB Xpress. Jest to okrojona wersja znanego pakietu MPLAB X, która jednak ma jedna ważną funkcjonalność, której nie ma MPLAB X IDE - może pracować w chmurze.

Pobierz PDF

Rysunek 1. Okno projektu (Project)

Idea pracy w chmurze opiera się na dostępie do Internetu i uruchamianiu aplikacji za pomocą przeglądarki internetowej. Użytkownik nie zapisuje w pamięci swojego komputera wersji instalacyjnej programu i go nie instaluje.

W czasie normalnej pracy nie zapisuje na dysku swojego komputera efektów pracy - wszystkie pliki są umieszczane gdzieś na dyskach serwerów, a my nie mamy do nich bezpośredniego dostępu. Jednak zazwyczaj istnieje możliwość zapisania na dysku na żądanie własnych projektów.

Aby rozpocząć pracę, użytkownik musi utworzyć swoje konto z nazwą i hasłem. To konto identyfikuje użytkownika oraz projekty aplikacji. Jest to z jednej strony bardzo wygodne, bo można w dowolnym miejscu na dowolnym komputerze pracować z projektem.

Z drugiej strony zawsze istnieje obawa, szczególnie w przypadku ważnych projektów, że kod może gdzieś zginąć lub zostać "przejęty" przez hakerów.

Rysunek 2. Okno "deski rozdzielczej" (Dashboard)

Rysunek 3. Okno edytora

W obecnej wersji środowisko MPLAB Xpress jest przeznaczone tylko dla rodzin mikrokontrolerów 8-bitowych i może współpracować jedynie z programatorem PicKit3 i programatorem umieszczonym na płytce ewaluacyjnej MPLAB Xpress Evaluation Board. Na tej płytce znajduje się programator/debuger zbudowany w oparciu o mikrokontroler PIC18LF25K50 i mikrokontroler PIC16F18855, czujnik temperatury EMC1001 i złącze do podłączania modułów zewnętrznych.

Rysunek 4. Okno wyjściowe (Output)

Microchip dopiero staruje ze swoim pakietem. Bardziej znane jest środowisko mbed firmy ARM, również pracujące w chmurze. Ponieważ sam używam od jakiegoś czasu mbed, ale również MPLAB X IDE, postanowiłem sprawdzić, jak wygląda praca z MPLAB Xpress.

Zaczynamy od zarejestrowania się na stronie firmy Microchip, jeżeli takiego konta jeszcze nie mamy. Jest to jedno, wspólne konto potrzebne, na przykład, do dostępu do próbek układów, dostępu do kompilatorów, dostępu do wsparcia technicznego itd.

Aby zacząć pracę trzeba przejść do strony https://goo.gl/R1Q0pq. W teorii powinna się otworzyć na tej stronie aplikacja MPLAB Xpress, przynajmniej tak mówią pliki pomocy technicznej. W rzeczywistości jesteśmy przekierowywani na stronę https://goo.gl/t8FV22.

Rysunek 5. Okno właściwości projektu

Na tej stronie należy kliknąć na Test Drive i otworzy się strona z przykładowymi projektami dla modułu ewaluacyjnego. Tam trzeba otworzyć jeden z projektów klikając na przycisk Open.

Dopiero wtedy otwiera się okno z MPLAB Xpress z wybranym projektem. Jest to dość zagmatwane i mam nadzieję, że to stan przejściowy i w przyszłości dostęp do programu będzie "normalny".

Okno programu jest w istocie uproszczonym oknem MPALB X IDE. Te uproszczenia są głównie wynikiem ograniczenia funkcjonalności do mikrokontrolerów 8-bitowych i możliwości stosowania dwóch programatorów/debugerów. Do dyspozycji jest jak na razie tylko jeden plug-in - MCC.

Rysunek 6. Wybór rodzaju projektu

Na pasku narzędzi są umieszczone następujące ikony:

  • tworzenie nowego pliku.
  • tworzenie nowego projektu.
  • otwieranie projektu.
  • zapamiętanie wszystkich plików projektu.
  • uruchomienie MCC Microchip Code Configurator.
  • opcje: Build Project, Build For Debugging , Build For Export.
  • jak wyżej, ale z opcją Clean.
  • kompilowanie programu i bibliotek (make) oraz zapis programu do pamięci mikrokontrolera (program device).
  • uruchomienie debugera.

Główne okno programu MPLAB Xpress składa się z czterech okien: projektu Project (rysunek 1), "deski rozdzielczej" Dashboard (rysunek 2), edycji plików źródłowych (rysunek 3) oraz wyników Output ( rysunek 4).

Rysunek 7. Wybór mikrokontrolera

W oknie projektu są umieszczone wszystkie pliki projektu, te dodawane przez użytkownika i te generowane przez MCC. Służy głównie do dodawania i usuwania plików projektu oraz nawigacji pomiędzy nimi.

Okno Dashboard wyświetla istotne informacje:

  • Typ wybranego mikrokontrolera.
  • Wersję kompilatora.
  • Zajętość pamięci Flash i RAM po kompilacji za pomocą bezpłatnej (Free) i komercyjnej (Pro) wersji kompilatora. Można na bieżąco zobaczyć, jakie są korzyści ze stosowania wersji Pro.
  • Rodzaj wybranego programatora/debugera (Xpress Board lub PicKit3).
  • Liczba użytych punktów zatrzymań debugera.

Rysunek 8. Wpisanie nazwy projektu

Kiedy klikniemy na ikonkę Project Properties okna Dasboard otwiera się okno właściwości projektu, w którym można zmienić, na przykład: typ mikrokontrolera, wybrać dostępną wersję kompilatora i jego ustawienia, wybrać programator (rysunek 5).

W oknie edycji wykonuje się edycję plików źródłowych. Podobnie jak MPLAB X IDE, edytor wykonuje kolorowanie wprowadzanego tekstu, ale w ograniczonym zakresie. W zasadzie sprowadza się to do kolorowania słów kluczowych. Nie działa sprawdzania poprawności syntaktycznej "on line".

Okno Output zawiera komunikaty generowane w trakcie kompilowania. Można tu zobaczyć zajętość wszystkich rodzajów pamięci mikrokontrolera i ewentualne komunikaty o błędach kompilacji.

Nowy projekt

Rysunek 9. Dodawanie nowego pliku

Nowy projekt zaczynamy od kliknięcia na ikonę "nowy projekt" na pasku narzędzi. Otwiera się okno New Project, w którym tworzymy projekt w trzech krokach:

  1. Wybór rodzaju projektu. Na razie nie ma tu wielu opcji - można wybrać projekt typu embeded lub example (rysunek 6).
  2. Wybór mikrokontrolera. Można wybrać jeden z 8-bitowych mikrokontrolerów z rodzin PIC10F, PIC12F, PIC16F i PIC18F (rysunek 7).
  3. Wpisanie nazwy projektu, jak na rysunku 8.

Proces tworzenia nowego projektu jest kończony po kliknięciu na przycisk Finish. Taki projekt nie zawiera żadnych plików źródłowych i trzeba je ręcznie dodać klikając na ikonę "tworzenie nowego pliku" na pasku narzędzi (rysunek 9). W kolejnym kroku wpisujemy nazwę main.c i w oknie projektu zostanie wyświetlony nasz plik, jak pokazano na rysunku 10.

Rysunek 10. Nowy projekt z plikiem main.c

MPLAB X IDE ma możliwość zainstalowania bardzo przydatnej wtyczki MCC przeznaczonej do szybkiego konfigurowania układów peryferyjnych, a niekiedy generowania całych funkcji bibliotecznych, na przykład do obsługi interfejsu I2C lub pamięci EEPROM.

Środowisko MPLAB Xpress ma na pasku narzędzi ikonkę uruchomienia MCC. Użycie MCC w pakiecie Xpress wymaga wykonania kilku czynności instalacyjnych. Po kliknięciu na ikonkę "code configurator" zostaje wyświetlone okno Manage MPLAB Xpress Code Configurator pokazane na rysunku 11.

Najpierw trzeba pobrać i zainstalować najnowszą wersję JRE. Jeżeli mamy ją zainstalowaną, to klikamy na Download MCC i pobieramy niewielki plik MCC_Xpress.jnlp. Uruchomienie tego pliku powoduje uruchomienie wtyczki MCC. Przy pierwszym uruchomieniu konieczne będzie podanie numeru automatycznie wygenerowanego w kroku 3 (rysunek 11).

Rysunek 11. Instalowanie i konfi gurowanie MCC Xpress

Obecnie przy każdej próbie uruchomienia MCC z poziomu paska narzędzi trzeba otworzyć okno pokazane na rys. 11 i wykonać krok numer 2. Ale na komputerze, na którym chociaż raz został uruchomiony MCC jest tworzony skrót na pulpicie pozwalający na jego uruchomienie z pliku, który został pobrany w kroku 2.

Pobieranie i uruchamianie wtyczki MCC Xpress jest nieco kontrowersyjne i kłóci się z ideą pracy w chmurze. Załóżmy, że chcemy pracować na dowolnym, innym niż nasz, komputerze. Ściąganie plików, instalowanie aplikacji JRC i tworzenie skrótów na pulpicie nie zawsze jest możliwe, a czasami po prostu nie wypada tego robić.

Najlepiej, gdyby MCC otwierał się z poziomu przeglądarki, tak jak MPLAB Xpress. Być może jest to pierwsze podejście, a potem ten problem zostanie rozwiązany. Oczywiście, można nie korzystać z MCC, ale to bardzo przydatne narzędzie i nie powinno się z niego rezygnować. Okno MCC Xpress pokazano na rysunku 12.

Rysunek 12. Okno MCC Xpress

Skompilowany plik wynikowy można wpisać do pamięci komputera klikając na ikonkę "make and program device". Jak wspomniałem, firma Microchip oferuje płytkę ewaluacyjną (a właściwie ma zamiar, bo jeszcze nie ma jej w sprzedaży) z układem programatora.

Tę płytkę można przyłączyć do portu USB i programować bezpośrednio z komputera, na którym jest uruchomiony MPLAB Xpress. Jednak, żeby nie ograniczać się tylko do jednej płytki, istnieje możliwość wyboru programatora PicKit3.

To stosunkowo tani programator, mający możliwość programowania i debugowania wszystkich mikrokontrolerów produkowanych przez Microchip łącznie z najnowszymi z rodziny PIC32MZ. Jednak, aby użyć PicKit3, trzeba zainstalować aplikację USB Bridge.

Rysunek 13. Instalowanie USB Bridge

Odbywa się podobnie, jak w wypadku MCC. Trzeba pobrać najnowszą wersję JRC, pobrać plik instalatora i za pierwszym razem wpisać unikalny token (rysunek 13). Po przyłączeniu PicKit3 do portu USB komputera i uruchomieniu programu USBBridge.jnlp zostaje wyświetlone okno informujące o dołączeniu programatora (rysunek 14).

Podobnie jak w wypadku MCC, w komputerze jest instalowana aplikacja, a na pulpicie jest tworzony skrót do programu USB Bridge. Niestety, z jakichś powodów nie udało mi się uzyskać połączenia pomiędzy USB Bridge a MPLAB Xpress IDE. Być może dlatego, że programator był dołączony do portu USB, a nie był połączony w mikrokontrolerem, a może jeszcze coś nie do końca działa.

Podsumowanie

Środowisko programistyczne MPLAB Xpress to kolejny krok w stronę zapotrzebowania rynku. Aplikacje w chmurze są coraz bardziej popularne. Mają swoje niewątpliwe zalety, w tym główną, czyli wygodę użytkowania. Dookoła "chmurowych" IDE można integrować środowisko pasjonatów udostępniających swoje aplikacje. Tak się dzieje w ARM-owym IDE mbed.

Rysunek 14. Okno programu USB Bridge po dołączeniu PicKit3 do portu USB

MPLAB Xpress to niewątpliwie gorący produkt. Pomimo, że dostajemy funkcjonalny IDE z bezpłatnym kompilatorem, to jednak parę rzeczy chyba trzeba będzie dopracować. Z mojego punktu widzenia instalowanie MCC i USB Bridge na każdym z używanych komputerów kłóci się z ideą aplikacji w chmurze. Być może ze względu na wymagania programatora PIcKit3 nie uda się wyeliminować instalacji drivera.

Z przeprowadzonych testów wynikało, że dla płytki MPLAB Xpress Evaluation Board nie trzeba instalować USB Bridge. Prawdopodobnie zastosowany tam programator nie wymaga specjalnego drivera i korzysta z tego, który jest preinstalowany standardowo w Windows.

Nie wiem też dlaczego nie udało mi się nawiązać połączenia pomiędzy Xpress a programatorem PicKit3, mimo że próbowałem z użyciem dwóch różnych przeglądarek. Jednak mimo tego idea MPLAB Xpress oferowanego równolegle do MPLAB X wydaje się bardzo dobrym podsunięciem Microchipa.

Tomasz Jabłoński, EP

Pozostałe artykuły

Piezorezystancyjne czujniki ciśnienia. Dobrze znana technologia i jej nowe możliwości

Numer: Czerwiec/2017

W artykule omówiono właściwości półprzewodnikowych piezorezystancyjnych czujników ciśnienia, technologię ich wytwarzania, zastosowania i perspektywy rozwoju tej technologii. Obecnie, stosowanie półprzewodnikowych czujników ciśnienia jest powszechne w takich dziedzinach jak: przemysł motoryzacyjny, medycyna, lotnictwo, automatyka przemysłowa. Operacje technologiczne stosowane w produkcji czujników ciśnienia są wykorzystywane również ...

ATMAT SIGNAL profesjonalne drukarki 3D

Numer: Czerwiec/2016

Przedstawiamy rodzinę trzech budżetowych drukarek 3D montowanych w szafie typu RACK 19". Maszyny te zostały stworzone z myślą o wszystkich, którzy od drukarki 3D oczekują dużego pola roboczego, rozsądnej ceny samego urządzenia i, przede wszystkim, wyjątkowo niskich kosztów druku.

Technologie druku 3D

Numer: Czerwiec/2016

Od kilku lat na świecie coraz więcej słyszy się na temat druku 3D. Obszary jego aplikacji są różnorodne, mimo iż przeciętny człowiek zna głównie zastosowania związane z wytwarzaniem efektownych zabawek oraz trójwymiarowych figurek. Zapominamy przy tym, że druku 3D nie wymyślono jako kosztownej zabawki, ale z przeznaczeniem głównie do wykonywania prototypów urządzeń przemysłowych, w tym wyrobów elektronicznych. Przyjrzymy ...

Druk 3D w elektronice

Numer: Czerwiec/2016

Technologia druku 3D to niewątpliwie gorący temat - nie nowy, bo mający kilkadziesiąt lat, ale za sprawą mediów nagłaśniany przy każdej okazji przez ostatnie kilka lat. Jeżeli znamy go z telewizji, prasy i innych mediów, stricte mających niewiele wspólnego z technologią, to może nam on się wydawać swoistym remedium na wszelkie problemy w przemyśle, a nawet w życiu codziennym, jako innowacyjne "objawienie" mające zawitać w ...

Platforma Visible Things. Elastyczność wyzwań i wyborów w IoT

Numer: Czerwiec/2016

Podczas opracowywania systemów i aplikacji IoT trzeba pokonać wiele wyzwań i dokonać różnorodnych wyborów. Rozwiązaniem może być zastosowanie innowacyjnej, funkcjonalnej platformy Visible Things pozwalającej na szybkie, bezproblemowe, bezpieczne i skalowalne opracowywanie rozwiązań do zastosowań przemysłowych.

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Czerwiec 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym