Strona główna
Witaj na stronie Chopina!
OpenOCD 0.2.0 - instalator dla systemu Windows
Wpisany przez Freddie Chopin   
Sobota, 18 Lipiec 2009 12:52

W dziale Download > Programy > OpenOCD zamieszczone zostało OpenOCD 0.2.0 skompilowane dla systemu Windows, w postaci wygodnego instalatora w formacie *.msi (Microsoft Installer). OpenOCD umożliwia wykorzystanie wielu JTAGów do ARMa w opensource'owych toolchainach, w których debuggowanie oparte jest o GDB.

Ponieważ wykorzystanie bibliotek ftd2xx.dll jest rzekomo niezgodne z licencją GPLv2, ta wersja skompilowana została do użycia z bibliotekami libftdi + libusb-win32. Szczegóły: #1, #2. Z tego względu poprzednia wersja (0.1.0) została usunięta.

Przed instalacją zalecane jest odinstalowanie poprzedniej wersji.

Zmieniony: Czwartek, 20 Sierpień 2009 17:23
 
Przykładowe projekty dla ARMów
Wpisany przez Freddie Chopin   
Piątek, 12 Czerwiec 2009 12:17

W dziale Download > ARM > Przykłady umieszczone zostały dwa przykładowe projekty pod Eclipse - jeden dla NXP LPC2103, drugi dla ST STM32F103RB. Przykłady te (w założeniu) są dopełnieniem artykułu ARM toolchain - tutorial, a więc w dużej części bazują na przedstawionych tam schematach postępowania. W projektach zawarte są wszystkie podstawowe pliki - Makefile, skrypt linkera, startup, tablica wektorów. Do tego skonfigurowane skróty do debuggowania (External Tool oraz Debug Configuration). W kodzie głównym, poza miganiem diodką z ustalaną prędkością, znajduje się podstawowa konfiguracja systemu, taka jak aktywacja wszelkich akceleratorów pamięci Flash oraz ustawienie przy pomocy PLL maksymalnej prędkości rdzenia. Projekty w katalogu doc/ zawierają kompletną dokumentację wygenerowaną w Doxygen, na podstawie której łatwiej będzie je modyfikować do własnych potrzeb.

Załączone do przykładów pliki Makefile do 100% poprawnego działania wymagają kilku plików z GNU Coreutils (poza make: echo, mkdir, rm, sh). Instalator dla systemu Windows z podstawowymi plikami znaleźć można w dziale Download > Programy > Coreutils. Pliki te dostępne są również w pakiecie WinAVR. Bez wymienionych plików konieczne jest ręczne stworzenie w projekcie folderu dla generowanych plików (domyślna nazwa tego folderu zawarta jest w Makefile w linii OUTPUT_DIR = ./out/ ) lub kompilowanie bezpośrednio do folderu głównego (wystarczy ustawić brak katalogu - OUTPUT_DIR = ).

Wszelkie uwagi dotyczące tych kodów, jak i paczki z GNU Coreutils, przesylajcie do mnie jako komentarze do tego artykułu, poprzez forumlarz kontaktowy strony lub w stosownym temacie na forum elektrody. Proszę też o kontakt jeśli ktoś chciałby pomóc w stworzeniu takich przykładów dla innych układów z rdzeniem ARM (AT91SAM, ADuC, STR7, STR9, LM, ...) - ze swojej strony pomogę jak tylko będę mógł.

Zmieniony: Piątek, 12 Czerwiec 2009 15:43
 
ARM toolchain - tutorial
Wpisany przez Freddie Chopin   
Niedziela, 17 Maj 2009 16:36

Bez zbędnego lania wody przejdźmy do rzeczy... Do wygodnego tworzenia oprogramowania dla ARMów potrzeba nam:

  • edytora (IDE),
  • toolchaina (kompilator, assembler, linker, binutils, biblioteki, ...),
  • oprogramowania do debuggowania.

Edytor (IDE)

W roli edytora lub IDE dla ARMów spotykany jest zwykle jeden z dwóch programów - Programmers Notepad albo Eclipse. Poza tymi dwoma możliwe jest oczywiście zastosowanie wielu innych aplikacji, takich jak choćby CodeBlocks lub DevC++. Ponieważ moim zdaniem ogromne możliwości i duża popularność Eclipse rekompensują jego niewielkie wady (jest napisany w Javie, więc czasem potrafi się przyciąć), tutorial ten bazować będzie właśnie na Eclipse. Środowisko Eclipse umożliwia nam pisanie kodu, zarządzanie projektem, programowanie układu oraz jego debuggowanie - czego chcieć więcej? (;

ARM toolchain

Na chwilę obecna dostępnych jest wiele kompletnych i gotowych toolchainów dla ARMa - jedne są na wiele platform, inne tylko na jedną. Warto wymienić takie pakiety jak WinARM, GNUARM i Yagarto. Tutorial ten jednak oparty będzie jednak o inne rozwiązanie, a mianowicie o Sourcery G++ Lite pochodzące z CodeSourcery. Dlaczego? Przede wszystkim istotne jest to, że rozwój toolchaina firmy CodeSourcery jest sponsorowany przez ARM Ltd., dzięki czemu jest on zawsze najbardziej zgodny ze standardami ARM, a usprawnienia wprowadzane są najszybciej - dopiero po pewnym czasie trafiają one do oficjalnej dystrybucji GCC, a stamtąd dopiero do innych toolchainów. Poza tym warto nadmienić, że toolchain ten jest dostępny zarówno dla platformy Windows jak i Linux, obsługuje instrukcje typu ARM, Thumb i Thumb-2 oraz najnowsze architektury ARMów - takie jak choćby Cortex. Nowe wersje toolchaina od CodeSourcery wydawane są w półrocznych odstępach.

Oprogramowanie do debuggowania

Debugger GDB (GNU Debugger) potrzebuje tak zwanego "klienta GDB", który przyjmowałby i wykonywał jego rozkazy. W świecie ARMów rolę tą doskonale spełnia OpenOCD, które również jest aplikacją wieloplatformową. Obecnie OpenOCD obsługuje praktycznie wszystkie istniejące JTAGi do ARMa (m.in. klony Wigglera (LPT), układy oparte o FT2232 (USB), JLink, RLink i wiele innych) oraz większość istniejących rodzajów ARMów (w tym ARM7, ARM9 i Cortex-M3).

Instalacja krok po kroku...

Poniższy tutorial oparty jest o system Windows, niemniej jednak nie ma żadnego problemu, aby porady tu przedstawione zastosować dla systemu Linux (oczywiście nie dosłownie).

Zmieniony: Piątek, 12 Czerwiec 2009 11:31
 
JTAG-lock-pick - wersja BASIC
Wpisany przez Freddie Chopin   
Niedziela, 03 Maj 2009 19:33

Dawno nic nowego nie pojawiło się na stronie, więc pomyślałem, że może warto wrzucić fotki zmontowanego kiedyś przezemnie JTAG-lock-picka w wersji BASIC. Ale może po kolei...

Jak niektórym wiadomo (a inni zaraz się dowiedzą), JTAG-lock-pick może zostać poskładany zasadniczo w dwóch wersjach (nie liczę miliona możliwych kombinacji):

  • FULL - JTAG + UART + RS-232,
  • BASIC - jedynie JTAG.

Oczywiście nic nie stoi na przeszkodzie, aby stworzyć wersje pośrednie - na przykład JTAG + UART lub JTAG + RS-232.

Zdjęcia wersji FULL zobaczyć można w poprzednim newsie oraz na forum elektrody, niemniej jednak zdjęcia wersji BASIC nie były nigdzie publikowane. Przedstawiam więc JTAG-lock-pick w wersji BASIC - płytkę z elementami oraz całość zamkniętą w obudowie.

JTAG-lock-pick BASIC JTAG-lock-pick BASIC JTAG-lock-pick BASIC
JTAG-lock-pick BASIC   

(zdjęcia w wyższej rozdzielczości - TUTAJ - końcowe zdjęcia albumu)

Jak widać na płytce jest sporo wolnego miejsca (; Cóż...

W przygotowaniu jest kilka artykułów (głównie o ARMach i programowaniu), strona więc nie umarła! Nie zapomniałem również o manualu do JTAG-lock-picka, więc - STAY TUNED!

Zmieniony: Czwartek, 20 Sierpień 2009 17:22
 
JTAG-lock-pick już gotowy!
Wpisany przez Freddie Chopin   
Środa, 18 Marzec 2009 09:13

News lekko spóźniony, bo wynikło kilka problemów z serwerami i stroną.

Projekt JTAG-lock-pick okazał się 100% sukcesem [; Układ ruszył zaraz po zlutowaniu, która to czynność okazała się w sumie prosta, choć PCB jest niesamowicie upakowane elementami. Poniżej przedstawiam podstawowe zdjęcia płytki, układu i całości zamkniętej w obudowie.

JTAG-lock-pick JTAG-lock-pick JTAG-lock-pick
JTAG-lock-pick JTAG-lock-pick JTAG-lock-pick

(więcej zdjęć można znaleźć pod TYM adresem)

Informuję również, że niestety wszystkie posiadane przezemnie płytki i komplety części są zamówione. Zapisuje ewentualnie na "listę rezerwową". Jeśli zaś będzie wystarczająco dużo chętnych, to nie ma najmnijeszego problemu, aby całe zamówienie ponowić. Projekt uważam za bardzo udany i nie planuje w nim chwilowo żadnych zmian, więc kolejne - ewentualne - zamówienie byłoby szybsze niż to pierwsze. O szczegóły pytać przez forumlarz kontaktowy lub przez forum Elektrody.

W dziale Download > Projekty > JTAG-lock-pick znajduje się kilka podstawowych plików umożliwiających poskładanie (schemat, BOM oraz zawartość i opis kompletów) i uruchomienie (template EEPROMu dla MProga, sterowniki oraz bardzo krótka instrukcja uruchomienia i instalacji) układu, choć do kompletnej dokumentacji - aktualnie tworzonej - jeszcze trochę brakuje... Cierpliwości - na pewno powstanie!

Zmieniony: Czwartek, 20 Sierpień 2009 17:28
 
«PoczątekPoprzednia12345678910NastępnaOstatnie»

Strona 8 z 10