STM32 na Eclipse Neon

Ostatnio pisałem, jak uruchomić projekt na STM32 na Eclipse. Polecałem wtedy używać starszej wersji – Eclipse Mars, ponieważ na Eclipse Neon nie działają poprawnie używane przeze mnie pluginy. Ostatnio udało mi się uruchomić STM32 na nowej wersji Eclipse i w tym artykule opiszę swoje uwagi.

Do uruchomienia projektu na STM32 będziemy potrzebowali pluginów z pakietu GNU ARM Eclipse:

  • OpenOCD – plugin współpracujący z OpenOCD nieco inaczej niż za pomocą External Tools Configuration.
  • Packs – plugin zarządzający konfiguracją dla różnych procesorów. Ten plugin umożliwia podgląd rejestrów peryferiów procesora.
  • QEMU – plugin emulatora. Umożliwia uruchamianie programów bez podłączonego sprzętu. Ten plugin jest opcjonalny.

Instalacja pluginów

Aby zainstalować pluginy wchodzimy do Help->Install New Software… i po kliknięciu przycisku Add… wpisujemy adres repozytorium http://gnuarmeclipse.sourceforge.net/updates. Z listy dostępnych pluginów wybieramy OpenOCD, Packs i jeśli chcemy to także QEMU. Możemy również zainstalować inne pluginy np. z szablonami projektów dla różnych procesorów. Nie używałem tej opcji, ale utworzone w ten sposób projekty prawdopodobnie korzystają z automake.

Nie będę tu się rozpisywał o konfiguracji poszczególnych pluginów, ponieważ zostało to dobrze opisane na stronie projektu:

Praca z pluginami

Przed pierwszym użyciem pluginu Packs trzeba ściągnąć paczki dla procesorów z zewnętrznego serwera. Dokonujemy tego przy pomocy perspektywy Packs i przycisku Refresh, co zostało opisane w podanym przeze mnie wyżej linku. Według opisu proces ten powinien trwać kilka minut. U mnie trwał 3 godziny. Jest to pierwszy z minusów tak skonfigurowanego środowiska. Na starej wersji Eclipse całą konfigurację można było od zera postawić dużo szybciej. Na szczęście ten proces musimy wykonać tylko raz po instalacji.

Jeżeli korzystamy z pluginu OpenOCD, nie musimy wykorzystywać do tego oddzielnie procesu OpenOCD i oddzielne GDB, co opisywałem w poprzednim artykule. Teraz oba uruchamiamy jednym kliknięciem. Ma to jednak pewną wadę. W poprzednim rozwiązaniu raz uruchamialiśmy proces OpenOCD i potem każde uruchomienie GDB łączyło się z już otwartym OpenOCD i zajmowało to niewiele czasu. Teraz włączamy i wyłączamy oba na raz, więc trzeba więcej czekać.

Aby podejrzeć rejestry, należy otworzyć zakładkę Peripherals w Window->Show View->Other… i tam wybieramy Debug->Peripherals. W zakładce Peripherals możemy sobie wybrać rejestry, które chcemy podejrzeć. I tutaj kolejna rzecz, która mi się nie podoba. Wybieramy rejestry w zakładce Peripherals, ale podgląd jest z innej zakładce – Memory. Niby można się do tego przyzwyczaić, ale w poprzednim rozwiązaniu rejestry były obsługiwane w jednej zakładce.

Wtyczka QEMU pozwala uruchamiać program bez podłączonego hardware. Dzięki temu można zrobić jakiś wstępny debug, albo odpalać unit testy. Postępując zgodnie z instrukcją z linka wyżej, udało mi się uruchomić emulator w konfiguracji dla płytki STM32F4 Discovery. Nie udało mi się jednak skonfigurować QEMU bez wybranej płytki. Poza tym QEMU wspiera na razie małą ilość procesorów. Może w przyszłości będzie to przydatne narzędzie, jednak na razie wymaga dopracowania.

Podsumowanie

Dzięki pluginom z serii GNU ARM Eclipse jest możliwe skonfigurowanie Eclipse Neon do pracy z STM32 i w miarę da się na tym pracować. Uciążliwa jest początkowa konfiguracja, a szczególnie odświeżanie plugina Packs. Mi osobiście bardziej pasują stare narzędzia, ale może to kwestia przyzwyczajenia. Projekt GNU ARM Eclipse się rozwija i bardzo możliwe, że w przyszłości to rozwiązanie się jeszcze poprawi.

Podobał się artykuł? Zapisz się na newsletter

Zapisz się, aby otrzymywać informacje o nowościach na blogu,
ciekawe materiały oraz informacje marketingowe. W prezencie otrzymasz również
dokument “Jak zwiększyć jakość kodu w projektach embedded? – darmowe narzędzia”.


2 Comments

  1. Excellent way of telling, and pleasant piece of writing to take data concerning my presentation subject matter, which i am going to present in institution of higher education.

  2. First of all I would like to say terrific blog! I had a quick question that I’d like to ask if you don’t mind.
    I was interested to find out how you center yourself and clear your mind prior to writing.

    I have had a difficult time clearing my
    mind in getting my ideas out there. I do take pleasure in writing but
    it just seems like the first 10 to 15 minutes tend to be lost
    simply just trying to figure out how to begin. Any suggestions or hints?
    Many thanks!

Dodaj komentarz

Your email address will not be published.

*

© 2018 ucgosu.pl

Theme by Anders NorénUp ↑