Podobné dokumenty

11 Elektrické specifikace Mezní parametry* Okolní teplota pøi zapojeném napájení 40 C až +125 C Skladovací teplota 65 C až +150 C Napájecí napìtí na V

1.2 Realizace èekání pomocí jednoduché programové smyèky Pøíklad 3: Chceme-li, aby dítì blikalo baterkou v co nejpøesnìjším intervalu, øekneme mu: Roz


3/ %,1'(& 83'1 &( &3 )XQNFH. + ; ; ; ; / ; ; + ; EH]H]PuQ\


VLASTNOSTI PLOŠNÝCH SPOJÙ

:5$ =islv GDW V DOWHUQDFt QHMY\ããtKRELWX

Vytváøení sí ového diagramu z databáze: pøíklad

Podrobný obsah CHARAKTERISTIKA A POROVNÁNÍ ØADY PIC16F87X A PIC16F87XA TYPY POUZDER A PØIØAZENÍ VÝVODÙ PIC16F87X TYPY POUZDER A PØIØAZENÍ

DOKOPO. Komunikaèní karta se samostatným procesorem a dual-port pamìtí. Technická pøíruèka. verze 2.0. A plikace Mikroprocesorové Techniky


12 15 Instalace mikroturbíny v blokové plynové výtopnì " ZADÁNO: Instalace mikroturbíny v blokové plynové výtopnì Zjistìte: 1 Zda je ekonomicky výhodn

/2*,.$ 5(6(7 Ë=(1Ë +$/7 *(1(5È ',129é & 6./ $/8. ' /,ý. ýë7$ý 5(*,675 5(*, é. 6e5,29é 5(*,675 * $.808/È725 5:0. %8',ý(/ 45(*,675 5(*

baspelin CPM Popis komunikaèního protokolu CPM KOMPR

2 PARALELNÍ ROZHRANÍ Paralelní rozhraní realizuje pøenos dat mezi vnitøní sbìrnicí øídicího systému a vnìjším prostøedím po znacích, neboli po slabiká


28/40VÝVODOVÝ, 8BITOVÝ CMOS MIKROKONTROLÉR S A/D PØEVODNÍKEM, FLASH PAMÌTÍ PRO PROGRAM A SRAM/EEPROM PRO DATA VLASTNOSTI Velmi výkonný kontrolér s arc





PESexcl. PODPORA PRO VÝMÌNU DAT S APLIKACÍ MICROSOFT EXCEL s využitím DDE serveru PESdde

Spínaèe jsou elektrické pøístroje, které slouží k zapínání, pøepínání a vypínání elektrických obvodù a spotøebièù. Podle funkce, kterou vykonávají, je

Izolaèní zesilovaèe s IL300 Zapojení izolaèních zesilovaèù s IL300 se liší pøedevším režimem v nichž pracují interní fotodiody Podle toho zda interní

MU-411/412 MU-811/812. 4x AIN (12 bitù), RS-485



Komerèní využití stavebních návodù je povoleno jen s písemným souhlasem autora a nakladatelství. Soubory na CD ROM mající pøímo vztah ke knize, které




3.1 Útlum atmosférickými plyny Rezonance molekul nekondenzovaných plynù obsažených v atmosféøe zpùsobuje útlum šíøících se elektromagnetických vln. Ab


TERM 4MK. Univerzální regulaèní systém. Charakteristika. ZPA EKOREG s.r.o. Ústí nad Labem

9. Harmonické proudy pulzních usměrňovačů

baspelin KTR baspelin RPS Popis komunikaèního protokolu


KOMUNIKAÈNÍ DDE SERVER PRO AUTOMATY MICROPEL VERZE 2.3 POPIS ROZHRANÍ A OVLÁDÁNÍ


0RW\O3LFWXUH%R[ 7LPHU7LPHU



Programovací manuál [CZ] Domovník [ACU 100] Elektronický identifikaèní systém




PESprint. TISKOVÁ BRÁNA SYSTÉMU PES aplikace pro komunikaèní procesor - PES-CP24/PRINT


2.4 Cykly 2. ZÁKLADY JAZYKA C

Skládaèka Obr 48 G15 VBP Co to dìlá: Naète vybraný obrázek (vybraný pomocí CommonDialog1), vytvoøí MxN komponent PictureBox obsahujících odpovídající

Øízený pøeklad - make





4x kombinovaný analogový vstup s vysokou pøesností (0..10V, R, C)

NULOROVÉ MODELY Spokojíme-li se pouze se základní analýzou elektronického obvodu s ideálními prvky, osvìdèuje se èasto užití nulorových modelù aktivní


Praktické úlohy- 2.oblast zaměření




T-Mobile SpeedManager. Postup nastavení T-Mobile SpeedManager pro PC/notebook



14 UKAZATELE A ØETÌZCE


nažhavováním elektronek, takže nedochází k neúmìrnému pøetìžování filtraèních kondenzátorù pøi nábìhu anodového proudu. Polovodièový usmìròovaè vytvoø



MU-3222A MU-3225A MU-3226A DIN, CNT, RS-485







PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/ PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/ stran 1

MU-3251A MU-3253A DOUT, RS-485

MaR.LIB KNIHOVNA SIMPLE4 PRO TVORBU APLIKACÍ MÌØENÍ A REGULACE NA PLC MICROPEL


CTR pro optoèlen s LED a tranzistorem:,& &75 = [%] U, CE = const ) Obvykle CTR urèíme pøi I F = 10 ma a U CE = 5 V. Hodnoty zjistíme z tabulky.,& &75


Hlavní obrazovka displeje je rozdìlena do pìti základních monitorovacích oken a tlaèítka slou ícího ke vstupu do nastavení zaøízení.

MaR.LIB V2.0. MaR.LIB V2 Ing. Jaroslav Kurzweil , MICROPEL s.r.o

kap..2 Plochy (Surfaces) Plochy jsou rozšíøením NURBS køivek. Zatímco køivka NURBS používala jednorozmìrnou interpolaci (U), u ploch je navíc pøidán d

Přerušovací systém s prioritním řetězem

Regulátor TERM 2.0 NÁVOD K OBSLUZE A MONTÁ NÍ PØÍRUÈKA




EX05 - interiérový ovladaè, teplomìr, vlhkomìr. Periferie EX05 je nabízena ve dvou modifikacích: s mìøením teploty


2 Základní zapojení èasovaèe 555 Základní zapojení jsou taková zapojení, na kterých se na jedné stranì vysvìtlují základní principy funkce obvodu nebo

OHGHQ ~QRU E H]HQ GXEHQ NY WHQ þhuyhq. SROROHWt

Řízení IO přenosů DMA řadičem


NOiYHVQLFH SVDFtKR VWURMH Í (Q Ï Á. (VF ) )SURJUDPRYDWHOQpNOiYHV\) ) 3VF 6F/ 3DX NRQWURON\ ,QV +RPH 3J8S 7DE 'HO (QG 3J'Q &DSV/ (QWHU Í 6KLIW

AKTUALIZECE FIRWARE PRO SDS

Transkript:

Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby ètenáø vidìl, jakým zpùsobem je titul zpracován a mohl se také podle tohoto, jako jednoho z parametrù, rozhodnout, zda titul koupí èi ne). Z toho vyplývá, že není dovoleno tuto ukázku jakýmkoliv zpùsobem dále šíøit, veøejnì èi neveøejnì napø. umis ováním na datová média, na jiné internetové stránky (ani prostøednictvím odkazù) apod. redakce nakladatelství BEN technická literatura redakce@ben.cz

4 LDÌNÍ PLIKCÍ Mikroprocesory TMEL øady T90 nemají integrované prostøedky pro ladìní vytváøeného programu, které by umožòovaly pozastavit bìh programu na zvolené adrese a kontrolovat nebo modifikovat obsah vnitøní pamìti (V dobì vydání knihy byl k dispozici pouze jediný typ T90S323, který má integrován JTG interface Princip a další informace jsou uvedeny v závìru této kapitoly ) Pro základní ladìní aplikace se používají rùzné simulaèní programy, napø volnì dostupné StudioVR Simulátory umožòují pøedevším ovìøení algoritmù aplikace a bìh tìch èástí programu, které nejsou èasovì kritické Po ovìøení základní funkce se aplikace naprogramuje a ovìøí se chování v reálných podmínkách I v této fázi vývoje je žádoucí co nejvìtší množství informací o bìhu programu, hodnotách promìnných v registrech a v pamìti Tento úkol lze øešit prostøednictvím monitoru Monitor je v podstatì èást programového kódu, která se pøipojuje k ladìné aplikaci a umožòuje pøenést požadované údaje do hostitelského poèítaèe Získaná data jsou interpretována uživateli na hostitelském poèítaèi v co nejsrozumitelnìjší formì V následující èásti kapitoly budou podrobnì rozebrány dva monitory Jeden pomìrnì obsáhlý monitor, napsaný z vìtší èásti v programu C, druhý jednodušší s omezenými službami, ale také kratší délkou kódu První typ monitoru lze libovolnì používat v aplikaci v návaznosti na program hostitelského poèítaèe DebuggerVR 4 1 PRINCIP MONITORU Úkolem monitoru je pøijímání pøíkazù z hostitelského poèítaèe, zpracování a odeslání požadované odezvy zpìt do hostitelského poèítaèe Monitor tedy vyžaduje komunikaèní kanál a zpravidla ještì další vstupnì/výstupní signály mikropoèítaèe Jako komunikaèní kanál byl v základní implementaci použit sériový kanál 19 200 Bd, 8 bitù bez parity, 1 start a 1 stop bit Program DebuggerVR má implementovány nìkteré služby umožòující pøijmout a v oknì zobrazit libovolný VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR 23

text Tato služba zmenšuje omezení, pokud využívá sériový kanál i vlastní aplikace Existují ale aplikace, které potøebují sériový kanál èistý V takovém pøípadì je tøeba komunikaèní kanál realizovat jiným zpùsobem Je možné použít sériový kanál SPI nebo simulovat pøenos dat pøes nìkteré I/O signály mikroprocesoru Lze také použít další sériový obvod Všechna tato øešení vyžadují doplòující hardware, který je popsán v kapitole Doplòky monitoru 4 2 KOMUNIKÈNÍ PROTOKOL Mezi monitorem a hostitelským poèítaèem je definován komunikaèní protokol Vstupní (pøíkazové) pakety mají pevnou délku 8 bytù Záhlaví tvoøí øídicí znak $ a písmeno, poté následuje 6 bytù parametru Písmeno urèuje typ pøíkazu, obsah parametrù závisí na typu pøíkazu Výstupní pakety mají promìnnou délku, záhlaví tvoøí opìt kombinace $ a písmeno, poté následuje soubor dat a kombinace <CR><LF> 4 3 ZÁKLDNÍ FUNKCE Protože je monitor v podstatì èást programu, bývá tendence služby rozšiøovat a získat co nejvíce informací V pøípadì podstatného omezení pamì ového prostoru mikroprocesoru je tøeba nalézt optimální øešení Jako výchozí procesor pro použití popisovaného monitoru byl stanoven T90S8515, tedy 8 kb programové pamìti a pøes 200 bytù pamìti dat Vìtšina služeb monitoru je ve zdrojových souborech podmínìnì pøeložitelná, což vede k úspoøe kódu Nejmenší délka kódu monitoru je zhruba 500 bytù, nejvìtší asi 1,1 kb Monitor poskytuje následující soubor služeb: 1 Skenování vnitøní pamìti mikroprocesoru za bìhu programu aplikace 2 Zastavení bìhu programu a jeho opìtovné spuštìní 3 Reset 4 Modifikaci obsahu registrù a vnitøní i vnìjší pamìti RM mikroprocesoru 5 Plný bìh programu do zvoleného místa v programu /UserBreak, InterruptBreak/ 6 Krokování programu po instrukcích 7 Kontinuální krokování programu až do stanoveného místa /Break/ 8 Pøíkazem zadat a libovolnì mìnit místo zastavení v programu 24 VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR

V další èásti budou jednotlivé funkce a jejich realizace podrobnì rozebrány pøímo na zdrojovém kódu Ètenáø tak bude mít možnost v pøípadì potøeby libovolnì upravit monitor tak, aby co nejlépe vyhovìl jeho potøebám 4 3 1 Realizace funkcí monitoru Realizace uvedených funkcí monitoru spoèívá v naprogramování potøebných podprogramù (jsou obsahem modulu debugger c) a v jejich aktivování Z uvedených požadavkù vyplývá, že monitor musí aktivovat jednak hostitelský poèítaè (napø požadavek uživatele na zastavení bìhu programu), jednak sám kód aplikace (napø zastavení programu na stanovené adrese) Oba typy aktivace jsou zaèlenìny do pøerušovacího systému mikroprocesoru Poèítaè PC spouští monitor aktivitou na komunikaèním kanálu (v základní koncepci tedy na sériovém kanálu RS232), pøièemž obsluha sériového kanálu je provádìna v rámci pøerušení ktivuje-li monitor pøímo aplikace, provádí to v rámci nìkterého napø vnìjšího pøerušení INT0 nebo INT1 eventuálnì v rámci pøerušení od èasovaèe Tata variabilita umožòuje uživateli zvolit zdroj, který bude co nejménì omezovat systémové požadavky aplikace Zaèlenìní obsluhy monitoru pod jednotlivá pøerušení je obsaženo v souboru dbg_gcrt c Základní je funkce ServiceInterruptPending, která je volána v rámci pøerušení podle nastavení konfiguraèních podmínek podmínìného pøekladu Detailní využití je uvedeno pøi popisu realizace jednotlivých funkcí monitoru void ServicePendingInterrupt(void) asm ( "sts ContextDebuggerRegister,r31\n" ); #if T0_INTERRUPT_PENDING asm ( "ldi r31,0x00\n" "out 0x33,r31\n" ); asm ( VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR 25

"in r31, SP_L \n" "sts (ContextDebuggerRegister + 1),r31\n" "in r31, SP_H \n" "sts (ContextDebuggerRegister + 2),r31\n" "in r31, SREG \n" "sts (ContextDebuggerRegister + 3),r31\n" "ldi r31,lo8(debuggerstack + 79)\n" "out SP_L,r31\n" "ldi r31,hi8(debuggerstack + 79)\n" "out SP_H,r31\n" ); asm ( "push "push "push "push ); r0\n" r1\n" r29\n" r30\n" ScanDebuggerCommandPacket(); Monitor pracuje s vlastním zásobníkem (symbolická promìnná DebuggerStack), na který ukládá pøi pøerušení obsah registrù, dále požaduje prostor v pamìti SRM, na který ukládá návratovou adresu a obsah stavového registru (symbolická promìnná ContextDebuggerRegister) Je tøeba si uvìdomit, že právì návratová adresa pøerušení je zároveò aktuální adresou vykonávané aplikace Velikost zásobníku monitoru urèuje uživatel nastavením konstanty ndeepdebuggerstack Velikost zásobníku, která je závislá na použitém pøekladaèi, je odesílána v rámci základního informaèního paketu do hostitelského poèítaèe Celá èinnost monitoru je øízena promìnnou DebuggerStatus Jednotlivé bity mají následující význam: #defineinterruptbrek_sttus 0x08 aplikaèní program se zastavil na místì makra InterruptBreak #defineuserbrek_sttus 0x10 26 VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR

aplikaèní program se zastavil na místì makra UserBreak #definegotobrek_sttus 0x20 monitor zajiš uje kontinuální krokování instrukce po instrukci až do dosažení nastaveného bodu pøerušení #definestep_sttus 0x40 monitor zajiš uje krokování po instrukci v rámci základní úrovnì #defineorder_sttus 0x80 monitor setrvává ve smyèce v pøerušení až do pøijetí dalšího pøíkazu Skenování pamìtí mikroprocesoru Nejprve bude rozebrán mechanizmus nejjednodušší funkce monitoru Pøíkazem $S, který odešle hostitelský poèítaè, se aktivuje požadavek na odeslání obsahu vnitøní pamìti mikroprocesoru, tedy registrù a pamìti SRM Monitor po indikaci tohoto pøíkazu funkcí ServiceScanSramProcessor((unsigned char *)0x00, (unsigned int)srm_size, 'S') odešle obsah vnitøní pamìti do sériového kanálu Poté se vrátí z pøerušovací rutiny a následuje provádìní kódu aplikace Pro skenování obsahu externí pamìti RM je implementován pøíkaz $M<adresa>, který aktivuje odeslání 256 bytù externí pamìti od zvolené adresy Pro skenování obsahu pamìti EEPROM obsahuje monitor pøíkaz $F, který aktivuje odeslání celého obsahu této pamìti Je tøeba si uvìdomit, že pøenos dat na nejnižší pøenosové rychlosti podporované hostitelským programem DebuggerVR trvá zhruba 1 s Po tuto dobu je systém v pøerušení, což ovlivòuje chování celé aplikace Zastavení bìhu programu a jeho opìtovné spuštìní Zastavení provádìní programu aplikace a kontrola promìnných je v podstatì nejvíce používaná funkce každého monitoru if(debuggerpacket Data[1] == 'P') DebuggerStatus = DebuggerStatus ORDER_STTUS; VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR 27

ServiceScanSramProcessor((unsigned char *)0x00, (unsigned int)srm_size, 'S'); Pøíkazem $P se aktivuje odeslání obsahu vnitøní pamìti mikroprocesoru a stavová promìnná se nastaví do režimu smyèky v rámci pøerušovací rutiny V této smyèce monitor pøijímá všechny implementované pøíkazy kontinuálním testováním sériového kanálu if((debuggerstatus & (STEP_STTUS ORDER_STTUS))) DebuggerStatus = DebuggerStatus ORDER_STTUS; do #if (PORT_COMPILER == GCC_VR) while(!(inp(usr) & 0x80)); DebuggerPacket Data[DebuggerPacket nindex++] = inp(udr); if(debuggerpacket Data[0]!= '$') DebuggerPacket nindex = 0; #if (PORT_COMPILER == ICC_VR) while(!(usr & 0x80)); DebuggerPacket Data[DebuggerPacket nindex++] = UDR; if(debuggerpacket Data[0]!= '$') DebuggerPacket nindex = 0; if(debuggerpacket nindex >= nmx_len_debugger_pcket) ParseDebuggerComandPacket(); while((debuggerstatus & ORDER_STTUS)); Je možné modifikovat obsah registrù a vnitøní nebo vnìjší pamì RM Ve smyèce monitor setrvá až do pøijetí pøíkazu Go nebo Go_to_Break, kterým se stavová promìnná StatusBreak pøestaví 28 VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR

Reset Restart aplikace bývá pøi ladìní požadován velmi èasto Je možné provést buï hardwarový reset generovaný doplòujícím obvodem pøipojeným na sériovou linku hostitelského poèítaèe (viz kapitolu Doplòky) Pøíkazu $R se realizuje softwarový reset #if ENBLE_SWRESET if(debuggerpacket Data[1] == 'R') asm ( "ldi r30, 0x00\n" "ldi r31, 0x00\n" "ijmp\n" ); Softwarový reset neprovede nastavení systémových registrù a registrù periferií do výchozí hodnoty Modifikaci obsahu pamìti SRM mikroprocesoru Pøíkazem <$W adresa, data > se modifikuje obsah registrù nebo pamìti SRM mikroprocesoru Parametr adresa urèuje místo v pamìti SRM nebo registr, data požadovaný obsah Pokud se provádí modifikace obsahu registrù, provádí se nad obsahem buï promìnné ContextDebuggerRegister[0], jedná-li se o registr r31, nebo nad zásobníkem monitoru DebuggerStack, jedná-li se o obsah ostatních registrù Pøi modifikaci pamìti SRM je tøeba brát zøetel na systémové promìnné monitoru a v nadøízeném systému pøijmout taková opatøení aby tyto obsahy nebylo možné pøepsat Plný bìh programu do zvoleného místa v programu Pøi ladìní aplikace lze nalézt urèitá klíèová místa, kde je tøeba ovìøit obsah promìnných, pøièemž je žádoucí aby až do jejich dosažení bìžel program plnou VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR 29

rychlostí V monitoru je tento požadavek realizován prostøednictvím makra User- Break Makro vkládá do aplikaèního programu na požadované místo programátor aplikace Makro je definováno v souboru debugger h a je závislé na typu zvoleného pøerušení, které je jeho zpracování pøiøazeno #if(int0_interrupt_pending INT1_INTERRUPT_PENDING COMP_INTERRUPT_PENDING) #define UserBreak DebuggerStatus = DebuggerStatus USERBREK_STTUS; cbi(portd, PD4); while(debuggerstatus & USERBREK_STTUS); #else #define UserBreak DebuggerStatus = DebuggerStatus USERBREK_STTUS; while(debuggerstatus & USERBREK_STTUS); Makro pøedstavuje smyèku, ve které program setrvá až do pøerušení Pokud se zvolí zpracování v rámci vnìjšího pøerušení, musí být toto pøerušení v makru aktivováno To provádí instrukce cbi(portd, PD4) Výstup 4 portu D je zvolen jako generátor vnìjšího pøerušení Výstup se pøivede na vstup zvoleného vnìjšího pøerušení podle obr 4 1 Obr 4 1 Nulováním tohoto výstupu se generuje požadavek pøerušení Další zpracování je již známé, v rámci pøerušení po uložení kontextu a registrù se volá obslužná funkce ServiceInterruptPending Ta informuje nadøízený systém o dosažení bodu 30 VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR

UserBreak odesláním paketu $U Vnìjší pøerušení mùže být generováno i jiným signálem, tak aby byla ladìná aplikace co nejménì omezena Uživatel musí pøíslušným zpùsobem upravit zdrojové soubory Lze také zvolit zpracování v rámci pøerušení od èasovaèe 0, v tomto pøípadì setrvává aplikace ve smyèce makra až do pøeteèení èasovaèe Poté je generováno pøerušení V uvedeném pøíkladì Hello, World se makro UserBreak vkládá na zaèátku programu aplikace Toto použití umožòuje po restartu mikroprocesoru zastavit bìh programu na zaèátku bìhu aplikace a zkontrolovat veškeré inicializaèní hodnoty Z praktického hlediska je vhodné používat makro UserBreak s podmínìným pøekladem Krokování programu po instrukcích Krokování programu po instrukcích využívá vlastnosti mikroprocesoru po návratu z pøerušení provést alespoò jednu instrukci v základní úrovni pøed dalším pøerušením Znamená to tedy, že po každé vykonané instrukci pøechází aplikaèní program do obsluhy pøerušení a spouští funkci ServiceInterruptPending Do režimu krokování se monitor uvede nejprve zastavením bìhu aplikace pøíkazem $P následovaným pøíkazem $S Tím se status monitoru nastaví do režimu STEP_STTUS a uvolní pozastavovací smyèku a pøed návratem z obsluhy pøerušení nastaví buï zdroj vnìjšího pøerušení nebo pøerušení od èasovaèe if(debuggerstatus & (STEP_STTUS GOTOBREK_STTUS)) #if T0_INTERRUPT_PENDING #if(port_compiler == GCC_VR) outp(0xfe, TCNT0); #if (INT0_INTERRUPT_PENDING INT1_INTERRUPT_PENDING) #if(port_compiler == GCC_VR) cbi(portd, PD4); Interval èasovaèe nastavuje tak, aby již po instrukci reti bylo pøerušení od èasovaèe aktivováno Po instrukci reti se provede jedna instrukce v základní úrovni programu a opìt se pøejde do pozastavovacího režimu Pouze tehdy, je-li VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR 31

po provedení instrukce reti aktivováno jiné pøerušení s vyšší prioritou, provede se celá obslužná funkce tohoto pøerušení a po jejím ukonèení se opìt aktivuje monitor Kontinuální krokování programu až do stanoveného místa Pøi ladìní je tøeba mít možnost zadat libovolné místo v pamìti programu na kterém se vykonávání aplikace pozastaví a aktivuje se èinnost monitoru Lze nastavit až ètyøi místa zastavení v programové pamìti Nastavení všech ètyø bodù zastavení se provádí jediným pøíkazem $B<br1><br2><br3><br4>, kde br1 br4 obsahují adresu bodu zastavení Pokud nemá být nìkterý bod zastavení aktivní, musí být jeho obsah nulový Body zastavení ukládá monitor do promìnné Break- Point Pøíkazem $C se všechny body zastavení ruší Pøíkazem $I se monitor uvede do stavu GOTOBREK_STTUS V tomto režimu mikroprocesor krokuje po jedné instrukci až do doby, kdy se shoduje obsah èítaèe programu s nìkterou položkou ze seznamu BreakPoint #if ENBLE_BREKPOINT if(debuggerstatus == GOTOBREK_STTUS) #if FOUR_BREKPOINT if (PCBrk PCBreak == BreakPoint[0] PCBrk PCBreak == BreakPoint[1] PCBrk PCBreak == BreakPoint[2] PCBrk PCBreak == BreakPoint[3]) #else if (PCBrk PCBreak == BreakPoint[0]) ServiceScanSramProcessor((unsigned char *)0x00, (unsigned int)srm_size, 'R'); DebuggerStatus = ORDER_STTUS; Pøi shodì se informuje hostitelský poèítaè odesláním paketu $R Z dùvodu úspory kódu je možné volit testování na všechny ètyøi body zastavení, nebo pouze na jeden 32 VLDIMÍR ŠUBRT: MIKROKONTROLÉRY TMEL VR