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