MPLAB Xpress. Programowanie z głową w chmurze

MPLAB Xpress. Programowanie z głową w chmurze
Pobierz PDF Download icon

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.

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

Artykuł ukazał się w
Elektronika Praktyczna
kwiecień 2016
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio maj - czerwiec 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów