60 64

background image

59

Elektronika Praktyczna 10/2004

P O D Z E S P O Ł Y

Zestaw zawiera w środku wszyst-

ko, co jest niezbędne do rozpoczęcia
pracy z nowym procesorem. Naj-
ważniejszym elementem zestawu jest
płytka ewaluacyjna MCB2100 z pro-
cesorem ARM Philips LPC2129 oraz
CD-ROM z dokumentacją zestawu,
przewodnikiem użytkownika, kartami
katalogowymi wszystkich istotnych
układów scalonych oraz firmowym
narzędziem do programowania proce-
sora bezpośrednio przez port szere-
gowy komputera o nazwie LPC210x
ISP

Utility. Dla wielu Czytelników

prawdziwym „daniem głównym” bę-
dzie udostępnione zintegrowane śro-
dowisko Keil Software o nazwie uVi-
sion w wersji 3 oraz wcześniejszej
– 2. Podstawowe funkcje interfejsu
uVision (

fot. 1) obejmują nie tylko

zaawansowany interaktywny edytor
kodu źródłowego zintegrowany z do-
skonałym debugerem i narzędziem do
programowania, ale także komplekso-
we zarządzanie całym projektem wraz
z indywidualną konfiguracją całego
środowiska dla każdego z projektów.
Jakby tego było mało, uVision ofe-
ruje bardzo rozbudowany symulator
peryferii w którym nieocenioną rolę
pełni funkcja umożliwiająca zdefinio-
wanie bardziej zaawansowanych „pu-

łapek” (breakpoints) w języku skryp-
towym opartym o składnię C. Dzięki
temu możemy dokładnie prześledzić
zachowanie się programu pod ką-
tem zmian, jakie zachodzą w ukła-
dach peryferyjnych obsługiwanych
przez docelowy procesor i tworzony
na bieżąco program. Generowanie
przerwań zewnętrznych, symulacja
odbioru i nadawania danych przez
port szeregowy, symulacja napięcia
mierzonego na wejściu przetwornika
A/C, a nawet tak zawansowane sy-
mulacje jak odbiór i nadawanie da-
nych przez I

2

C, to niespotykane do

tej pory funkcje oferowane przez
uVision. Do pełni szczęścia dostaje-
my jeszcze (na licencji GNU) pakiet
narzędzi tj. kompilator i linker firmy
Cygnus uzupełniony przez rozbudo-
wane biblioteki wielu użytecznych
funkcji niezbędnych przy codziennej
pracy. Dysponując dowolnym zasi-
laczem małej mocy (6 V/150 mA),
tzw. „prostym” kablem do transmisji
szeregowej (DB9F/DB9M) oraz kom-
puterem PC, można od razu przystą-
pić do zabawy. A tej jest naprawdę
sporo, zważywszy na to, co oferuje
procesor Philipsa i jakie narzędzia
udostępnia producent zestawu.

Płytka startowa

Przejdźmy do krótkiego opisu

płytki ewaluacyjnej (

fot. 2). Jej głów-

nym elementem jest wyposażony
w rdzeń ARM7TDMI procesor z 256
kB wewnętrznej pamięci Flash, 16
kB wbudowanej SRAM, interfejs ISP
oraz dodatkowo bardzo przydatny
ASP (In-Application Programming),
który pracuje dzięki zapisanemu
w pamięci Flash-ROM boot-loadero-
wi

. Dodatkowo układ ma wbudowa-

ne 2 porty CAN, 4-kanałowy szybki

Otrzymany do testów

zestaw firmy Keil

jest przeznaczony dla

wszystkich entuzjastów

mikrokontrolerów

z rdzeniem ARM. Układy te

są coraz bardziej popularne

nie tylko w zastosowaniach

profesjonalnych, ale także

i na rynku amatorskim.

Doskonałe połączenie

prostoty podstawowej

aplikacji procesora

wraz z wyczerpującą

dokumentacją zestawu,

uzupełnioną multimedialną

prezentacją podstawowych

jego możliwości, pozwala

przełamać „pierwsze lody”
i wprowadzić użytkownika

w arkana projektowania

systemów z wykorzystaniem

najnowszych produktów

Philipsa.

Zestaw startowy z procesorem ARM Philips LPC2129

dla praktyków

Rys. 1

background image

Elektronika Praktyczna 10/2004

60

P O D Z E S P O Ł Y

10-bitowy przetwornik A/C z cza-
sem konwersji ok. 2,44 ms, 2 por-
ty szeregowe (w tym jeden z pełną
obsługą sprzętowego handshakingu),
dwa porty SPI oraz – jak przysta-
ło na Philipsa – szybki sprzętowy
interfejs I

2

C (400 kB/s). Dwa 32-bi-

towe timery (z 4 niezależnymi kom-
paratorami oraz 4 pułapkami) oraz 6
wyjść typu PWM pozwolą rozwinąć
skrzydła wszystkim, którzy projektują
układy sterowania silnikami wielo-
fazowymi lub falownikami. Wbudo-
wany w mikrokontroler układ zegara
czasu rzeczywistego RTC oraz dodat-
kowy timer typu watchdog z pewno-
ścią okażą się niezbędne zwłaszcza
w krytycznych aplikacjach pracują-
cych w czasie rzeczywistym. Cieka-
wostką jest fakt, iż procesor może
współpracować z zewnętrznym oscy-
latorem z zakresu 1...30 MHz, a dla
tych, którzy chcieliby jeszcze szyb-
ciej, producent procesora wbudował
pętlę fazową PLL, dzięki której przy
dołączeniu zewnętrznego sygnału ze-
garowego z zakresu 10...25 MHz efek-
tywna częstotliwość procesora może
wynosić nawet do 60 MHz! Układ
LPC2129 posiada wbudowany port
JTAG, dzięki któremu jest możliwe
śledzenie i debugowanie pracy pro-
cesora, a multipleksowany charakter
interfejsu (za pomocą pinów portu
P1) pozwala na pełne wykorzystanie
wszystkich zalet pracy procesora, tak
jakby pracował on już w układzie
docelowym. Jeśli komuś nie wystar-
cza praca z JTAG-iem i śledzenie
pracy procesora na podstawie stanów
zewnętrznych pinów, może skorzystać
z dodatkowego interfejsu współpracu-
jącego z modułem Embedded Trace
Macrocell

. To właśnie wbudowany

w strukturę ETM pozwala na „praw-
dziwe” śledzenie pracy procesora,
a to dzięki temu, że jest on bezpo-
średnio podłączony do rdzenia pro-

cesora, a nie – jak to zwykle bywa
– do jego wewnętrznej magistrali.
Niestety płytka ewaluacyjna wcho-
dząca w skład kitu posiada jedynie
nieobsadzone punkty lutownicze pod
gniazdo interfejsu ETM. Nic nie stoi
na przeszkodzie, aby w bardziej za-
awansowanych zastosowaniach uzu-
pełnić brakujący element.

Rdzeń procesora jest zasilany na-

pięciem 1,8 V, a jego układy pery-
feryjne 3,3 V, jednak w aplikacjach
wymagających komunikacji w środo-
wisku peryferii pracujących na po-
ziomach TTL procesor sobie poradzi,
a to ze względu na akceptujące ten
zakres uniwersalne porty I/O, których
w przypadku LPC2129 mamy aż 46!
O ile 32-bitowa magistrala adresowa
procesora pozwala na teoretyczne ste-
rowanie obszarem aż 4 GB pamięci
czy I/O, o tyle LPC2129 umieszczo-
ny 64-wyprowadzeniowej obudowie
typu LQFP nie posiada odpowiednie-
go interfejsu. Ci, których interesują
aplikacje wykorzystujące tę cechę,
powinni skierować swoją uwagę na
bliźniacze procesory LPC2xxx, ale
z drugą cyferką „2” (np. LPC2292),
co oznacza, że mamy do czynienia
z wersją procesora w 144-pinowej
obudowie z wyprowadzoną magistra-
lami adresową i danych na zewnątrz
układu.

Na płytce oprócz układu ze-

wnętrznego pracującego oscylatora
znajduje się także kilka innych cie-
kawych układów, m.in. dwa szybkie
(do 1MBd) transceivery wbudowa-
nych w mikrokontroler portów CAN
(TJA1040). Na nie mniejszą uwa-
gę zasługują zastosowane na płytce
miniaturowe stabilizatory produkcji
STMicroelectronics z serii LD1117.
Dzięki bardzo niskiemu efektywnemu
spadkowi napięć przy konwersji (ty-
powo 1 V) możliwe jest zasilanie ca-
łej płytki ewaluacyjnej już napięciem
6 V. Dwa takie stabilizatory zapew-
niają zasilanie procesora oraz nielicz-
nych układów peryferyjnych, a do-
datkowy jeden dostarcza wymaganego
do pracy transceiverów CAN napięcia
5 V. Obsługa komunikacji poprzez
standardowe porty szeregowe przy
zastosowaniu procesora pracującego
przy obniżonym napięciu wymagała
zastosowania odpowiedniego niskona-
pięciowego podwójnego nadajnika/od-
biornika linii. Jego rolę pełni układ
MAX563, jak nietrudno się domyślić
– firmy Maxim. Jest 3-woltowa, nie-
co rozbudowana wersja popularnego
transceivera MAX232. Gwarantowana

Fot. 2

background image

P O D Z E S P O Ł Y

Elektronika Praktyczna 10/2004

62

szybkość sygnałów na każdym kana-
le na poziomie 115200 bd, aktywny
obwód odbiornika nawet w trybie
shutdown

(kiedy układ pobiera je-

dynie 10mA) oraz 3-stanowe wyjścia
TTL/CMOS odbiornika pozwalają na
bezpieczną komunikację procesora
z magistralą RS232. Płytka MCB2100
posiada dodatkowo wizualizację sta-
nów ośmiu wybranych pinów portu
P1 procesora w postaci miniaturo-
wych diod LED, sterowanych za po-
średnictwem niskonapięciowej „bra-
my” 74LV244. Sprawdzenie działania
wbudowanego w mikrokontroler prze-
twornika A/C przy pomiarze napięć
z zakresu 0...3,3 V jest możliwe
dzięki dodatkowemu potencjometrowi
z wygodnym pokrętłem, podłączone-
mu bezpośrednio do wejścia AIN0
przetwornika. Ponadto płytka posia-
da nieobsadzone gniazda z wypro-
wadzeniem pierwszych 24 uniwersal-
nych (typu GPIO) pinów osobno dla
portów P0, jak i P1 procesora oraz
niewielkie, ale przydatne przy pierw-
szych próbach prototypowe pole lu-
townicze o wymiarach 30x20 mm.

Do opisanego zestawu dystrybu-

tor dołączył dodatkowy produkt, tym
razem firmy Hitex. Jest to alterna-
tywne środowisko m.in. do obsługi
narzędzi do uruchamiania złożonych
aplikacji, także dla procesorów ARM
Philipsa w tym opisanego LPC2129.
Zasadniczą, czysto praktyczną cechą

odróżniającą wspomniany już star-
ter-kit Keilaa od produktu Hiteksa
jest obecność sprzętowego interfejsu
JTAG, który podłączony do kompu-
tera poprzez standardowe gniazdo
Centronics (LPT) a np. płytkę ewa-
luacyjną MCB2100 pozwala na pełny
sprzętowy debugging w docelowym
układzie. Do obsługi interfejsu Hi-
tex proponuje zintegrowane środowi-
sko o nazwie HiTOP-5. Podobnie jak
w przypadku produktu Keila, IDE Hi-
teksa oferuje programiście wygodną,
a co najważniejsze, efektywną pracę,
tym razem jednak w uruchamianym
układzie docelowym. HiTOP-5 oferuje
nowoczesny, dla użytkownika syste-
mu Windows, wręcz intuicyjny IDE.
Do najistotniejszych cech oprogramo-
wania HiTOOL należy m.in.:
– Zaawansowane okno programu źró-

dłowego source window, w którym
użytkownik ma nie tylko możli-
wość śledzenia wykonywania pro-
gramu w języku wysokiego po-
ziomu, ale także dzięki opcji edit
możliwe jest bieżące dokonywanie
poprawek z poziomu języka C
i rekompilacja bez potrzeby prze-
łączania się do innego narzędzia,
a następnie powtórzenie symulacji
w układzie docelowym.

Breakpoints, czyli pułapki, zarówno

te dotyczące kodu (code breakpo-
ints

), jak i danych (data breakpo-

ints

) mogą być od teraz nie tylko

ustawianie albo kasowane, ale tak-
że – co często jest wygodne – dez-
aktywowane, co w praktyce ozna-
cza, że dana pułapka nadal istnie-
je i jest widoczna w oknie źródła,
lecz debugger nie zatrzyma na niej
programu do momentu symulacji,
w której programista postanowi ją
ręcznie uaktywnić (

rys. 3). Bardziej

zaawansowane funkcje edytora pu-
łapek umożliwiają także np. zatrzy-
manie programu, kiedy zaznaczona
jako breakpoint instrukcja wykona-
na zostanie określoną ilość razy,
a nawet kiedy określona zmienna
w pamięci procesora zostanie zapi-
sana albo wywołana bez względu
na znajdujący się w analizowanej
linii warunek (

rys. 4). Co więcej,

każda pułapka może mieć dowol-
ną długość. Oznacza to, że można
zdefiniować warunek zatrzymania
programu w momencie, kiedy np.
podana struktura danych zostanie
w całości zapisana lub odczyta-
na przez program. W najbardziej
skomplikowanych przypadkach od-
najdywania błędów nieoceniona

może okazać się funkcja, w której
programista może zdefiniować całe
sekwencje warunków, które po wy-
konaniu się zatrzymają program
(opcja Define sequence w oknie
Breakpoints

).

– Oparta o wygodną strukturę drze-

wa, rozwijalna lista zawierająca
wszystkie składniki całego projektu,
począwszy od plików źródłowych,
poprzez zadeklarowane przez użyt-
kownika zmienne i zdefiniowane
w projekcie funkcje (

rys. 5).

– Inteligentne okno podglądu watch

window

, nie tylko samoczynnie

wyświetlające po aktywacji zmien-
ne lokalne aktualnie wskazywanej
w oknie źródła funkcji, lecz także
w przypadku bardziej złożonych
struktur, pozwalające rozwinąć wie-
lopoziomowo nawet najbardziej za-
gnieżdżone zmienne dzięki użyciu
struktury drzewa, podobnie jak to
ma miejsce w przypadku opisywa-
nego wcześniej widoku workspa-
ce

(

rys. 6); w przypadku bardziej

złożonych podglądów użytkow-
nik może podzielić ją na grupy
i umieścić każdą z nich w osobnej
zakładce okna watch, a nawet na-
zwać ją według swojego uznania.

– Dla wszystkich, którzy chcieliby

prześledzić program na poziomie
asemblera, HiTOP oferuje m.in.
możliwość edycji komend programu
„na gorąco” w zakresie, który nie
wymaga ponownej kompilacji pro-

Rys. 3

Rys. 4

Rys. 5

Rys. 6

Rys. 7

background image

Elektronika Praktyczna 10/2004

64

P O D Z E S P O Ł Y

gramu (np. kasowanie wybranych
instrukcji za pomocą wypełniania
ich poleceniem pustym NOP albo
ręczna zmiana atrybutów poszcze-
gólnych instrukcji), ręczną moż-
liwość zmiany wartości rejestrów
oraz flag, niezwykłe łatwą obser-
wację tych ostatnich dzięki auto-
matycznemu wyróżnianiu w przy-
padku zmiany ich wartości od
ostatniej pułapki.

– Inna przydatna opcja oferowana

przez HiTop-5 to okno podglą-
du/edycji rejestrów SFR procesora,
w którym w kontrolowany przez
środowisko sposób, można zmie-
niać wartości wybranych rejestrów
specjalnych w dozwolonych war-
tościach, a przy tym z kontek-
stowym podglądem ich znaczenia
i pełnionej w systemie funkcji
z wywołaniem podręcznej pomocy
o wybranym rejestrze SFR włącz-
nie (

rys. 7).

– Umożliwiająca bardziej wnikliwe

śledzenie programu opcja Trace po-
zwala np. na wyświetlenie w sto-
sownym oknie (

rys. 8) tzw. ramek

(frames) w postaci tabeli (line di-
splay

mode), gdzie dla ułatwienia

program automatycznie zaznacza
np. wszystkie skorelowane z daną
instrukcją wysokiego poziomu ram-
ki, podobnie postępując w przy-
padku dostępu do danych, instruk-
cji ich zapisu lub odczytu.

Drugim sposobem wyświetlania

jest tzw. instruction mode, w którym
wszystkie instrukcje pokazane są jako
zdekompilowane z przydzielonymi do
nich automatycznie operacjami R/W
na danych. Dodatkowy tryb podglą-
du tzw. Raw Trace Mode pokazuje
wszystkie ramki w sposób, w jaki
zostały one zarejestrowane, czyli każ-
da z linii tabeli pokazuje operacje
wykonane przez procesor w trakcie
dokładnie jednego cyklu maszyno-
wego. Oprócz podstawowych funkcji
podstawowych, takich jak określenie
zachowania się bufora trace (ciągły

lub cykliczny) czy momentu rozpo-
częcia śledzenia, dodatkowo użyt-
kownik ma możliwość powiązania
śledzenia ze zdefiniowanymi przez
siebie warunkami, np. kiedy śledzo-
ne i zapisywane w buforze mają być
tylko określone operacje dostępu do
zmiennych, albo peryferii, albo roz-
poczęcia śledzenia w momencie wy-
stąpienia określonego warunku, np.
wykonania żądnej funkcji.
– HiTOOL-5 umożliwia także tak

zaawansowane funkcje definiowa-
nie własnych widoków (okien)
zawierających tylko interesujące
programistę dane, np. tylko wy-
brane rejestry SFR procesora albo
obszary peryferii nazwane w tym
przypadku tak jak sami sobie tego
zażyczymy. Operację tę wykonuje
się, definiując za pomocą proste-
go w składni skryptu, którego in-
tuicyjność i prostota pozwalają na
korzystanie nawet przez początku-
jących użytkowników.

Jeszcze nie zdążyliśmy przyzwy-

czaić się do opisanego środowiska
Hiteksa w wersji 5, a producent już
zapowiada kolejną wersję swojego
produktu, tj. 5.1, w której znajdą się
dodatkowo:
– możliwość przygotowania pełnej

emulacji programu prosto z pli-
ków utworzonych przez kompilator
i linker (bez konieczności genero-
wania plików dla symulatora),

– rozszerzone definiowanie skryp-

tów, gdzie użytkownik ma możli-
wość ich wykonania poprzez wy-
godne i szybkie ich wywołanie
z dodatkowego elementu typu li-
stbox

umieszczonego w wybranym

menu przycisków,

– tzw. HiSCRIPT log, który na bieżą-

co informuje użytkownika o wyko-
nywanych w programie poleceniach
w zrozumiałym dla niego języku,

– w opcji Trace można m.in. do-

datkowo wyświetlić okno source
pokazujące aktualnie wykonywaną
instrukcję w języku wysokiego po-
ziomu, nawet typowe przewijanie
okna trace skutkuje jednoczesnym
aktualizowaniem zawartości okna
kodu źródłowego.

Te i wiele innych funkcji znajdzie-

cie w opisywanym pakiecie, do któ-
rego zapoznania gorąco namawiam.

Sławomir Surowiński

Informacje dodatkowe

Zestaw ewaluacyjny z pakietem firmy Hitex

udostępniła redakcji firma Silica, tel.: (22)

640-23-51, fax: (22) 640-23-54, silica.

warszawa@avnet.com.

Rys. 8


Wyszukiwarka

Podobne podstrony:
60 64
60 64 IB 7 8 2006 Techn proj cz III
01 1995 60 64
Excel Solver zad 60-64
JW 60 64 pecherzyki4
Excel Solver zad 60 64
hms 60-64, Socjologia I rok
60 64
60 64
60 64 IB 7 8 2006 Techn proj cz III
60 64
60 64 (2)
01 1995 60 64
akumulator do volkswagen polo 6n1 60 17 di 64 sdi 19
Logistyka i Zarządzanie Łańcuchem dostaw Wykłady str 64
60 Rolle der Landeskunde im FSU

więcej podobnych podstron