Renesas Synergy – pierwszy projekt w e2studio

  • Components – wyświetla komponenty biblioteki SSP i te bieżąca, które są dołączone do projektu – rysunek 11. Komponenty mogą być dołączane jeżeli to możliwe przez zakładkę Threads.

 

 

Rys. 11. Zakładka Components

 

Wszystkie konfiguracje generowane przez konfiguratora są umieszczane w plikach źródłowych projektu po kliknięciu na Generate Project Content – wygląd przycisku pokazano poniżej.

Pliki są umieszczane w folderach z prefiksem nazwy synergy: synergy_gen, synergy i synergy_cfg. Nie powinno się plików konfiguracyjnych modyfikować ręcznie. Jeżeli trzeba coś zmienić to należy to robić za pomocą narzędzia Synergy Configurator. W przeciwnym przypadku ręcznie naniesione zmiany zostaną nadpisane przez kolejne uruchomienie konfiguratora.

W katalogu synergy_cfg umieszczono pliki konfigurujące komponenty projektu Synergy. Te konfiguracje bazują na ustawieniach zapisanych w perspektywie Synergy Configuration.

Katalog synergy zawiera pliki źródłowe wydzielone z biblioteki SSP przeznaczone dla komponentów aktualnie używanych w projekcie. Konfiguracja tych komponentów jest umieszczona również w katalogu synergy_cfg.

Katalog synergy_gen zawiera konfiguracje wcieleń komponentów, które użytkownik dodał do projektu.

Jak widać na rysunku 12 tylko plik źródłowy hal_entry.c jest przeznaczony do edytowania przez użytkownika. Nawet plik main.c jest generowany przez konfigurator i nie powinien być edytowany przez użytkownika.

 

Rys. 12. Struktura plików projektu

 

Wróćmy do naszego projektu „migacza LED”. Konfigurator projektu wygenerował dwa pliki źródłowe: main.c i hal_entry.c przeznaczone do modyfikacji przez użytkownika umieszczone w katalogu src/synergy_gen. Główną funkcję main() pokazano na listingu 1.

 

List. 1. Funkcja main()

Nie robi ona niczego poza wywołaniem funkcji hal_entry() umieszczonej w pliku hal_entry.clisting 2.

 

List. 2. Funkcja migania diodami LED

Funkcja hal_entry.c jest przeznaczona do edycji i jest stosunkowo prosta. Odczytuje stan linii portów sterujących trzema diodami LED umieszczonymi na płytce SK-S7G2, zmienia stan tych linii na przeciwny i odlicza opóźnienie ok. 1s.

Funkcja biblioteczna R_BSP_SoftwareDelay odlicza opóźnienie programowo – nie wykorzystuje do tego celu liczników sprzętowych ani układu przerwań. Potem pokażemy jak skonfigurować wewnętrzny licznik tak by przepełniał się co określony interwał i zgłaszał przerwanie. To przerwanie będzie wykorzystywane do odliczania opóźnień.

Program demonstracyjny jest prosty, ale jak wiemy w projekcie zostały umieszczone pliki konfiguracyjne wygenerowane przez konfiguratora Synergy. Cała konfiguracja nie jest jawnie wywoływana w programie głównym main(). Żeby zobaczyć jak jest wykonywana konfiguracja wykorzystamy możliwość sprzętowego debugowania programu. Projekt musi być ustawiany w trybie Debug. Robimy to klikając obok ikonki młotka w pasku narzędzi – rysunek 13.

 

Rys. 13. ustawienie projektu w tryb Debug

 

Następnie kompilujemy projekt. Po bezbłędnej kompilacji, a taka powinna być dla projektu utworzonego z szablonu możemy przejść do debugowania. Łączymy moduł kablem USB ze złączem microUSB dołączonym do J19 DEBUG_USB zestawu SK-S7G2 (fotografia 14) z portem USB komputera PC.

 

Fot. 14. Położenie złącza DEBUG_USB w zestawie SK-S7G2

 

O autorze

Absolwent Wydziału Elektroniki Politechniki Wrocławskiej, współpracownik miesięcznika Elektronika Praktyczna, autor książek o mikrokontrolerach Microchip i wyświetlaczach graficznych, wydanych nakładem Wydawnictwa BTC.
Zawodowo zajmuje się projektowaniem zaawansowanych systemów mikroprocesorowych.