Zestaw startowy z mikrokontrolerami Renesas Synergy Glyn EVBSYNS3 – prosta aplikacja na Cortex-M dla początkujących

Praktyczne testy

Działanie modułu przetestujemy przez cykliczne gaszenie i zapalanie żółtej diody LED umieszczonej na module. Oczywiście jest to bardzo prosty test, ale pozwala na sprawdzenie działania mikrokontrolera: jego zasilania i taktowania, oraz sprawdzenie działania programatora J-Link. Po połączeniu gniazda USB programatora/debuggera J-Link z portem USB komputera PC powinny się automatycznie zainstalować sterowniki potrzebne do współpracy J-Link z programem e2studio.

Z dokumentacji modułu wynika, że dioda żółta LED1 jest połączona z linią portu P106, a czerwona LED2 z linia portu P107. Trójkolorowa dioda LED3 jest sterowana liniami portów P301, P301 i P303 – rysunek 7.

Rys. 7. Układ sterowania diodami LED w prezentowanym zestawie

Najpierw skonfigurujemy linie portu P106 jako wyjściową. Można to zrobić bezpośrednio w programie – listing 1.

List. 1. Konfiguracja linii P106 jako wyjściowej

Jednak łatwiej jest to zrobić za pomocą konfiguratora Synergy Configurator w zakładce Pinsrysunek 8. Zamiany zostaną przekonwertowane na kod źródłowy po kliknięciu na przycisk Generate Project Content umieszczony w prawym górnym rogu okna z rysunku 8.

Rys. 8. Konfiguracja linii wyjściowej portu P106

Konfiguracja za pomocą konfiguratora jest o wiele łatwiejsza i szybsza, kiedy musimy ustawić wiele linii portu, w tym do pracy jako linie modułów peryferyjnych. Wyjściowa linia P106 jest połączona z katodą żółtej diody LED. Anoda tej diody poprzez rezystor R30 ograniczający prąd jest połączona do plusa napięcia +3,3V (rysunek 7). Kiedy na linii jest poziom niski, to przez diodę płynie prąd i zaczyna świecić. Cykliczne zapalanie i gaszenie diody będzie polegało na wymuszaniu naprzemiennie poziomu niskiego i wysokiego na linii P106. Do wystawania stanu wykorzystamy funkcję biblioteczna warstwy HAL g_ioport.p_api->pinWrite (port, level);.

Programowe opóźnienia będzie odliczać funkcja BSP R_BSP_SoftwareDelay.

Fragment procedury cyklicznie gaszącej i zapalającej diodę został pokazany na listingu 2.

Wsparcie BSP wygenerowane przez e2studio w momencie tworzenia szkieletu projektu umożliwia szybkie wyliczenie niezbędnych wartości na podstawie częstotliwości taktowania rdzenia potrzebnych wartości do programowego odliczania opóźnień.

 

List. 2. Cykliczne zapalanie i gaszenie diody LED

Po wystawieniu poziomu na linii, jest następnie odczytywany jej stan i zapisywany do zmiennej level. Na podstawie tych wartości program zmienia stan na przeciwny wpisywany do rejestrów portu i linia zmienia poziom z niskiego na wysoki i odwrotnie.

Fragment programu pokazany na listingu 2 należy umieścić w nieskończonej pętli pliku hal_entry.c i skompilować w opcji debug. Kompilacja nie powinna generować żadnych błędów i ostrzeżeń. Uruchomienie debugowanie projektu wykonujemy z paska narzędziowego Debug, potem wybieramy z listy opcję Debug Configurations… , Renesas GDB Hardware Debugging i na końcu klikamy na Debugrysunek 9.

Rys. 9. Uruchomienie debugowania projektu

Uruchomienie programu wykonuje się po naciśnięciu na klawisz F8. Można też w trakcie debugowania zatrzymywać program na pułapkach, wykonywać pracę krokową, podglądać wartości zmiennych (Expression) itp.

 

Podsumowanie

Moduł Glyn EVBSYNS3 to ciekawa propozycja dla tych, którzy chcieliby rozpocząć pracę z nowymi mikrokontrolerami Renesas Synergy. Jak pokazałem EVBSYNS3 bez problemu współpracuje ze środowiskiem e2studio i bezpłatnym kompilatorem ARM GCC. Zastosowany mikrokontroler, chociaż należy do niższej serii jest bogato wyposażony w peryferia i ma wbudowany wydajny rdzeń ARM Cortex-M4. Zabudowanie złącz PMOD, gniazda micro USB, a przede wszystkim programatora/debuggera J-Link umożliwi szybkie testowanie własnych aplikacji. Możliwość podłączania płytek rozszerzeń Arduino na pewno zwiększy potencjalne możliwości szybkiego powiększenia sprzętowych możliwości budowanej aplikacji.

O autorze