poniedziałek, 19 sierpnia 2013

Budujemy OpenOCD dla Versaloon'a

Na co dzień jestem użytkownikiem debiana, gdyż do pracy bardziej wolę używać linuxa, uważam iż jest ona przyjemniejsza niż na windowsie. Niestety na debianie jest nieco ciężko z niszowymi programami, do których zaliczam OpenOCD. Na chwile obecną w testingu jest wersja 0.5.0-1, a od niedawna w dystrybucji unstable pojawiła się w miarę nowsza wersja a mianowicie 0.7.0-2. Jednak w porównaniu do rozwoju tego programu jest to znacznie opóźnione. Z tego powodu pojawił się pomysł aby samemu skompilować sobie OpenOCD.

Mimo iż jestem zaawansowanym użytkownikiem linuksa wiele problemów sprawiło mi poprawne skompilowanie tego problemu ze źródeł. Pierwszy problem był taki, że wraz z każdą zmianą wersji OpenOCD zmieniał się sposób w jaki należało na versaloon odpalić SWD, nigdy nie wiedziałem gdzie znaleźć taką informację. Dlatego też dużo szperałem i szukałem, udało się mi to osiągnąć, owocem tego było również odpalenie SWD na st-linkV2 i programowanie przy jego pomocy innych mikrokontrolerów.

W pierwszej kolejności należy pobrać źródła i rozpakować je.

Kolejnym krokiem jest obranie patcha do OpenOCD aby nie było problemów z jego konfiguracją. Znajduje się on na blogu Nemui Trinomius a pobrać go można z tego linku. zapisujemy i rozpakowywujemy archiwum. Nas najbardziej interesuje patch openocd_20130701_nemui.patch i kopiujemy go do katalogu w którym rozpakowaliśmy źródła OpenOCD.

Następie patchujemy źródła poprzez wpisanie w konsoli
patch -p1 < openocd_20130701_nemui.patch

Po tej czynności należy przeprowadzić konfigurację, piszemy np:
./configure --enable-maintainer-mode --disable-werror --disable-shared --enable-stlink --enable-vsllink

Oczywiście można dodać więcej programatorów, ja wybrałem te z których najczęściej korzystam.
Teraz możemy przejść do kompilacji:
make

Ważna uwaga, mimo iż mam wielordzeniowy procesor to wykorzystanie wielu wątków w procesie kompilacji nie zawsze jest wskazane, miewałem przypadki w których kompilacja nie przebiegła w pełni poprawnie i występowały błędy w programie.

Po zakończonej kompilacji można cieszyć się w pełni działającym OpenOCD :)
warto też pobrać od Nemui Trinomius różne configi

To by było na tyle.


AVE

sobota, 10 sierpnia 2013

Wyświetlacz LCD ITM-400160 biblioteka C (ARM)

Przygotowałem i opublikowałem bibliotekę do LCD ITM-400160.

Jest ona udostępniona na portalu elektroda i tam też będzie prowadzona dyskusja na jej temat.


AVE.

czwartek, 29 listopada 2012

EmbSysRegView - czyli pomoc w debugowaniu pod eclipse

Ostatnio w poszukiwaniu ułatwienia w procesie debugowania programów na mikroklocki pod eclipse natknąłem się na bardzo ciekawy projekt a mianowicie EmbSysRegView. 

EmbSysRegView jest wtyczką pod eclipse przestawiającą mapę pamięci procesora w postaci bardziej przejrzystej dla zwykłego użytkownika. Jest ona bardzo prosta w obsłudze i użytkowaniu. Więcej informacji o niej można znaleźć na stronie domowej projektu bądź na sourceforge.net. 

Dane na temat rejestrów przetrzymywane są w odpowiednio przygotowanym pliku xml którego edycja jest bardzo prosta.

Obecnie pracuję nad zrobieniem pełnego opisu do tej wtyczki dla LPC1768. Obecnie nie jest jeszcze ukończony ale najnowszą wersję znajdziecie zawsze pod tym linkiem. Informację o ukończeniu opisu zamieszczę na pewno na blogu.

Już niebawem powinien pojawić się kolejny opis postępu prac z budowy stacji pogodowej ;) 


AVE.

niedziela, 24 czerwca 2012

Itm-400160 i LPC1768 - drugie starcie

I nadejszło ostatnie, już finałowe starcie z matrycą Itm-400160 i LPC1768, i w końcu się udało, na reszczcie wszystko bangla i to lepiej niż się spodziewałem, zwracam honor LPC. Ale ostrzegam przed zbytnim zaufaniu bibliotekom do obsługi Standard Peripherals od NXP zawiera ona bardzo dużo bugów. W moim przypadku procesor zawieszał się przy wchodzeniu w przerwanie i nie działał poprawnie. A na koniec parę dowodów na to iż działa ;)



Już niedługo relacja z budowy stacji pogodowej.

Mały smaczek na temat wyświetlacza.



AVE.