Moduł mikrokontrolera o bardzo niskim poborze mocy otwiera nowe możliwości dla inżynierów – część 2: Konfiguracja projektu Eclipse
W niniejszym artykule kontynuujemy prezentację modułu mikrokontrolera o bardzo niskim poborze mocy i bogatym zestawie funkcji oraz wyjaśniamy, jak go programować i debugować za pomocą popularnych, bezpłatnych narzędzi.
W przeciwieństwie do wielu innych modułów mikrokontrolerów z najwyższej półki, opisywany moduł jest dostępny w obudowie DIP, co ułatwia tworzenie prototypów zarówno profesjonalnym inżynierom, jak i hobbystom. W części 1. opisano zasadę tworzenia projektu w środowisku Eclipse, w części 2 natomiast zostały opisane czynności związane z konfiguracją Eclipse do współpracy z PICO.
Konfiguracja Eclipse do współpracy ze sprzętem PICO
Projekt utworzony w części 1. został zaprojektowany w oparciu o zestaw ewaluacyjny MAX32625EVKIT. Różni się on jednak od zestawu PICO, dlatego plik opisujący sprzęt w EV musi być zmieniony tak, aby opisywał sprzęt w PICO.
Oryginalny plik boards.c jest przechowywany w:
C:\Maxim\Firmware\MAX32625\Libraries\Boards\EvKit_V1\ Source
a nowy plik boards.c dla PICO jest przechowywany w pliku zip, który można pobrać, korzystając z linku podanego na końcu artykułu. Skopiuj cały katalog Boards z pliku zip do katalogu, w którym jest zapisany główny program, jak pokazano na rysunku 1. Katalog ten opisuje komponenty zawarte na płytce drukowanej PICO.

Rysunek 1. Lokalizacja katalogu Boards
PICO zawiera bootloader, który umożliwia uruchomienie programu. Pozwala on również na załadowanie pliku binarnego techniką „przeciągnij i upuść”. Eclipse nadpisze ten bootloader, jeśli program zostanie załadowany do MAX32625 z ustawieniami domyślnymi. Plik linkera o nazwie max32625.ld łączy wszystkie programy w plik binarny, który zostanie załadowany do mikrokontrolera hosta. Określa on również, do której części pamięci zostanie załadowany program, i żeby nie nadpisać bootloadera, należy go zmodyfikować. Zmodyfikowany plik linkera znajduje się w pobranym pliku zip.
Skopiuj plik linkera do katalogu projektu, jak pokazano na rysunku 1. Plik Makefile, przechowywany w katalogu projektu, informuje kompilator, gdzie można znaleźć plik linkera i katalog Boards. Należy więc poddać go edycji tak, aby wskazywał nową lokalizację zmodyfikowanego pliku linkera i katalogu Boards. Skopiuj nowy plik Makefile z pliku zip do katalogu projektu, jak pokazano na rysunku 1, nadpisując oryginał.
W nowym katalogu Boards znajduje się zmodyfikowany plik board.c (w katalogu EvKit_V1\Source), który opisuje połączenia z diodami LED i przyciskami w PICO. Łatwo jest zrozumieć, jak jest on skonstruowany, porównując kod na rysunku 2 ze schematem PICO na rysunku 3.

Rysunek 2. Konfiguracja diod LED i przycisków

Rysunek 3. Schemat diod LED i przycisków
Plik boards.c również został znacznie zmodyfikowany po to, by PICO mogło wysyłać dane do programu terminalowego, takiego jak Tera Term. Funkcjonalność ta może okazać się nieoceniona podczas debugowania programu. Jeśli jest ona używana, należy skonfigurować program terminalowy do komunikacji z prędkością transmisji 115200, jak pokazano na rysunku 4.

Rysunek 4. Ustawienia Tera Term
Bootloader może pozostawić niektóre urządzenia peryferyjne w stanie częściowo skonfigurowanym, a plik board.c zawiera dodatkowy kod służący do ich wyzerowania podczas inicjalizacji, jak to pokazano na rysunku 5.

Rysunek 5. Inicjalizacja bootloadera
W zestawie PICO zastosowany jest ponadto inny układ scalony zarządzania zasilaniem niż w zestawie EV. Układ zarządzania zasilaniem PICO nie wymaga jednak programowania, ponieważ działa z ustawieniami domyślnymi. Linie kodu, które go konfigurują, zostały więc usunięte z nowego pliku board.c.
Tworzenie ostatecznego projektu
Plik zip zawiera przykładowy program main.c w folderze Template, który wykrywa naciśnięcie przycisku zestawu PICO, a następnie miga diodą LED RGB, wysyła 2 bajty danych przez port SPI, następnie wysyła jeden bajt danych przez UART, po czym przesyła do terminala przywitanie „Hello from the PICO”. Skopiuj ten program do katalogu projektu, zastępując oryginał. Kod main.c został skopiowany z wielu przykładowych programów w katalogach projektu MAX32625, jak widać w komentarzach do kodu. Powinno to ułatwić użytkownikowi rozpoczęcie tworzenia ostatecznego kodu aplikacji.
Skompiluj projekt, klikając symbol młotka, jak pokazano na rysunku 6. Jeśli w Eclipse otwarto więcej niż jeden projekt, najechanie kursorem na symbol młotka informuje użytkownika, który projekt ma zostać skompilowany.

Rysunek 6. Kompilacja projektu
Plik binarny powinien teraz być przechowywany w katalogu kompilacji znajdującym się w katalogu projektu, jak pokazano na rysunku 7.

Rysunek 7. Lokalizacja pliku binarnego
Warto teraz dodać katalog kompilacji do menu szybkiego dostępu Eksploratora Windows. Będzie to przydatne podczas programowania PICO. Kliknij prawym przyciskiem myszy na katalog kompilacji i wybierz opcję Pin to Quick access, co spowoduje, że katalog pojawi się po lewej stronie menu Eksploratora Windows, w sekcji Quick access.
Ładowanie pliku binarnego
Należy pamiętać, że kabel programujący służy wyłącznie do debugowania docelowego zestawu PICO i przeprogramowania go w przypadku nadpisania bootloadera. Ładowanie pliku binarnego nie wymaga użycia kabla programującego i odbywa się przy użyciu prostej metody „przeciągnij i upuść”.
Przytrzymując przycisk zestawu PICO, podłącz zestaw do portu USB. PICO powinno pojawić się jako nowy dysk oznaczony MAINTENANCE (rysunku 8).

Rysunek 8. Dysk MAINTENANCE
Przeciągnij plik binarny na dysk MAINTENANCE. Po załadowaniu pliku do PICO dysk MAINTENANCE powinien zniknąć, PICO uruchomi się ponownie, a program zacznie działać na PICO.
Na wczesnych etapach tworzenia kodu jest mało prawdopodobne, aby działał on zgodnie z przewidywaniami, o ile w ogóle będzie działał. Jeśli oprogramowanie na docelowym PICO wymaga debugowania (w tym krokowego wykonywania kodu lub zatrzymywania się w ustawionych pułapkach), drugi programator PICO musi być zaprogramowany za pomocą oprogramowania interfejsu. Dzięki temu możliwe będzie połączenie między komputerem PC a docelowym PICO. Programator PICO wysyła instrukcje do docelowego PICO powodujące uruchamianie i zatrzymywanie wykonywania kodu w docelowym systemie, umożliwiając środowisku Eclipse sprawdzenie rejestrów.
W celu skonfigurowania drugiego programatora PICO, przejdź do pliku binarnego w katalogu DAPLink Interface Binary w pliku zip. Odłącz drugi programator PICO od portu USB, a następnie przytrzymaj przycisk w programatorze PICO podczas ponownego podłączania go do portu USB. Jak wspomniano wcześniej, powinien pojawić się dysk o nazwie MAINTENANCE. Przeciągnij plik binarny (max32625_max32625pico_if_crc.bin) z katalogu DAPLink Interface Binary na dysk MAINTENANCE. Spowoduje to skonfigurowanie programatora PICO z oprogramowaniem interfejsu i umożliwi krokowe wykonywanie kodu docelowego w środowisku Eclipse. Dysk MAINTENANCE powinien zniknąć, programator PICO uruchomi się ponownie i pojawi się dysk o nazwie DAPLINK. Na tym etapie warto podłączyć kabel programujący do programatora PICO, aby odróżnić go od docelowego PICO.
Jak debugować kod docelowy
Podłącz kabel programujący do 10-stykowej wtyczki programatora PICO, a następnie wciśnij złącze pogo na drugim końcu do padów z tyłu PICO, upewniając się, że kołki wyrównujące są włożone w otwory w PICO, jak pokazano na rysunku 9.

Rysunek 9. Podłączanie programatora do urządzenia docelowego
Po najechaniu myszką na ikonę debugowania w Eclipse, jak pokazano na rysunku 10, można upewnić się, że debugowany jest właściwy projekt. Powinna pojawić się nazwa bieżącego projektu.

Rysunek 10. Tworzenie projektu
Kliknij ikonę debugowania, utrzymując złącze pogo podłączone do PICO. Program zostanie skompilowany, a następnie zatrzyma się na początku kodu. Naciśnięcie klawisza F8 na klawiaturze rozpocznie proces debugowania.
Dwukrotne kliknięcie numerów linii kodu w Eclipse pozwala użytkownikowi wstawiać pułapki programowe.
Użytkownik może teraz debugować kod. Rejestry można sprawdzić, wybierając z menu Eclipse:
Window > Show View > Rother…
a następnie wybierając żądany widok poprzez rozwinięcie folderu Debug.
Po ustaleniu, że kod działa prawidłowo, projekt można zapisać. Będzie on służył jako szablon dla kolejnych projektów.
Jak odzyskać uszkodzony PICO
PICO jest wyposażony w preinstalowany bootloader, który umożliwia programowanie metodą „przeciągnij i upuść”. Jeśli po podłączeniu PICO nie pojawiają się dyski MAINTENANCE ani DAPLINK, prawdopodobnie bootloader został nadpisany. Bootloader można odzyskać, wykonując następujące czynności.
- Podłącz programator PICO i sprawdź, czy został utworzony dysk DAPLINK.
- Podłącz uszkodzony PICO.
- Przytrzymaj sprężynowe złącza kabla programującego przy padach z tyłu uszkodzonego PICO, upewniając się, że kołki wyrównujące są włożone w otwory w PICO.
- Przejdź do katalogu Bootloader Binary i przeciągnij plik bootloadera (max32625pico_bl.bin) do napędu DAPLINK. Należy pamiętać, że plik binarny jest kopiowany na dysk utworzony przez programator PICO, a nie na docelowy PICO. Programator PICO służy jako kanał do przekazywania pliku binarnego do docelowego PICO za pośrednictwem kabla programującego.
- Użytkownik powinien teraz widzieć dysk MAINTENANCE po podłączeniu naprawionego PICO i przytrzymaniu przycisku w PICO.
- Odłącz programator PICO.
Jak skasować pliki w PICO
Jeśli konieczne jest całkowite skasowanie zawartości PICO, należy wykonać następujące czynności:
- Podłącz programator PICO do portu USB. Zostanie utworzony dysk o nazwie DAPLINK.
- Podłącz PICO, które ma zostać skasowane, do innego portu USB.
- Przytrzymaj sprężynowe złącza kabla programującego przy padach z tyłu PICO, które ma być skasowane.
- Przejdź do pliku erase.act w katalogu Erase File w pliku zip.
- Przeciągnij ten plik na dysk DAPLINK. Programator PICO służy jako kanał do przekazania pliku kasującego do docelowego PICO za pośrednictwem kabla programującego.
- Spowoduje to skasowanie docelowego PICO.
Wnioski
Przedstawione w artykule użycie zestawu PICO może zapoczątkować głębsze zainteresowanie tym zestawem. PICO stanowi doskonałą, niedrogą platformę, która umożliwia użytkownikom tworzenie oprogramowania przy użyciu niezwykle wydajnego, a jednocześnie bardzo energooszczędnego mikrokontrolera Arm®. Niniejszy artykuł zawiera kompletny przewodnik dotyczący korzystania z bezpłatnych narzędzi programistycznych do programowania i debugowania mikrokontrolera PICO. Po pomyślnym zrealizowaniu jednego projektu użytkownicy mogą wykorzystać go jako szablon do kolejnych projektów, minimalizując dodatkowy nakład pracy. Wreszcie można zostawić za sobą świat 8-bitowych układów DIP i przejść do świata 32-bitowych mikrokontrolerów, nadal mając możliwość tworzenia prototypów w łatwym w obsłudze pakiecie.
Pliki oprogramowania można pobrać tutaj.
– Jestem niezmiernie wdzięczny zespołowi wsparcia technicznego mikrokontrolerów ADI za pomoc w napisaniu tego artykułu i za wprowadzenie wielu zmian w plikach konfiguracyjnych – zaznaczył Simon Bramble.
Tłumaczenie: Jarosław Doliński

Moduł mikrokontrolera o bardzo niskim poborze mocy otwiera nowe możliwości dla inżynierów – część 1: Konfiguracja projektu Eclipse
Analog Devices wprowadza na rynek ADI Power Studio i nowe narzędzia internetowe
Zachowanie dokładności i zwiększenie niezawodności w procesie pozyskiwania danych dzięki izolowanym precyzyjnym łańcuchom sygnałowym 



