Strona główna
Witaj na stronie Chopina!
Manual do JTAG-lock-pick
Wpisany przez Freddie Chopin   
Czwartek, 20 Sierpień 2009 17:06

W końcu zawziąłem się, przysiadłem i... skończyłem tworzyć kompletną instrukcję do JTAG-lock-pick. Efekty tego (mocno przedłużającego się) procesu twórczego można pobrać w dziale Download > Projekty > JTAG-lock-pick. Trochę przyszło na to czekać, ale... lepiej późno niż wcale (; .

Na 29-ciu stronach znalazły się:

  • opis projektu - jego funkcjonalności, motywów powstania i założeń towarzyszących projektowaniu,
  • techniczny opis układu - elementów składowych, płytki PCB, obudowy, różnych wersji JTAGa, złącz,
  • opis procesu instalacji sterowników i programowania EEPROMu,
  • szczegóły dotyczące użytkowania JTAGa - opis diod LED i zworek,
  • wskazówki dotyczące użytkowania układu z oprogramowaniem OpenOCD lub CrossWorks,
  • parę innych mniej istotnych, choć przydatnych, detali,
  • schemat układu,
  • lista elementów.

Plik ten zastępuje opublikowaną wcześniej "ultra krótką instrukcję" oraz schemat i listę elementów pod postacią osobnych dokumentów.

Wszelkie opinie, uwagi, sugestie, błędy i głupoty zgłaszajcie przez formularz kontaktowy / komentarze pod artykułem.

Zmieniony: Czwartek, 20 Sierpień 2009 17:59
 
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
 
«PoczątekPoprzednia12345678910NastępnaOstatnie»

Strona 8 z 10