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 ;)