niedziela, 29 marca 2015

GNU ARM Eclipse + OpenOCD

Jak pisałem ostatnio : Dzięki GNU ARM Eclipse konfiguracja środowiska pod ARM'y stała się banalna. Nadal trzeba jednak potrafić użyć OpenOCD, którego ustawienia / ustawianie łatwo zapomnieć gdy ma się je wpisane na stałe w jakimś miejscu.

Od początku! Na początek trzeba OpenOCD ściągnąć:
OpenOCD - sourceforge download
Następnie wypakować (tego raczej tłumaczyć już nie będę...) i zbudować. Tu UWAGA: by móc używać np z ST-Linka potrzebna jest biblioteka libusb-1.x w wersji developerskiej, inaczej nie zbudujemy sobie supportu i OpenOCD będzie wyrzucał nam niezbyt jasny komunikat który wcale nie wskazuje na nieodpowiednią kompilację ;)

1) By zainstalować libusb w najnowszej wersji wraz z developerką proponuję użyć tym razem menedżera pakietów synaptic, wpisać w wyszukiwaniu "libusb-1" i zainstalować z okienka. Lub standardowe "apt-get install libusb-1.0.0 libusb-1.0.0-dev"

2) Konfigurujemy i budujemy instalkę OpenOCD, pomijając to że wszystko jest w README, bo zwykle czytamy tą część gdy coś nie działa (a w tym przypadku dojście dlaczego może trochę potrwać)
./configure --verbose --enable-stlink (można przekazać więcej parametrów, polecam dla ciekawych :P)
make

3) Instalujemy OpenOCD: sudo make install

4) Instalujemy sobie pięknie dostarczone udev rules:
sudo cp 99-openocd.rules /etc/udev/rules.d
jeśli nie jesteśmy w grupie plugdev (lub nie istnieje?) wtedy:
sudo useradd -G plugdev >NazwaUsera<
robimy reload udev rules, albo restart PC
sudo udevadm control --reload-rules

Możemy sprawdzić czy napewno przeszło wszystko pomyślnie:
openocd --version
Powinno zwrócić nam naszą wersję OpenOCD na dziś dzień jest to 0.8.0

By używać OpenOCD z ARM Eclipsem pozostało nam jedynie dobrze skonfigurować to w Eclipsie.

 

1)  W OpenOCD setup, w części executable podajemy ścieżkę do binarki openocd (możemy ją znaleźć poprzez najpierw: "cd //"  potem: "sudo find -iname openocd")

2) Podkreślone na niebiesko config options jest mega istotne. Na screenie używam plików z katalogu w którym rozpakowałem OpenOCD, jednak po instalacji powinny być one przekopiowane do /usr/local/share/openocd/scripts/
opcja -f >ścieżka< /interface/>programator<.cfg służy do wybrania programatora, -f >ścieżka< /target/>procesor<.cfg służy do wybrania procesora. Trzeba podać obie ;)

3) W GDB Client Setup należy podać GDB dla ARM'ów , a nie domyślne GDB (da się zrobić, been there done that, a błąd jaki się wysypuje też nie jest instynktowny ;) ) Jest on w tym samym folderze gdzie kompilator pod ARM'y :) Jeśli nie pamiętamy gdzie go skopiowaliśmy (a to źle...) znów przyda się nam:
cd //
sudo find -iname arm-none-eabi-gdb

I możemy cieszyć się działającym debugerem. Nie jest to trune - ale łatwo o czymś zapomnieć, a wtedy mszczą się prawa Murphiego ;)


niedziela, 16 listopada 2014

arm gcc + eclipse = easy!

Po ostatnim zepsuciu systemu ("With sudo power comes great responsibility ^^" ) zmuszony zostałem do zaorania laptopa i postawienia go na nogi.

Na wstępie: gnome ubuntu jest najlepszym shellem jakiego kiedykolwiek miałem/widziałem. (Porównuję z: kbuntu, xbuntu, ubuntu z unity, gnome classic, /* wersje od 10.04 do 14.10 */ jakiś standardowy debian, a także mac, windows xp, windows vista i windows 7 (&8) ).  Jest ładny, szybki i wyjątkowo użytkowy - co jak pamiętam nie zawsze idzie w parze z ładnym.

Skracając długą opowiastkę by programować stm'ki wystarczy wejść na:
http://gnuarmeclipse.livius.net/blog/
i dać poprowadzić się za rączkę przy instalacji wszystkiego co będzie nam potrzebne. Jedyna rzecz o której należy pamiętać to by konfigurując debbuger nie próbować używać standardowego gdb a gdb który ściągneliśmy razem z armowym gcc - innaczej będzie pisał nam do złych rejestrów i mimo że uda nam się rozpocząć debugowanie, wykrzaczy się.

ps. I <3 My 32 bit stm processors ^^
ps2. Używam ubuntu 14.10 - radzę instalować od razu bez unity :)

niedziela, 19 października 2014

Ubuntu 14.04 To have or not to have ;]

W praktyce od kilku ładnych lat moje korzystanie z systemu Windows ograniczyło się do grania, teraz dodatkowo zmusza mnie do tego praca - niestety za dużo softu w pracy napisane jest w c# :( Nie mniej od kilku lat zostaję wierny Ubuntu i jego wariacją - np chwilowy romans z Xubuntu. Prawdopodobnie moim ulubionym releasem był 10.04, szybki, linuxowo ładny i jak dla mnie niezawodny. W końcu jednak przesiadłem się na Unity (i jak wielu czasem mażę do powrotu do przeszłości) i tak w końcu dałem się przekonać by przejść na najnowszy stabilny release 14.04.

Jak odbieram ją jako użytkownik? Może być - myślę że dla osoby przechodzącej z systemu Windows na Linux Ubuntu to jak zawsze pierwszy i najlepszy wybór. Szukając jednak większej ilości wrażeń kochany terminal nigdy nas nie zawiedzie ;]

Pozytywne zaskoczenia:
→ GCC pod Army zainstalowało się praktycznie z kopyta.
→ Octave - linuxowa werjsa matlaba odpalona w wersji Gui w porównaniu z moją poprzednią wersją jest stabilna :) Do tego wystarczy zwykła instalacja, a nie developerska, dla mnie to wielki plus.
→ Znów mam "otwórz folder w terminalu" damn brakowało mi tego!
→ Po instalacji nic się tragicznie nie z****ło :P

Mniej pozytywne:
→ instalacja KiCAD'a jest w najnowszej wersji która... aktualnie nie rozpieszcza. Nadal nie odkryłem jak mam zaimportować stare projekty, nowego nie zrobi się nic do puki... nie wyjdzie 14.10 / albo nie odkryje się jak zainstalować wtyczkę gtk3 dla pythona*
→ Lepiej zainstalować QT5 prosto ze strony, nie z apt-get (co jest dość smutne)
→ Unity nadal nie rozpieszcza.

Podsumowanie: Well... i tak będę polecał 14 - 5 lat supportu, codzienny update i linux w przyjemniej oprawie. Gdy chce się go trochę przyspieszyć... zawsze można odpalić stary dobry widok gnoma ;]

* Najlepszy sposób jaki znalazłem (zalecane dla tych którzy wiedzą co robią :) ) :

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu utopic main restricted universe"
sudo apt-get update

# this might not be needed, probably kicad-install.sh installs it by itself, however this is how I did it
sudo apt-get install python-wxgtk3.0