Uživatelská příručka

Hardwarové emulátory MU Alpha, MU Beta
a vývojové prostředí ARTEMIS

Verze 1.20, 2002-08-07
Aktuálně podporované typy PIC


OBSAH

Rychlý start

1.  Úvod
1.1 Použité označení

2.  Instalace
2.1 Instalace software
2.2 Instalace hardware
2.3 Poznámky k instalaci

3.  Zahájení práce s programem ARTEMIS
3.1 První spuštění programu ARTEMIS
3.2 Projekty
3.3 Parametry příkazového řádku
3.4 Různé způsoby spouštění programu ARTEMIS
3.5 Činnost programu po startu

4.  Hlavní obrazovky
4.1 Společné prvky hlavních obrazovek
4.2 Hlavní obrazovka č. 1: Source Level Debug
4.3 Hlavní obrazovka č. 2: Special Function Registers, Data RAM + Chip View
4.4 Hlavní obrazovka č. 3: View Source + Watch
4.5 Hlavní obrazovka č. 4: Přehled vybraných registrů
4.6 Ovládání společné pro všechny hlavní obrazovky

5.  Menu
5.1 Menu File
5.2 Menu Project
5.3 Menu Edit
5.4 Menu View
5.5 Menu Run
5.6 Menu Debug
5.7 Menu Tools
5.8 Menu Options
5.9 Menu Help

6.  Dodatky
6.1 Přehled klávesových zkratek pro hlavní obrazovky
6.2 Základní informace o assembleru MPASM™
6.3 Základní informace o editoru FED
6.4 Tipy a náměty
6.5 Omezení aktuální verze programu
6.6 Seznam aktuálně podporovaných mikrokontrolérů PIC


Rychlý start

(určeno pro velice netrpělivé uživatele)

Poznámky:
(1) V adresářích (složkách), kde je nainstalován software ARTEMIS a v pracovních adresářích jednotlivých projektů musíte mít právo zápisu na pevný disk. Nelze tedy pracovat např. na CD-ROM, nastavení by nešla uložit a program by hlásil chybu.
(2) Software vyžaduje od počítače správně nastavené datum a čas (pro zjištění aktuálnosti zdrojových souborů .ASM vzhledem k ladícímu souboru .COD).


Nejzákladnější ovládání:

<↑>, <↓> pohyb kurzoru ve zdrojovém kódu
<Esc> otevře menu, v něm se lze pohybovat pomocí kurzorových kláves, <Enter> zvolenou položku potvrdí, <Esc> menu zavře, <F1> vypíše nápovědu k příslušné zvolené položce
<←>, <→> přepínání mezi hlavními obrazovkami: (1) zhuštěný zdrojový kód, (2) přehled speciálních registrů a datové paměti, (3) výpis zdrojového kódu a sledování registrů

Nejběžnější povely (provedou se volbou příslušné položky v menu):

Run » Single step provede jeden krok
Run » Run spustí běh aplikace v reálném čase
Run » Halt zastaví běh aplikace
Run » Reset provede reset
File » 0 otevře hlavní zdrojový soubor aplikace
Tools » Assemble přeloží zdrojové soubory
File » Quit opustí ovládací program emulátoru

1. Úvod

Hardwarový emulátor je (nepočítáme-li bystrý mozek) nejdokonalejší prostředek pro vývoj aplikací s mikroprocesory a jednočipovými mikrokontroléry. Je jistě možné vyvinout a odladit aplikaci i bez emulátoru, ale jeho použití přináší tolik výhod, že ten, kdo už práci s tímto zařízením vyzkoušel, se bez něho obejde jen velice nerad.

Hlavní předností emulátoru je podstatné zkrácení doby vývoje aplikace a zcela zásadní zvýšení komfortu práce vývojáře. I začátečník je schopen prakticky okamžitě využít toho, že do aplikace "vidí" a může ji účinně ovlivňovat (zastavovat, spouštět, krokovat, zjišťovat a měnit obsah registrů, ...). Pokročilejší uživatel pak rád využije velké množství dalších užitečných funkcí, které emulátor nabízí.

Program ARTEMIS slouží k řízení funkcí emulátoru pomocí počítače a k interakci uživatele s hardware emulátoru. Je to v podstatě program typu debugger (odlaďovací program jako např. Turbo Debugger firmy Borland), a jako takový je schopen samostatné funkce. Je však koncipován tak, aby ve spojení se dvěma dalšími externími programy (překladač neboli assembler a editor zdrojového textu), vytvořil tzv. integrované vývojové prostředí (IDE), které významným způsobem napomáhá komfortu práce s emulátorem a značně zvyšuje její produktivitu. Jako překladač je použit program MPASM.EXE (viz odst. 6.2), který firma Microchip dává volně k dispozici. Jako externí editor lze použít prakticky jakýkoli textový (ASCII) editor jako např. EDIT.COM nebo NOTEPAD.EXE, které jsou součástí operačních systémů. Mnohem lépe však tuto funkci zastane editor FED (viz odst. 6.3), který je součástí instalace. Ideálním řešením je pak použití kteréhokoli z vynikajících editorů TSE firmy SemWare (www.semware.com), které je možné zakoupit zvlášť.

1.1 Použité označení

2. Instalace

Před instalací emulátoru zkontrolujte, zda Váš počítač vyhovuje následujícím požadavkům:

2.1 Instalace software

Po instalaci budou v instalačním adresáři následující soubory:

ARTEMIS.EXE ovládací program pro emulátor
ARTEMIS.INI soubor s globálními nastaveními emulátoru
ARTEMIS.DAT pomocný soubor programu ARTEMIS
*.HWX pomocný soubor emulátoru
CWSDPMI.EXE server 32-bitového rozšíření pro DOS (pro Windows není zapotřebí a lze jej smazat)
FED.EXE editor FED
FED.CFG konfigurační soubor pro editor FED
FED.SYN soubor s nastavením barevného rozlišení syntaxe pro editor FED
MPASM.EXE překladač (assembler) firmy Microchip
T*.ASM výchozí zdrojové kódy pro tvorbu aplikací, obsahují podrobně komentované základní definice (včetně určení typu součástky), inicializace registrů apod.
P*.INC definiční soubory pro některé komplexnější mikrokontroléry
EXAMPLEA.* soubory s demonstračním projektem pro MU Alpha
EXAMPLEB.* soubory s demonstračním projektem pro MU Beta

Používáte-li Windows NT/2K/XP, zjistěte si nyní bázovou adresu použitého paralelního portu a nainstalujte ovladač pro přístup k I/O portům - např. UserPort.

2.2 Instalace hardware

Komunikační kabel, napájecí adaptér a emulační koncovky jsou součástí dodávky emulátoru. Standardní dodávka MU Alpha obsahuje emulační koncovku pro 18-pinové typy (PIC16F84/84A, PIC16C54/56, PIC16C71x, PIC16F627/628, ...). Je-li pro MU Alpha objednáno rozšíření na typy PIC12C5xx, je k dodávce přidána i koncovka HA5xx podporující 8-pinové součástky. MU Beta obsahuje 18-pinovou i 8-pinovou koncovku standardně.

Koncovky podporují součástky v pouzdrech typu DIP, redukce z DIP na SOIC lze dokoupit zvlášť. Každá koncovka obsahuje kromě emulační patice i dva háčky označené TriggerIn a TriggerOut, jejich funkce je popsána dále.

2.3 Poznámky k instalaci

3. Zahájení práce s programem ARTEMIS

3.1 První spuštění programu ARTEMIS

Je-li software i hardware nainstalován a emulátor je zapnutý, spusťte program ARTEMIS.EXE. Nyní je třeba program informovat, s jakým hardware bude pracovat a který paralelní port má pro komunikaci s emulátorem použít.

V menu Project » Open (klávesy <P> a <O>) vyberte projekt EXAMPLEA, pokud používate MU Alpha resp. projekt EXAMPLEB, používáte-li MU Beta.

Stiskem klávesy <O> aktivujte menu Option, následujícím stiskem klávesy <G> vyberte položku Global. Otevře se okno GLOBAL OPTIONS, v němž bude zvýrazněna položka Select Equipment for New Project v sekci Primary Equipment. Opakovaným tisknutím klávesy <Space> (mezerník) nastavte hodnotu na MU Alpha resp. MU Beta podle toho, který z emulátorů používáte. Toto nastavení pak bude nabízeno jako výchozí při tvorbě nového projektu.

Pomocí kláves <↓> resp. <↑> můžete vybírat položku. Přesuňte kurzor do sekce MU Alpha resp. MU Beta a zvolte položku Communication Port Setup. Opakovaným tisknutím klávesy <Space> lze přepínat nastavení portu. Po instalaci je nastavena výchozí hodnota DEMO Mode - v tomto režimu program nepřistupuje k žádnému portu a nekomunikuje tedy s hardware emulátoru. Následují volby LPT1 až LPT4 a speciální volba LPTx, která umožňuje zadat libovolnou adresu paralelního portu v počítači.

Uživatelé pracující v systémech DOS nebo Windows 3.x/95/98/ME, mohou přímo vybrat příslušný port LPT1-4. Software najde paralelní porty registrované BIOSem nebo operačním systémem počítače. Není-li takový port dostupný, objeví se v řádku Physical LPT Base Address zpráva "0x0000 - NO HARDWARE ACCESS!", jinak příslušná bázová adresa (např.obvykle 378h pro LPT1 a 278h pro LPT2).

Uživatelé pracující v systémech Windows NT/2K/XP, musí vybrat volbu LPTx a zadat příslušnou bázovou adresu ručně. Postupuje se tak, že se klávesou <↓> přesune kurzor o řádek níž na položku Physical LPT Base Address a pomocí <Space> se otevře dialog ve spodní části nastavovacího okna, zadá se hexadecimální hodnota a potvrdí se klávesou <Enter>. Současně musí mít nainstalován a nastaven i ovladač UserPort (viz odst. 2.1).

Zvolte tedy paralelní port, k němuž je emulátor připojen a potvrďte stiskem <Enter>. Program nastavení zapíše a informuje stručně o provedených změnách. Pak stiskněte libovolnou klávesu, a vrátíte se do hlavní obrazovky.

Aby se nastavení mohlo projevit, je třeba emulátor restartovat. Provede se to postupným stiskem kláves <T> (menu Tools) a <I> (položka Initialize system). Hardware emulátoru bude inicializován, kromě již trvale svítící zelené LED POWER krátce bliknou i ostatní LED a pak zůstane svítit červená LED HALT.

Můžete začít pracovat s emulátorem, např. krokovat program klávesou <F7>, rozběhnout jej klávesou <F9>, zastavit klávesou <F5> a zresetovat klávesou <F6>. V tomto okamžiku lze i program ukončit, např. stisknutím klávesy <Q>. Veškerá nastavení se automaticky uloží a při dalším startu programu budou k dispozici.

3.2 Projekty

Informace potřebné pro vyvíjenou aplikaci se ukládají do tzv. projektů. Jejich použití umožňuje pracovat současně na více projektech tím, že zabezpečuje uložení nastavení rozpracované úlohy při přerušení práce.

Každý projekt musí mít svůj název, jedinečný pro DANÝ PRACOVNÍ ADRESÁŘ. V různých pracovních adresářích tedy mohou být projekty téhož jména. Požadavky na název jsou stejné, jako na jméno souboru pro DOS (bez extenze), tj.:

Každý projekt obsahuje dva povinné soubory:

<název>.ASM
základní zdrojový soubor vyvíjené aplikace. Kromě něj mohou existovat i další zdrojové soubory vložené pomocí direktivy #include (typicky jsou to soubory *.ASM a *.INC), třeba i sdílené různými projekty a umístěné v různých adresářích kdekoli na počítači. Základní zdrojový soubor je ale výchozí.
<název>.MPR
tento soubor je vytvářen a modifikován programem ARTEMIS. Obsahuje všechna nastavení emulátoru a ovládacího programu, která jsou pro práci s danou aplikací zvolena uživatelem. Ukládá se vždy při opuštění aplikace nebo při přepnutí na jiný projekt.

Je-li program ARTEMIS spuštěn v pracovním adresáři a neexistuje-li některý z těchto souborů (eventuálně ani jeden z nich), jsou v rámci tvorby nového projektu vytvořeny. Blíže viz popis vytváření nového projektu v popisu menu Project (odst. 5.2).

Po překladu aplikace assemblerem MPASM.EXE (je součástí instalace, spouští se automaticky v případě potřeby nebo na povel uživatele) se vytvoří další soubory:

<název>.ERR
seznam chyb překladu. Rozeznáváme tři úrovně:
ERROR - závažná chyba, aplikaci nelze přeložit
WARNING - upozornění, něco může (ale nemusí) být v nepořádku
MESSAGE - zpráva
<název>.LST
listing, tj. komplexní výpis s informacemi o překladu
<název>.XRF
cross reference, tj. křížové odkazy na symboly použité ve zdrojovém textu (vytváří se na požadavek uživatele přidáním parametru /x+ v příkazové řádce assembleru v menu Options » Miscellaneous » MPASM Command Line Options)
<název>.COD
Soubor s důležitými informacemi pro ladění aplikace. Program z něj bere údaje o zdrojových souborech, jménech symbolů, přiřazení jednotlivých řádků zdrojového kódu příslušným adresám v paměti programu, atd.
<název>.HEX
hexadecimální obsah paměti programu, popř. datové paměti EEPROM a pojistky (konfigurační slovo). Program ARTEMIS ho přímo nevyužívá, ale slouží k naprogramování součástky v programátoru.

3.3 Parametry příkazového řádku

Program ARTEMIS.EXE rozeznává následující parametry příkazového řádku:

/DEMO
Program bude pracovat v demonstračním režimu, tj. nebude přistupovat k žádnému paralelnímu portu počítače (i když je nějaký port zvolen v menu Options » Global).
[cesta]<jméno_projektu>[.MPR]
Spustí EXISTUJÍCÍ projekt v AKTUÁLNÍM adresáři. Jméno projektu může být doplněno i plnou cestou (např. "C:\PROJEKTY\HODINY\") a extenzí (např. ".MPR"), ale tyto dodatečné údaje jsou ignorovány - slouží pouze k zajištění kompatibility se souborovými manažery, které většinou tyto údaje poskytují v této podobě.

Nejsou-li zadány žádné parametry, je spuštěn projekt, se kterým se v AKTUÁLNÍM adresáři naposled pracovalo.

Nejsou-li v aktuálním adresáři dosud žádné projekty, je napřed uživatel programem veden k vytvoření nového projektu.

3.4 Různé způsoby spouštění programu ARTEMIS

Existuje řada způsobů - více či méně efektivních, jakými se dají spouštět počítačové programy. Program ARTEMIS podporuje všechny běžné postupy.

Ačkoli je možné pracovat i v instalačním adresáři, je lépe zvolit si jiný, tzv. PRACOVNÍ adresář, odlišný od adresáře instalačního.

Spuštění programu z dávkového souboru v pracovním adresáři
V pracovním adresáři vytvoříme dávkový soubor (batch), který ovládací program spustí, např. soubor A.BAT, který obsahuje

  C:\ASIX\ARTEMIS\ARTEMIS %1 %2

Spustí-li se dávka bez parametrů, otevře se projekt, se kterým se v daném pracovním adresáři naposled pracovalo, zadá-li se k dávce jméno existujícího projektu, otevře se zvolený projekt.

Místo parametrů lze v dávkovém souboru zadat přímo i jméno projektu, takže dávka pak bude spouštět konkrétní projekt a ne projekt naposled otevřený.

Výhoda: Rychlé, snadné a flexibilní spuštění programu z pracovního adresáře. Možnost spouštění konkrétního projektu i v případě, že v daném pracovním adresáři je více projektů současně.
Nevýhoda: V pracovním adresáři je jeden nebo více souborů navíc.

Spuštění programu z dávkového souboru v adresáři obsaženém v PATH
Pokud v souboru AUTOEXEC.BAT máme v PATH nastavenou cestu na adresář, který obsahuje odkudkoli dostupné dávkové soubory (např. PATH=...;C:\BAT;...), můžeme soubor A.BAT (viz výše) umístit tam.

Výhoda: V pracovním adresáři není nutný další soubor.
Nevýhoda: Uživatelé již často netuší, jak jim dávkové soubory mohou usnadnit práci s PC, takže něco jako C:\BAT definováno nemají.

Spuštění programu z příkazového řádku (ARTEMIS.EXE není v PATH)
Zadáme plné jméno programu (včetně kompletní cesty), tj. např. C:\ASIX\ARTEMIS\ARTEMIS (koncové .EXE není třeba psát). Tento způsob sice nevyžaduje žádné další "speciální" znalosti jako vytváření dávkových souborů, nebo úpravy AUTOEXEC.BAT, ale pro opakované používání je mimořádně nepraktický. (Podobné neefektivní využívání možností příkazového řádku vede mnoho uživatelů počítačů k mylnému dojmu, že práce s příkazovým řádkem je složitá a nepohodlná.)

Spuštění programu z příkazového řádku (ARTEMIS.EXE je v PATH)
Zadáme-li do PATH v AUTOEXEC.BAT cestu k ovládacímu programu (např. PATH=...;C:\ASIX\ARTEMIS;...), můžeme spustit program přímo z příkazového řádku v pracovním adresáři, tj. zadáním příkazu ARTEMIS. Tímto způsobem lze program snadno spustit z libovolného pracovního adresáře, cesta ale musí být uvedena v AUTOEXEC.BAT.

Přímé spuštění programu ARTEMIS z Windows Průzkumníka nebo jiného file manageru (ZTreeWin, Windows Commander, apod.)
Tento způsob NENÍ příliš vhodný - při takovém spuštění je jako pracovní adresář použit adresář instalační. Pak jsou soubory návrhového systému emulátoru ve stejném adresáři jako uživatelské soubory, což je velmi nepřehledné a nepraktické. (Poznámka pro zkušené uživatele: je to jako kdybychom smíchali C:\WINDOWS\SYSTEM a C:\DOKUMENTY dohromady.)

Spuštění programu prostřednictvím asociovaného souboru MPR z Windows Průzkumníka nebo jiného file manageru (ZTreeWin, Windows Commander, apod.)
Windows umožňuje tzv. asociaci - přiřazení souborů s určitou příponou vybrané aplikaci. Ta se provádí často automaticky při instalaci software - většinou i bez dotazu, zda si uživatel tuto operaci provést přeje. U programu ARTEMIS si tuto asociaci provede uživatel sám, např. v Průzkumníku v menu Zobrazit » Možnosti v kartě Typy souborů.

Spuštění programu z plochy Windows pomocí zástupce
Na pracovní ploše Windows lze vytvořit zástupce (kliknutím pravým tlačítkem myši na volnou plochu a spuštěním menu Nový objekt » zástupce). Jako příkazový řádek nastavit plnou cestu k programu ARTEMIS (popř. i se jménem konkrétního projektu) a zadat příslušný pracovní adresář. Lze též nastavit ikonu (je součástí instalace) a řadu různých dalších užitečných parametrů (okno / celá obrazovka, písmo, paměť, ...). Tyto parametry si Windows zapamatuje a při dalších spuštěních je používá, není je tedy třeba vždy znovu nastavovat.

Upozornění: Neexistuje-li zadaný pracovní adresář, hlásí Windows chybu, ale chce-li uživatel, program je i tak spuštěn. Windows ovšem NEVYTVOŘÍ zadaný pracovní adresář, ale místo toho použije již existující - většinou nevhodný - jako C:\ nebo C:\WINDOWS (zvoleno v souboru C:\MSDOS.SYS, existuje-li). Je tedy nutné nový pracovní adresář napřed vytvořit jiným způsobem - buď z příkazového řádku pomoci příkazu MD (Make Directory) nebo pomocí souborového manažeru.
 
DOPORUČENÍ: Pro spouštění programu doporučujeme použití dávkových souborů z příkazového řádku. Mezi poměrně vhodné způsoby patří i spouštění pomocí zástupce.

3.5 Činnost programu po startu

Pokud během popsaného startu programu byl zjištěn nějaký problém, je uživatel vyzván, aby stisknul libovolnou klávesu (a předtím si z výpisu mohl zjistit, jaký problém nastal). Následuje přechod do jedné z hlavních obrazovek.

4. Hlavní obrazovky

Hlavní obrazovky slouží k zobrazení nejdůležitějších údajů potřebných pro ladění aplikace.

4.1 Společné prvky hlavních obrazovek

Některé prvky jsou společné více hlavním obrazovkám. Jsou zobrazeny na začátku odstavců 4.2, 4.3 a 4.4

Menu

První řádek obsahuje tzv. Menu (nabídku) s položkami File, Project, Edit, View, Run, Debug, Tools, Options a Help. Podrobný popis je v kapitole 5.

Typ ladícího zařízení

Vpravo od menu je zobrazen krátký název zařízení, se kterým se v daném projektu pracuje (Alpha, Beta).

Stav emulátoru

Na pravé straně prvního řádku je indikován aktuální stav emulátoru:

HALT provádění aplikace emulátorem je zastaveno
RUNNING aplikace běží v reálném čase
RESET je aktivní reset (např. signál -MCLR je v log. 0 a reset emulátoru tímto signálem je povolen)
BREAK byla aktivována podmínka pro zastavení - tzv. break (např. aplikace dosáhla uživatelem nastavené adresy v paměti programu)
SLEEPING emulovaný mikrokontrolér vykonal instrukci SLEEP a dosud nenastala podmínka pro "probuzení"

Stav systému

Modré pole v levé dolní části obrazovky.

Vapp stav napájecího napětí aplikace
0 = vypnuto, 1 = zapnuto (vyšší než asi 2 V)
V menu Options » Emulator lze nastavit, zda vypnutí aplikačního napájení bude mít za následek reset emulovaného mikrokontroléru.
-MClr stav pinu -MCLR (externí reset mikrokontroléru, aktivní v log. 0)
0 = reset aktivní, 1 = reset neaktivní (negativní logika!)
V menu Options » Emulator lze nastavit, zda stav pinu -MCLR bude brán v úvahu nebo ignorován.
TrgIn přímý (tj. neinvertovaný) stav na pomocném vstupu Trigger In
RstFlg Reset Flag: příznak informující o objevení resetu. Do log. 1 je nastaven hardwarem emulátoru, nulován je uživatelem v menu Tools » Clear Reset flag.
TrOfl Trace Overflow Flag: příznak informující o přetečení trasovací paměti. Nastavován do log. 1 je hardwarem emulátoru, nulován je uživatelem v menu Tools » Clear Trace overflow flag.
BrOut Brown-out Status: detekce, zda napájecí napětí aplikace je vyšší než asi 4 V (log.1) nebo nižší (log.0). U mikrokontrolérů, kde tato funkce není implementována (např. PIC16F84A, PIC12C508A/509A) se tato položka nezobrazuje.

Stopky

Hnědé pole ve střední a pravé dolní části obrazovky. Emulátor má implementován hardwarový čítač cyklů - tzv. "stopky" (Stopwatch) o délce 32 bitů, což odpovídá hodnotě 4 294 967 295 (2^32-1). Instrukce mohou být jednocyklové nebo dvoucyklové; počítání je aktivní jak při běhu v reálném čase, tak i při krokování aplikace. Čítač se nuluje buď na povel uživatele v menu Tools » Clear Stopwatch (popř. klávesou <S>) nebo hardwarově podle nastavení v menu Options » Emulator.

Stav čítače cyklů je zobrazován dvěma způsoby - jako počet instrukčních cyklů parametrem Cycle a jako uplynulý čas v mikrosekundách parametrem Time. Na rozdíl od počtu instrukčních cyklů, závisí čas na hodinovém kmitočtu mikrokontroléru. Přesnou hodnotu času lze tedy očekávat pouze v případě použití interního frekvenčního syntezátoru jako zdroje taktování.

Stav hardwarového čítače je reprezentován hodnotami Time1 a Cycle1. Dojde-li k přetečení čítače cyklů, objeví se za parametrem Cycle1 hlášení OFL!.

Pro další zvýšení uživatelského komfortu je softwarově implementován i druhý - rozdílový čítač. Jeho stav udávají hodnoty Time2 a Cycle2, lze jej nulovat pomocí klávesové zkratky <Shift+S>.

Zprávy a interakce s uživatelem

Spodní dva řádky jsou vyhrazeny pro krátké zprávy, které program hlásí uživateli, popř. pro zadávání některých údajů uživatelem (např. změna hodnoty registru).

4.2 Hlavní obrazovka č. 1: Source Level Debug

Main Screen #1

Obsahuje zhuštěný výpis zdrojového kódu. Každé adrese v paměti programu emulovaného mikrokontroléru odpovídá právě jeden řádek na hlavní obrazovce č. 1. Pokud pro danou adresu příslušný zdrojový text existuje, je zobrazen. V opačném případě je odlišnou barvou zobrazen disassemblovaný obsah příslušného místa paměti programu a za ním následuje zpráva "No source code reference." - většinou jde o případ, kdy příslušná pozice v paměti programu není využita, nebo u některých pseudoinstrukcí a maker. Není-li v paměti programu příslušná pozice použita, zobrazí se odlišnou barvou opět disassemblovaný obsah a zpráva "Unused program memory location.".

Výpisu zdrojového kódu předchází ještě informace o tom, zda je na dané pozici umístěn break (označení písmenem "B") a je-li požadováno trasování dané instrukce (označení písmenem "T").

Aktuální pozice v paměti programu je zobrazena pomocí dvou kurzorů. První z nich - hlavní - je znázorněn pomocí zelené barvy pozadí. Informuje o stavu programového čítače emulované součástky. Druhý - pomocný - se světle modrým pozadím, je za běhu aplikace a při krokování překryt hlavním kurzorem a je viditelný pouze v zastaveném stavu (HALT), pokud jej uživatel umístí mimo pozici hlavního kurzoru. Pomocný kurzor se používá např. pro funkci Goto Cursor.

Všechny popsané prvky jsou viditelné na obrázku.

Klávesové povely pro posun pomocného kurzoru:

<↑> posun uživatelského kurzoru o 1 řádek nahoru
<↓> posun uživatelského kurzoru o 1 řádek dolů
<Alt+↑> posun uživatelského kurzoru o 4 řádky nahoru
<Alt+↓> posun uživatelského kurzoru o 4 řádky dolů
<Ctrl+↑> posun uživatelského kurzoru o 8 řádků nahoru
<Ctrl+↓> posun uživatelského kurzoru o 8 řádků dolů
<PageUp> posun uživatelského kurzoru o 16 řádků nahoru
<PageDown> posun uživatelského kurzoru o 16 řádků dolů
<Alt+PageUp> posun uživatelského kurzoru o 32 řádků nahoru
<Alt+PageDown> posun uživatelského kurzoru o 32 řádků dolů
<Ctrl+PageUp> posun uživatelského kurzoru o 64 řádků nahoru
<Ctrl+PageDown> posun uživatelského kurzoru o 64 řádků dolů
<Ctrl+Home> posun uživatelského kurzoru na první řádek (odpovídá stavu: programový čítač = 0)
<Ctrl+End> posun uživatelského kurzoru na poslední řádek (odpovídá stavu: programový čítač = maximální hodnota pro zvolený typ součástky)
<Home> návrat uživatelského kurzoru na pozici aktuálního programového čítače
<End> návrat uživatelského kurzoru na pozici aktuálního programového čítače

Pod výpisem zdrojového kódu je řádek s označením "File:", na němž je uvedeno jméno souboru obsahujícího příslušný řádek zdrojového kódu. U souborů, které jsou umístěny v pracovním adresáři, je zobrazeno pouze jméno (např. HODINY.ASM), u souborů mimo pracovní adresář je vypsána celá cesta (např. D:\MPLAB\P16F84A.INC).

Další řádek obsahuje tyto informace:

Line číslo řádku v příslušném zdrojovém souboru (jméno viz výše)
EmuPC stav programového čítače emulované součástky (hexadecimálně), tj. pozice hlavního kurzoru
UsrPC pozice pomocného kurzoru (hexadecimálně)
Disassembler disassemblovaná podoba obsahu programové paměti, na kterou ukazuje kurzor (pomocný, pokud je zobrazen, jinak hlavní). Disassembler ukazuje všechny proměnné v jejich fyzické reprezentaci (pomocí čísel, nikoli symbolicky). Výjimku tvoří pouze pojmenované speciální funkční registry a jejich pojmenované bity (např. TMR0, STATUS, ZERO, CARRY, ...)

Hlavní obrazovka č. 1 obsahuje dále společné prvky popsané výše - menu, stav emulátoru a systému, stopky a oblast pro zprávy a interakci s uživatelem.

Na hlavní obrazovku č. 1 se přejde z ostatních hlavních obrazovek stisknutím klávesy <1>.

4.3 Hlavní obrazovka č. 2:
       Special Function Registers, Data RAM + Chip View

V oblasti Special Function Registers obsahuje podrobný přehled stavu speciálních funkčních registrů (SFR). Není-li dále uvedeno jinak, je u registrů výpis hexadecimální, u jednotlivých bitů binární.

Typy PIC16F84 a PIC16F84A

Main Screen #2: PIC16F84A

Sloupec vlevo obsahuje:

W pomocný registr W (tento registr není mapován do datové paměti mikrokontroléru)
Tmr0 8-bitový real-time clock/counter
Option OPTION_REG
Presc PRESCALER: předdělič k TMR0 resp. WDT (Watchdog Timer) (tento registr není mapován do datové paměti mikrokontroléru)
PC programový čítač - 10 bitů (do datové paměti mikrokontroléru je mapováno pouze dolních 8 bitů)
FSR File Select Register: hodnota vlevo zobrazuje obsah FSR, vpravo je obsah buňky, která je registrem FSR nepřímo adresována
PCLatH PC Latch High
EEData datový registr interní paměti EEPROM
EEAdr adresový registr interní paměti EEPROM

Další tři sloupce obsahují informace o jednotlivých bitech registrů STATUS, INTCON a EECON1.

Následuje výpis zásobníku (STACK). Jednotlivé úrovně jsou označeny čísly 1 až 8, na následující volnou pozici (STACK POINTER) ukazuje bílá šipka. Vypsány jsou symbolické názvy volaných procedur (pokud existují), jinak obsah stacku hexadecimálně. Využité úrovně stacku jsou zvýrazněny (bílé písmo). Stack ani stack pointer nejsou mapovány do datové paměti mikrokontroléru.

Vpravo je výpis registru OPTION. Jednotlivé bity a skupiny bitů jsou zobrazeny pro větší názornost nikoli číselně, ale textově.

Do skupiny SFR ještě patří výpis registrů příslušných k pinům mikrokontroléru:

PortA stav na pinech portu A
LtchA stav výstupního latche na portu A (registr není přímo mapován do datové paměti mikrokontroléru)
TrisA stav registru TRIS příslušejícímu portu A

Obdobně pro PortB, LtchB a TrisB. HoldB obsahuje stav zachycený při posledním čtení portu B, který se používá pro generování přerušení od změny stavu RB4..7.

Pro větší názornost je stav registrů PortA/B a TrisA/B (a dalších signálů) znázorněn v pravé části obrazovky graficky - jako pohled na součástku shora. Stav na pinech RA* a RB* je znázorněn binárně (0 resp. 1), stav registrů TrisA/B, které určují nastavení charakteru pinu (TRIS=0: výstup, TRIS=1: vstup) je znázorněn pomocí šipek, které ukazují směrem od součástky pro výstup a směrem k součástce pro vstup. Dále je zobrazován stav pinu -MCLR (externí reset) a signalizována přítomnost aplikačního napájecího napětí (ON=zapnuto, off=vypnuto).

Sekce Data Memory obsahuje hexadecimální výpis všech registrů mikrokontroléru v plném rozsahu.

Typy PIC12C5xx

Main Screen #2: PIC12C5xx

Sloupec vlevo obsahuje:

W pomocný registr W (tento registr není mapován do datové paměti mikrokontroléru)
Tmr0 8-bitový real-time clock/counter
Option OPTION_REG
Presc PRESCALER: předdělič k TMR0 resp. WDT (Watchdog Timer) (tento registr není mapován do datové paměti mikrokontroléru)
PC programový čítač - 9/10 bitů (do datové paměti mikrokontroléru je mapováno pouze dolních 8 bitů)
Status Stavový registr
FSR File Select Register: hodnota vlevo zobrazuje obsah FSR, vpravo je obsah buňky, která je registrem FSR nepřímo adresována
OscCal kalibrační registr pro interní RC oscilátor (u MU Alpha a MU Beta jeho hodnota neovlivňuje taktovací frekvenci oscilátoru)

Další sloupec obsahuje informace o jednotlivých bitech registru STATUS.

Následuje výpis zásobníku (STACK). Jednotlivé úrovně jsou označeny čísly 1 a 2, na následující volnou pozici (STACK POINTER) ukazuje bílá šipka. Vypsány jsou symbolické názvy volaných procedur (pokud existují), jinak obsah stacku hexadecimálně. Využité úrovně stacku jsou zvýrazněny (bílé písmo). Stack ani stack pointer nejsou mapovány do datové paměti mikrokontroléru.

Vpravo je výpis registru OPTION. Jednotlivé bity a skupiny bitů jsou zobrazeny pro větší názornost nikoli číselně, ale textově.

Do skupiny SFR ještě patří výpis registrů příslušných k pinům mikrokontroléru:

PORT stav na pinech portu GPIO
LATCH stav výstupního latche na portu GPIO (registr není přímo mapován do datové paměti mikrokontroléru)
TRIS stav registru TRIS příslušejícímu portu GPIO

Pro větší názornost je stav registrů PORT a TRIS (a dalších signálů) znázorněn v pravé části obrazovky graficky - jako pohled na součástku shora. Stav na pinech GPIO* je znázorněn binárně (0 resp. 1), stav registru TRIS, který určuje nastavení charakteru pinu (TRIS=0: výstup, TRIS=1: vstup) je znázorněn pomocí šipek, které ukazují směrem od součástky pro výstup a směrem k součástce pro vstup. Dále je zobrazován stav pinu -MCLR (externí reset) a signalizována přítomnost aplikačního napájecího napětí (ON=zapnuto, off=vypnuto).

Poznámka: Význam některých pinů závisí na nastavení součástky, proto jsou na zobrazení přiřazována pinům jména, která odpovídají jejich aktuální funkci:

Sekce Data Memory obsahuje hexadecimální výpis všech registrů mikrokontroléru v plném rozsahu. U typů s pamětí EEPROM (PIC12C518 a PIC12C519) je zobrazen i aktuální obsah této paměti.

Typy PIC16C5x

Main Screen #2: PIC16C5x

Sloupec vlevo obsahuje:

W pomocný registr W (tento registr není mapován do datové paměti mikrokontroléru)
Tmr0 8-bitový real-time clock/counter
Option OPTION_REG
Presc PRESCALER: předdělič k TMR0 resp. WDT (Watchdog Timer) (tento registr není mapován do datové paměti mikrokontroléru)
PC programový čítač - 9/10 bitů (do datové paměti mikrokontroléru je mapováno pouze dolních 8 bitů)
Status Stavový registr
FSR File Select Register: hodnota vlevo zobrazuje obsah FSR, vpravo je obsah buňky, která je registrem FSR nepřímo adresována

Další sloupec obsahuje informace o jednotlivých bitech registru STATUS.

Následuje výpis zásobníku (STACK). Jednotlivé úrovně jsou označeny čísly 1 a 2, na následující volnou pozici (STACK POINTER) ukazuje bílá šipka. Vypsány jsou symbolické názvy volaných procedur (pokud existují), jinak obsah stacku hexadecimálně. Využité úrovně stacku jsou zvýrazněny (bílé písmo). Stack ani stack pointer nejsou mapovány do datové paměti mikrokontroléru.

Vpravo je výpis registru OPTION. Jednotlivé bity a skupiny bitů jsou zobrazeny pro větší názornost nikoli číselně, ale textově.

Do skupiny SFR ještě patří výpis registrů příslušných k pinům mikrokontroléru:

PortA stav na pinech portu A
LtchA stav výstupního latche na portu A (registr není přímo mapován do datové paměti mikrokontroléru)
TrisA stav registru TRIS příslušejícímu portu A

Obdobně pro PortB, LtchB a TrisB.

Pro větší názornost je stav registrů PortA/B a TrisA/B (a dalších signálů) znázorněn v pravé části obrazovky graficky - jako pohled na součástku shora. Stav na pinech RA* a RB* je znázorněn binárně (0 resp. 1), stav registrů TrisA/B, které určují nastavení charakteru pinu (TRIS=0: výstup, TRIS=1: vstup) je znázorněn pomocí šipek, které ukazují směrem od součástky pro výstup a směrem k součástce pro vstup. Dále je zobrazován stav pinu -MCLR (externí reset), externího hodinového vstupu T0CKI a signalizována přítomnost aplikačního napájecího napětí (ON=zapnuto, off=vypnuto).

Sekce Data Memory obsahuje hexadecimální výpis všech registrů mikrokontroléru v plném rozsahu.

Typy PIC16C710 a PIC16C711

Main Screen #2: PIC16C71x

Sloupec vlevo obsahuje:

W pomocný registr W (tento registr není mapován do datové paměti mikrokontroléru)
Tmr0 8-bitový real-time clock/counter
Option OPTION_REG
Presc PRESCALER: předdělič k TMR0 resp. WDT (Watchdog Timer) (tento registr není mapován do datové paměti mikrokontroléru)
PC programový čítač - 9/10 bitů (do datové paměti mikrokontroléru je mapováno pouze dolních 8 bitů)
FSR File Select Register: hodnota vlevo zobrazuje obsah FSR, vpravo je obsah buňky, která je registrem FSR nepřímo adresována
PCLatH PC Latch High
PConBOR stav bitu BOR (Brown-out reset flag) registru PCON
PConPOR stav bitu POR (Power-on reset flag) registru PCON

Další dva sloupce obsahují informace o jednotlivých bitech registrů STATUS a INTCON.

Ve sloupci s nadpisem A/D Conv jsou informace o stavu registru souvisejicich s A/D převodníkem: bity ADOn, ADIF, Go/Done, výběr kanálu ChSel, zdroj hodinového signálu pro převodník ADCS, konfigurace pinů souvisejících s převodníkem PCfg a konečně výsledek převodu ADRes.

Následuje výpis zásobníku (STACK). Jednotlivé úrovně jsou označeny čísly 1 až 8, na následující volnou pozici (STACK POINTER) ukazuje bílá šipka. Vypsány jsou symbolické názvy volaných procedur (pokud existují), jinak obsah stacku hexadecimálně. Využité úrovně stacku jsou zvýrazněny (bílé písmo). Stack ani stack pointer nejsou mapovány do datové paměti mikrokontroléru.

Vpravo je výpis registru OPTION. Jednotlivé bity a skupiny bitů jsou zobrazeny pro větší názornost nikoli číselně, ale textově.

Do skupiny SFR ještě patří výpis registrů příslušných k pinům mikrokontroléru:

PortA stav na pinech portu A
LtchA stav výstupního latche na portu A (registr není přímo mapován do datové paměti mikrokontroléru)
TrisA stav registru TRIS příslušejícímu portu A

Obdobně pro PortB, LtchB a TrisB. HoldB obsahuje stav zachycený při posledním čtení portu B, který se používá pro generování přerušení od změny stavu RB4..7.

Pro větší názornost je stav registrů PortA/B a TrisA/B (a dalších signálů) znázorněn v pravé části obrazovky graficky - jako pohled na součástku shora. Stav na pinech RA* a RB* je znázorněn binárně (0 resp. 1), stav registrů TrisA/B, které určují nastavení charakteru pinu (TRIS=0: výstup, TRIS=1: vstup) je znázorněn pomocí šipek, které ukazují směrem od součástky pro výstup a směrem k součástce pro vstup. Dále je zobrazován stav pinu -MCLR (externí reset) a signalizována přítomnost aplikačního napájecího napětí (ON=zapnuto, off=vypnuto). Je-li některý pin používán v analogovém režimu, je jeho jméno změněno (např. místo RA0 je pojmenován AN0) a je znázorněn odlišnou barvou. Aktivní vstupní kanál A/D převodníku je znázorněn červenou barvou.

Sekce Data Memory obsahuje hexadecimální výpis všech registrů mikrokontroléru v plném rozsahu.

Ostatní typy s 18 piny

Do této skupiny patří např. typy PIC16F627/628, PIC16C715, PIC16C554/558, PIC16C62xA, které mají na rozdíl od předešlých typů větší oblast vyhrazenou pro speciální funkční registry (SFR). Datová RAM začíná v každé paměťové bance od adresy 20h. Na rozdíl od předešlých typů, kdy byl kompletní obsah datové paměti zobrazen najednou, jsou odděleny speciální funkční registry a výpis datové paměti. Pro zobrazení SFR je třeba stisknout klávesu <↑>, pro zobrazení výpisu datové paměti klávesu <↓>.

Speciální funkční registry

Main Screen #2: PIC16F628

V levé části obrazovky je oblast označená jako SFR Group #n, kde n je číslo od 0 do 9. Stiskem kláves <PageUp> a <PageDown> lze vybírat z deseti variant výpisu SFR.

SFR Group #0 zobrazuje komprimovaný výpis SFR.
SFR Group #1 zobrazuje detailně TMR1, TMR2 a EEPROM.
SFR Group #2 zobrazuje detailně A/D převodníku, napěťové reference a analogového komparátoru.
SFR Group #3 zobrazuje detailně USART.
SFR Group #4 - 9 nejsou využity.

Ve spodní části jsou zobrazeny bity POR, BOD a OSCF registru PCON.

Vpravo od oblasti SFR Group jsou zobrazeny další registry podobně jako u výše uvedených typů s tím rozdílem, že je zde navíc sekce s registry PIR1 a PIE1 a všeobecná sekce má nadpis General.

Podobně je tomu s grafickým zobrazením stavu pinů obvodu. I zde jsou některé piny přejmenovávány v závislosti na jejich aktuální funkci (např. OSC1/RA7 podle nastavení typu oscilátoru).

Výpis datové paměti

Main Screen #2: Data Memory

Sekce Data Memory obsahuje hexadecimální výpis všech registrů mikrokontroléru v plném rozsahu. U typů, které obsahují kromě banky 0 a 1 i banky 2 a 3 (PIC16F627/628) lze přepínat mezi oblastmi 0-FFh a 100h-1FFh pomocí kláves <PageUp> a <PageDown>

Vpravo je oblast Special zobrazující stav registru W, plný stav čítače programu, číslo banky nastavené v registru STATUS, stránku v paměti programu, stav bitů Carry a Zero registru STATUS a hodnota ukazatele zásobníku (Stack Pointer). Pole Usr0 - Usr5 nejsou využita.

Prvky hlavní obrazovky č. 2 společné pro všechny typy

Sekce Data Memory obsahuje hexadecimální výpis všech registrů mikrokontroléru v plném rozsahu.

Sekce Current source line obsahuje řádek zdrojového kódu, odpovídající aktuálnímu stavu programového čítače a disassemblovaný výpis příslušné pozice v paměti programu.

Hlavní obrazovka č. 2 obsahuje dále společné prvky popsané výše - menu, stav emulátoru a systému, stopky a oblast pro zprávy a interakci s uživatelem.

Na hlavní obrazovku č. 2 se přejde z ostatních hlavních obrazovek stisknutím klávesy <2>.

4.4 Hlavní obrazovka č. 3: View Source + Watch

Obsahuje v přehledné formě nejpotřebnější informace pro ladění aplikace:

Main Screen #3

Výpis zdrojového kódu

Pod standardním menu je modrý řádek s názvem aktuálního zobrazeného souboru (např. View file: EXAMPLE.ASM), v jeho pravé části je parametr Line informující o aktuálním číslu řádku zobrazeného souboru.

Pod ním následuje desetiřádkový výpis zdrojového textu. Jako v hlavní obrazovce č. 1 jsou i zde dva kurzory: hlavní (hnědá barva), který informuje o stavu programového čítače emulovaného mikrokontroléru a vedlejší (tmavošedá barva), s nímž se dá pohybovat uživatelsky. Při změně stavu programového čítače mikrokontroléru se vedlejší kurzor automaticky synchronizuje s hlavním, nalezne tedy využití pouze v zastaveném stavu (HALT).

Oba kurzory se pohybují po řádcích, které odpovídají některé instrukci v paměti programu. Pokud program nebo uživatel přesune kurzor do oblasti programové paměti, která nemá odpovídající reprezentaci ve zdrojovém kódu (jako např. rozvinutá makra nebo nepoužité pozice), je zobrazena informace:

Warning: No source line available for this location. See disassembler below:

Pod ní následuje disassemblovaný kód.

K této oblasti patří ještě další dva prvky:
(1) modré pole vlevo uprostřed s informací o pozici hlavního kurzoru, tj. aktuální pozici programového čítače (CurPC) a pozici pomocného uživatelského kurzoru (UsrPC) a
(2) modré pole vpravo uprostřed obsahující disassemblovanou podobu instrukce na pozici pomocného (resp. hlavního) kurzoru.

Klávesové povely pro posun pomocného kurzoru v hlavní obrazovce č. 3

<↑> změna pozice v programové paměti o -1
<↓> změna pozice v programové paměti o +1
<Alt+↑> změna pozice v programové paměti o -4
<Alt+↓> změna pozice v programové paměti o +4
<Ctrl+↑> změna pozice v programové paměti o -8
<Ctrl+↓> změna pozice v programové paměti o +8
<PageUp> změna pozice v programové paměti o -16
<PageDown> změna pozice v programové paměti o +16
<Alt+PageUp> změna pozice v programové paměti o -32
<Alt+PageDown> změna pozice v programové paměti o +32
<Ctrl+PageUp> změna pozice v programové paměti o -64
<Ctrl+PageDown> změna pozice v programové paměti o +64
<Ctrl+Home> přesun na pozici odpovídající nulové hodnotě programového čítače
<Ctrl+End> přesun na pozici odpovídající maximální hodnotě programového čítače pro daný typ součástky
<Home> návrat uživatelského kurzoru na pozici aktuálního programového čítače
<End> návrat uživatelského kurzoru na pozici aktuálního programového čítače

Watch - sledování a modifikace vybraných registrů

Je to mimořádně užitečný prvek, který slouží pro přehledné zobrazení hodnot uživatelsky zvolených registrů, a to včetně skrytých a speciálních - jako např. registr W nebo obsah buňky paměti EEPROM (podrobněji v odstavci Přístup ke skrytým registrům a EEPROM).

Oblast je umístěna ve spodní polovině obrazovky. Najednou může být zobrazeno až 24 hodnot. Oblast Watch je opatřena nadpisem Watch group #N, kde N je číslo vybrané skupiny od 0 do 9. Podkladová barva je zelená, vybraná pozice je zvýrazněna žlutě. V rámci dané oblasti lze pole pro jednotlivé sledované registry umísťovat libovolně. Lze též volit způsob zobrazení - buď binární nebo kombinovaný (hexadecimální, decimální a znakový).

Po dané oblasti se pohybuje pomocí kurzorových kláves při stisknuté klávese <Shift>, aby se odlišily požadavky na pohyb v oblasti zdrojového kódu a v oblasti Watch. Výběr jedné z deseti dostupných skupin se provádí pomocí <Shift+PageUp> a <Shift+PageDown>. Vybraná skupina, jakož i pozice v každé ze skupin se ukládají do projektového souboru a neztrácejí se při ukončení programu.

Další činnosti se provádějí především pomocí kláves <Ins>, <Alt+Ins> a <Del>. Je nutné zdůraznit, že funkce klávesy <Ins> záleží na kontextu - je-li aktivní nevyužitá položka, zahajuje se zde definice nového watche, je-li již watch definován, přechází se přímo k editaci jeho hodnoty. Tímto způsobem lze s objekty watch pracovat velice rychle a efektivně.

Klávesové povely pro práci v oblasti Watch:

<Shift+↑>, <Shift+↓>,
<Shift+←>, <Shift+→>
pohyb kurzoru v oblasti Watch
<Shift+PageUp> přepnutí do předchozí skupiny (-1)
<Shift+PageDown> přepnutí do následující skupiny (+1)
<Ins> není li watch definován, přidání nového watche,
je-li definován, editace hodnoty
<Alt+Ins> není-li watch definován, přídání nového watche,
je-li definován, modifikace parametrů watche (jméno, typ, adresa)
<Del> odstranění watche na aktuální pozici (s potvrzením)
 

Přidání a modifikace watche

Watch Edit

Po stisku klávesy <Ins> nebo <Alt+Ins> se otevře dialogové okno Add/Modify Watch, které slouží k zadání, resp. úpravě parametrů watche:

Dialog Add/Modify Watch se dá opustit pomocí <Esc> - ignorování zadání a pomocí <Enter> - potvrzení zadaných parametrů.

Hlavní obrazovka č. 3 obsahuje dále společné prvky popsané výše - menu, stav emulátoru a systému, stopky a oblast pro zprávy a interakci s uživatelem.

Na hlavní obrazovku č. 3 se přejde z ostatních hlavních obrazovek stisknutím klávesy <3>.

4.5 Hlavní obrazovka č. 4: Přehled vybraných registrů

Obsahuje seznam registrů, které byly ve zdrojovém kódu uživatelem vybrány pro zobrazení pomocí direktivy SET použité místo obvyklé EQU (např. Citac SET 0x12). U každého registru je jeho hexadecimální adresa v datové paměti, symbolické jméno o délce max. 12 znaků a jeho hexadecimální a dekadická hodnota.

Pokud není ve zdrojovém textu direktiva SET použita, je okno prázdné a zobrazí se hlášení: "Warning: No symbols selected to be displayed on the MainScreen #4. You can add these symbols by using SET directive instead of EQU in source file."

Hlavní obrazovka č. 4 obsahuje ještě oblast pro zprávy a interakci s uživatelem. Ostatní prvky jsou potlačeny.

Poznámka: Hlavní obrazovka č. 4 měla v dřívějších verzích programu číslo "3". Při přechodu mezi hlavními obrazovkami pomocí <←> a <→> se již nezobrazuje, pokud není její zobrazování povoleno v menu Options » Miscellaneous.

Na hlavní obrazovku č. 4 se přejde z ostatních hlavních obrazovek stisknutím klávesy <4>.

4.6 Ovládání společné pro všechny hlavní obrazovky

<1> přepnutí do hlavní obrazovky č. 1
<2> přepnutí do hlavní obrazovky č. 2
<3> přepnutí do hlavní obrazovky č. 3
<4> přepnutí do hlavní obrazovky č. 4
<→> cyklické přepínání mezi hlavními obrazovkami ve vzestupném pořadí, tj.:
1»2»3»1»2 ...
<←> cyklické přepínání mezi hlavními obrazovkami v sestupném pořadí, tj.:
1»3»2»1»3 » ...

5. Menu

Menu File

Slouží k rychlému a přehlednému ovládání programu a emulátoru. Je k dispozici v kterékoli z hlavních obrazovek (v obrazovce č. 4 však kvůli úspoře místa není zobrazeno). Jednotlivé položky se dají otevřít stiskem klávesy odpovídající zvýrazněnému znaku v názvu (např. <F> u "File"), resp. současným stiskem klávesy Alt a příslušného znaku (tj. např. <Alt+F>). Použití klávesy Alt je sice v tomto případě nadbytečné (má význam pouze u textových editorů), ale řada uživatelů jiných programů je zvyklá na to, že se položky menu volí právě takto. Menu lze dále aktivovat i stiskem klávesy <Esc> (Escape), resp. <M>. V tomto případě se zvolí vždy položka, která byla vybrána při posledním otevření menu. Opětovný stisk <Esc> menu uzavře a vrátí program do hlavní obrazovky aniž by se vykonal jakýkoli příkaz. Je-li menu aktivní, dá se v něm pohybovat pomocí kurzorových kláves (<←>, <→>, <↑> a <↓>) a vybraný příkaz zvolit buď pomocí <Enter> nebo stisknutím zvýrazněného znaku (červenou barvou).

Shrnutí:

<F>, <Alt+F> otevře menu File
<P>, <Alt+P> otevře menu Project
<E>, <Alt+E> otevře menu Edit
<V>, <Alt+V> otevře menu View
<R>, <Alt+R> otevře menu Run
<D>, <Alt+D> otevře menu Debug
<T>, <Alt+T> otevře menu Tools
<O>, <Alt+O> otevře menu Options
<H>, <Alt+H> otevře menu Help
<M> otevře naposledy vybranou položku menu
<Esc> otevře naposledy vybranou položku menu / zavře menu
<←>, <→>, <↑>, <↓> pohyb v menu
<Enter> potvrzení vybrané položky. Následuje provedení zvolené akce.

5.1 Menu File

Nabídka File (Soubor) se používá především pro práci se zdrojovými a pomocnými soubory aktuálního projektu.

File » Open...

Spustí se externí editor bez parametru. V editoru FED se otevře výběrový seznam, s jehož pomocí si uživatel může zvolit libovolný soubor k editaci.

Klávesová zkratka: <Ctrl+O>

File » Open All project files

Spustí se externí editor a otevřou se v něm všechny zdrojové soubory, které patří k aktuálnímu projektu, listing (jméno_projektu.LST), seznam chybových hlášení (jméno_projektu.ERR) a cross reference (jméno_projektu.XRF).

Klávesová zkratka: <F3>

File » Open all Source files

Spustí se externí editor a otevřou se v něm všechny zdrojové soubory, které patří k aktuálnímu projektu.

Klávesová zkratka: <Alt+L>

File » Open Cross reference file

Spustí se externí editor a otevře se v něm soubor obsahující křížové odkazy (jméno_projektu.XRF).

File » Open Error file

Spustí se externí editor a otevře se v něm seznam chybových hlášení (jméno_projektu.ERR).

File » Open Listing

Spustí se externí editor a otevře se v něm listing (jméno_projektu.LST).

File » Quit

Uloží se nastavení aktuálního projektu a program se ukončí. (Emulátor ale pokračuje v práci až do vypnutí napájení.)

Klávesové zkratky:

<Q> pro odborníky
<Alt+X> obvyklá u software od firmy Borland
<Alt+Q>, <Ctrl+Q> různé často používané varianty příkazu Quit
<Alt+F4> uživatelé Windows jsou zvyklí na tuto nevhodnou kombinaci, ať jim slouží ke zdraví

File » 0 ... 7

Spustí se externí editor a otevře se v něm příslušný soubor. Volba <0> otevře hlavní zdrojový soubor projektu, <1> až <7> jsou použity pro další soubory vložené pomocí direktivy #include do hlavního zdrojového souboru.

Tip: Stiskem klávesy <F12> nebo <Ctrl+E> se v externím editoru otevře soubor odpovídající pozici pomocného, resp. hlavního kurzoru na hlavní obrazovce. Pokud je použit editor FED nebo některý z doporučených editorů TSE firmy SemWare, je navíc kurzor editoru umístěn na odpovídající řádek. Je to rychlá metoda, jak změnit zdrojový kód na příslušné pozici nebo v jejím bezprostředním okolí. Aby byla tato funkce ještě účinnější, ověří program po návratu z externího editoru, zda příslušný soubor byl změněn (používá se přitom srovnání času posledního zápisu do souboru před otevřením externího editoru a po jeho opuštění). Pokud byl soubor během editace uložen, automaticky se spustí překladač (assembler) a nově přeložený kód se načte do programu i emulátoru. Viz též Tip u sekce View » 0 ... 7.

5.2 Menu Project

Nabídka Project (Projekt) se používá pro práci s projekty (podrobné informace o jejich významu a struktuře viz odst. 3.2 - Projekty).

Tip: Informaci o jménu aktuálního projektu a aktuálním pracovním adresáři získáme pomocí příkazu Tools » Info nebo rychleji stiskem klávesy <I> v kterékoli z hlavních obrazovek.

Project »New

Vytvoření nového projektu. Probíhá v následujících krocích:


1. Výběr zařízení

New Project: Select Equipment

Zvolte zařízení, se kterým budete v novém projektu pracovat, např. MU Beta. V menu Options » Global si v položce Primary Equipment můžete nastavit toto zařízení jako výchozí, při tvorbě nového projektu se pak bude nabízet jako první. Pro výběr položky v seznamu se používají klávesy <↑> a <↓>, výběr se potvrzuje klávesu <Enter> a proces tvorby nového projektu se ukončuje klávesou <Esc>. Toto ovládání je shodné i pro následující okna.


2. Volba způsobu tvorby nového projektu

New Project: Select how to create

Lze si vybrat ze dvou způsobů:

(1) Použití předdefinovaného souboru (Create new project: use the predefined template file) - v tomto případě se k vytvoření nového projektu použijí předdefinované soubory T*.ASM (např. T12C508A.ASM), které jsou součástí instalace prostředí ARTEMIS a které obsahují výchozí zdrojový kód pro tvorbu aplikací, včetně podrobně komentovaných základních definic, inicializací apod. Jsou vytvořeny tak, aby byly okamžitě bez dalších úprav přeložitelné bez chyb. Následuje krok 3. - výběr součástky.

(2) Použití již existujícího zdrojového souboru (Create new project: use the existing .ASM source file) - v tomto případě se k vytvoření nového projektu použije již existující zdrojový soubor *.ASM. Následuje krok 5. - výběr hlavního zdrojového souboru.


3. Výběr součástky

New Project: Select Device type

Uživatel si zvolí požadovaný typ součástky ze seznamu, v němž jsou kromě označení typu uvedeny i informace o tom,který typ je zařízením podporován a informace o aktuálním stavu implementace daného typu.


4. Zadání jména nového projektu

New Project: Edit New Project Name

Do editačního pole zadejte jméno nového projektu o délce maximálně 8 znaků a stiskneme klávesu <Enter>. Podrobné požadavky na platné jméno souboru viz odst. 3.2. Nový projekt se nevytvoří, pokud je zadané jméno neplatné, nebo pokud projekt zadaného jména již existuje.

Následuje krok 6. - potvrzení.


5. Výběr hlavního zdrojového souboru

New Project: Select Main Source File

Ve výběrovém poli zvolte hlavní zdrojový soubor pro nový projekt v daném pracovním adresáři (ten je zobrazen v řádku umístěném v horní části okna). Je-li vybraný zdrojový soubor určen pro typ mikrokontroléru, který emulátor nepodporuje, je generováno příslušné chybové hlášení a program ARTEMIS je ukončen. K tomu může dojít i tehdy, když zdrojový soubor obsahuje volbu zastaralého typu (viz výše, např. PIC16C54 místo PIC16C54C), popř. definici procesoru vůbec neobsahuje. V takovém případě je nutné ve zdrojovém souboru definici typu upravit, eventuálně přidat. Provede se to v direktivě list pomocí parametru p=typ_součástky, např. p=16C56A (viz též vzorové soubory T*.ASM).


6. Potvrzení zadaných parametrů nového projektu

New Project: Confirmation

Jsou zobrazeny vybrané parametry pro nový projekt. Chcete-li je potvrdit a nový projekt vytvořit, stiskněte klávesu <Y> (zkratka pro YES) nebo <Enter>, chcete-li proces ukončit, stiskněte buď klávesu <N> (zkráceně NO) nebo <Esc>.

Následuje automatické spuštění překladače (assembleru), který zdrojový text přeloží a současně vytvoří i všechny další pomocné soubory potřebné pro ladění aplikace. Pokud při překladu dojde k chybě, je uživatel vyzván, aby chyby opravil. K tomu účelu se v externím editoru otevřou všechny zdrojové a pomocné soubory příslušné aktuálnímu projektu.

Poznámka 1.: Starší (a také dražší a pomalejší) typ PIC16F84 není při tvorbě nového projektu podporován. Podobně nejsou podporovány ani zastaralé typy PIC12C508, PIC12C509, PIC16C54, PIC16C54A, PIC16C54B a PIC16C56. Místo nich používejte nové, kompatibilní součástky uvedené výše. Pro zjednodušení však v této příručce uvádíme jména součástek pod jejich tradičními jmény (jako např. PIC16C54) nebo ve zkrácené podobě označující skupinu typů (např. PIC16C5x pro PIC16C54C a PIC16C56A).

Poznámka 2.: Podpora PIC16F84/84A je součástí standardní dodávky MU Alpha. Pro emulaci typů PIC12C5xx musí být zakoupena zvláštní licence (XA12C5xx - rozšíření o PIC12C5xx), podobně pro typy PIC16C5x (XA16C5x - rozšíření o PIC16C5x). Používání emulátoru MU Alpha pro tyto typy je bez zmíněné licence nelegální!

Project » Open

Open Project

Otevření existujícího projektu. Zobrazí se seznam všech projektů v aktuálním adresáři. Ovládání:

<Esc> zavře výběrové okno, jiný projekt se neotvírá
<←>, <→>, <↑>, <↓> pohyb ve výběrovém okně
<Enter> potvrzení vybrané položky. Následuje uložení dosavadního projektu a načtení projektu vybraného.

5.3 Menu Edit

Nabídka Edit (Úpravy) umožňuje uživateli měnit hodnoty registrů a dalších paměťových oblastí emulované součástky a ovládacího programu.

Edit » Break memory

Edit Break Request Memory

Otevře okno znázorňující požadavky na break v paměti programu. Znak '-' znamená, že break není požadován, '*' znamená, že break požadován je. Změny, které během editace uživatel provede, se projeví až po potvrzení klávesou <Enter>.

Zadávání požadavku na breaky ve zdrojovém kódu jej popsáno v odstavci Tipy a náměty (odst. 6.4).

Význam popisů v poli "Current location parameters":

Address hodnota adresy, která odpovídá aktuální pozici kurzoru v tomto okně (hexadecimálně)
Value aktuální hodnota
Break hodnota v původní paměti požadavků na breaky
Trace příslušná hodnota v paměti požadavků na trasování
Block begin adresa začátku bloku (hexadecimálně)
Block end adresa konce bloku (hexadecimálně)
Label název návěští odpovídajícího příslušné pozici (existuje-li)
Disassembler disassemblovaná instrukce odpovídající aktuální pozici

Ovládání:

<Esc> zavře okno, provedené změny se ignorují
<Enter> potvrzení, provedené změny se uloží do emulátoru
<←>, <→>, <↑>, <↓> posun kurzoru
<Ctrl+←>, <Ctrl+→> posun kurzoru o 8 pozic vlevo / vpravo
<Ctrl+↑>, <Ctrl+↓> posun kurzoru o 4 řádky nahoru / dolů
<Home> kurzor na pozici 0
<End> kurzor na pozici nejvyšší adresy
<PageUp> kurzor na nejvyšší pozici aktuálního sloupce
<PageDown> kurzor na nejnižší pozici aktuálního sloupce
<0> deaktivace breaku na aktuální pozici
<1> aktivace breaku na aktuální pozici
<B> Block Begin: označení začátku bloku
<E> Block End: označení konce bloku
<H> Block Hide: skrytí definovaného bloku
<F> Block Fill: naplnění bloku jedničkami
<C> Block Clear: naplnění bloku nulami
<Ctrl+Ins> naplnění celé paměti jedničkami
<Ctrl+Del> naplnění celé paměti nulami
 
Tip: Rychlé zadání nebo zrušení breaku - viz odstavec Debug » Toggle current address Break (odst. 5.6).

Edit » Code memory

Zobrazí hexadecimální výpis obsahu paměti programu, zatím bez možnosti editace. Vpravo od tohoto výpisu je znak, který odpovídá ASCII hodnotě spodních osmi bitů instrukčního slova.

Edit » Data byte

Ve spodní části aktivní hlavní obrazovky otevře dialog s uživatelem, v němž je požadováno zadání hexadecimální nebo binární hodnoty registru, popř. zadání hexadecimální hodnoty adresy registru. Adresu registru si program pamatuje, takže se vždy nejprve nabídne adresa posledně zvoleného registru. Výchozí hodnota odpovídá hodnotě registru v okamžiku aktivace menu.

Ovládání:

<Esc> zavře dialog, provedené změny se ignorují
<Enter> potvrzení, provedená změna se zapíše do emulátoru
<↑> přesun kurzoru na začátek pole adresy
<↓> přesun kurzoru na začátek pole binární hodnoty
<←>, <→> posun kurzoru (s přetečením)
<0>...<F> zadání hodnoty na příslušné pozici kurzoru

Edit » EEPROM memory

Zobrazí editovatelný hexadecimální výpis obsahu interní paměti EEPROM. Vpravo od tohoto výpisu je znak, který odpovídá příslušné ASCII hodnotě. Pro součástky, které paměť EEPROM neobsahují, je zobrazeno chybové hlášení:
The selected device does not have an EEPROM memory.

Ovládání:

<Esc> zavře okno, provedené změny se ignorují
<Enter> potvrzení, provedené změny se uloží do emulátoru
<←>, <→>, <↑>, <↓> posun kurzoru
<Ctrl+←>, <Ctrl+→> posun kurzoru o 4 byte
<Home> kurzor na pozici 0
<End> kurzor na pozici odpovídající maximální hodnotě pro vybraný typ součástky
<PageUp> kurzor na nejvyšší pozici aktuálního sloupce
<PageDown> kurzor na nejnižší pozici aktuálního sloupce
<0>...<F> zadání hodnoty na příslušné pozici kurzoru

Edit » Prescaler

Ve spodní části aktivní hlavní obrazovky otevře dialog s uživatelem, v němž je požadováno zadání hexadecimální registru PRESCALER. Požadovaná hodnota se potvrdí klávesou <Enter>. Stisknutím <Enter> bez zadání hodnoty se akce zruší a registr PRESCALER zůstane beze změny. V této verzi programu prozatím nelze zrušit zadávání pomocí klávesy <Esc>.

Edit » Registers

Chování tohoto příkazu záleží na kontextu. Je-li aktivní hlavní obrazovka č. 4, zobrazí se seznam registrů zvolených uživatelem ve zdrojovém kódu pomocí direktivy SET. Po potvzení výběru následuje dialog popsaný v sekci Edit » Data byte. Nejprve se vždy nabídne adresa posledně zvoleného registru.

V ostatních případech se zobrazí seznam watchů zvolené skupiny. Je-li kurzor nad definovaným watchem, nabídne se k editaci nejprve tento watch. Je-li kurzor nad nedefinovanou pozicí, je nabídnuta první položka v seznamu v pořadí shora dolů, zleva doprava. Pokud je aktuální skupina watchů prázdná, je zobrazeno hlášení:
Edit Registers Warning: No watch defined in Watch group #N,
kde N je číslo zvolené skupiny.

Ovládání:

<Esc> zavře okno, akce zrušena
<Enter> potvrzení, registr vybrán k editaci
<←>, <→>, <↑>, <↓> posun kurzoru

Edit » Stack & Stack Pointer

Prozatím pouze zobrazuje hexadecimální hodnoty všech osmi úrovní stacku a stav stack pointeru.

Edit » Trace enable memory

Otevře okno znázorňující požadavky na trasování instrukcí, které je prakticky totožné s oknem příkazu Edit » Break Memory. Znak '-' znamená, že trasování není požadováno, '*' znamená, že trasování požadováno je. Paměť emulátoru, která odpovídá požadavkům na trasování, se pro účel této editace zkopíruje do pomocné paměti, takže změny, které během editace uživatel provede, se projeví až po potvrzení klávesou <Enter>.

Zadávání požadavku na breaky ve zdrojovém kódu jej popsáno v odstavci Tipy a náměty (odst. 6.4).

Význam popisů v poli "Current location parameters":

Address hodnota adresy, která odpovídá aktuální pozici kurzoru v tomto okně (hexadecimálně)
Value aktuální hodnota
Break příslušná hodnota v paměti požadavků na breaky
Trace příslušná hodnota v původní paměti požadavků na trasování
Block begin adresa začátku bloku (hexadecimálně)
Block end adresa konce bloku (hexadecimálně)
Label název návěští odpovídajícího příslušné pozici (existuje-li)
Disassembler disassemblovaná instrukce odpovídající aktuální pozici

Ovládání je totožné s Edit » Break memory.

Tip: Rychlé zadání nebo zrušení pořadavku na trasování - viz odstavec Debug » Toggle current address Trace (odst. 5.6).

Edit » W register

Ve spodní části aktivní hlavní obrazovky otevře dialog s uživatelem, v němž je požadováno zadání hexadecimální registru W. Požadovaná hodnota se potvrdí klávesou <Enter>. Stisknutím <Enter> bez zadání hodnoty se akce zruší a registr W zůstane beze změny. V této verzi programu prozatím nelze zrušit zadávání pomocí klávesy <Esc>.

5.4 Menu View

Nabídka View (Zobrazit, Prohlížet) umožňuje uživateli zobrazovat obsah trasovací paměti a zdrojových souborů.

View » Trace memory

View Trace Memory

Zobrazí stav trasovací paměti. Je to speciální paměť emulátoru, která na základě požadavků uživatele zaznamenává výsledky činnosti jednotlivých instrukcí aplikace, a to jak za běhu aplikace v reálném čase, tak i při krokování. (Požadavky na trasování: viz Edit » Trace enable memory).

Okno trasovací paměti obsahuje údaje v označených sloupcích:

Cycle hodnota stopek (čítače instrukčních cyklů) na začátku prováděné instrukce. Dojde-li k přetečení, je před číslem znak '*' (hvězdička).
I vstupní hodnota ALU (na začátku instrukce) - hexadecimálně
O výstupní hodnota ALU - výsledek operace (hexadecimálně), je-li např. hodnota v předchozím sloupci I rovna 03 a provádí-li se instrukce INCF, pak po jejím provedení je výsledek 04
B číslo banky v datové paměti (u PIC16F84(A) je to stav bitu STATUS,RP0, u PIC12C5xx a PIC16C5x je to, pokud je více bank v datové paměti k dispozici, stav bitů FSR,5 a popř. i FSR,6)
T stav pomocného vstupního signálu TriggerIn
C informace o kontinuitě trasování: pokud byla trasována i předchozí instrukce (rozumí se časová posloupnost), pak je pokračování označeno znakem "||", přerušení trasování (např. resetem nebo na základě uživatelského požadavku) je označeno pomocí znaku "=".
PC hexadecimální hodnota programového čítače
Source code příslušný řádek zdrojového kódu, pokud existuje, jinak disassemblovaná instrukce odpovídající příslušnému stavu programového čítače s doplňující informací o tom, že zdrojový kód není k dispozici ("no src code ref").

Ovládání:

<↑>, <↓> posun kurzoru o jeden řádek nahoru / dolů
<PageUp>, <PageDown> posun kurzoru o jednu stránku nahoru / dolů
<Home>, <End> posun kurzoru za začátek / konec trasovací paměti

Klávesové zkratky: <K>, <Ctrl+C>

View » 0 ... 7

Volba <0> zobrazí hlavní zdrojový soubor projektu, <1> až <7> jsou použity pro další soubory vložené pomocí direktivy #include do hlavního zdrojového souboru. Odpovídá-li stav pomocného, resp. hlavního kurzoru na hlavní obrazovce některému řádku zvoleného souboru, je tento řádek zvýrazněn zelenou barvou pozadí.

Ovládání:

<Esc>, <Enter>, <Space> návrat do hlavní obrazovky
<↑>, <↓> posun kurzoru o jeden řádek nahoru / dolů
<PageUp>, <PageDown> posun kurzoru o jednu stránku nahoru / dolů
Tip: Stiskem klávesy <F11> nebo <Ctrl+V> se zobrazí soubor a příslušný řádek odpovídající pozici pomocného, resp. hlavního kurzoru na hlavní obrazovce. Je to rychlá metoda zobrazení okolí příslušného řádku (např. pro přečtení komentářů vysvětlujících, co uživatel příslušnou instrukcí zamýšlel). Viz též Tip u sekce File » 0 ... 7.

5.5 Menu Run

Nabídka Run (Běh, Spuštění) obsahuje povely pro řízení vykonávání instrukcí mikrokontroléru emulátorem.

Run » Run

Spustí běh programu v reálném čase.

Klávesové zkratky: <F9>, <X>, <Ctrl+R>, <.>, <,>

Run » Go from reset

Provede reset emulátoru a spustí běh programu v realném čase.

Klávesové zkratky: <G>, <Ctrl+G>

Run » Halt

Zastaví běžící program.

Klávesové zkratky: <F5>, <Space>, <0>, <Ctrl+H>

Run » Single Step

Provede jeden krok programu.

Klávesové zkratky: <F7>, <Enter>

Run » Step Over

Provede krok v programu: je-li aktuální instrukce jiná než CALL, provede se pouze jeden krok, je-li aktuální instrukce CALL, krokuje se automaticky aplikace tak dlouho, až dorazí k instrukci následující v paměti programu po aktuálním CALLu. Po dokončení program ohlásí, kolik kroků bylo celkem provedeno (např. DONE in 7 steps = PROVEDENO v 7 krocích).

Pozor! Je-li aplikace napsána tak, že podprogram volaný instrukcí CALL se nikdy nevrátí zpět (pomocí instrukcí RETURN nebo RETLW), je třeba činnost programu ukončit stiskem <Esc> (ostatní klávesy se ignorují).

Klávesové zkratky: <F8>, <Tab>, <+>

Run » Step Out

Provede krok v programu: je-li aktuální instrukce RETURN nebo RETLW, provede se pouze jeden krok, je-li aktuální instrukce jiná než RETURN nebo RETLW, krokuje se automaticky aplikace tak dlouho, až dorazí k jedné z instrukcí RETURN nebo RETLW na shodné úrovni zásobníku (Stack) jako byla v okamžiku spuštění této funkce. Po dokončení program ohlásí, kolik kroků bylo celkem provedeno (např. DONE in 7 steps = PROVEDENO v 7 krocích).

Pozor! Je-li aplikace napsána tak, že na příslušnou instrukci nemůže během svého provádění narazit, je třeba činnost programu ukončit stiskem <Esc> (ostatní klávesy se ignorují).

Klávesové zkratky: <Alt+F8>, <Shift+Tab>, <->

Run » Animate

Spustí automatické provádění krokování s periodou asi 0,5 s. Reaguje pouze na klávesy <1>, <2> a <3> pro přepnutí hlavních obrazovek a na <Esc> pro ukončení animace.

Klávesová zkratka: <Ctrl+F9>

Run » Goto Cursor

Je určen pro použití v hlavní obrazovce č. 1: Program automaticky krokuje aplikaci dlouho, až dosáhne pozice pomocného kurzoru. Po dokončení program ohlásí, kolik kroků bylo celkem provedeno (např. DONE in 7 steps = PROVEDENO v 7 krocích).

Pozor! Je-li aplikace napsána tak, že cílové pozice nemůže dosáhnout, je třeba činnost programu ukončit stiskem <Esc> (ostatní klávesy se ignorují).

Klávesová zkratka: <F4>

Run » Reset

Provede reset emulátoru.

Klávesové zkratky: <F6>, <Z>, <Y>, <*>

Run » Machine cycle number step

Provede takový počet kroků, aby stopky dosáhly uživatelem nastavené hodnoty. Vzhledem k tomu, že některé instrukce jsou dvoucyklové, může být požadovaný počet o jeden cyklus překročen.

Run » Number of steps

Provede uživatelem zadaný počet kroků.

5.6 Menu Debug

Nabídka Debug (Ladění) obsahuje příkazy pomáhající při odlaďování vyvíjené aplikace.

Debug » New PC

Je-li pomocný kurzor na jiné adrese než kurzor hlavní, dojde ke změně programového čítače (a tím i posunu hlavního kurzoru) na hodnotu odpovídající pozici pomocného kurzoru. Pokud je pomocný kurzor na stejné pozici jako hlavní, je uživatel vyzván, aby zadal novou hexadecimální hodnotu programového čítače. Zrušit tuto volbu lze stiskem klávesy <Enter> bez zadání hodnoty. V této verzi programu prozatím nelze zrušit zadávání pomocí klávesy <Esc>.

Klávesová zkratka: <N>

Debug » Toggle current address Break

Na pozici pomocného, resp. hlavního kurzoru se změní stav požadavku na break. Lze tak např. rychle umístit samostatný break, resp. si tak označit pozici začátku a konce bloku, který si pak pomocí funkce Edit » Break memory označíme a aktivujeme nebo deaktivujeme.

Klávesové zkratky: <B>, <Ctrl+B>, <Ctrl+F8>

Debug » Toggle current address Trace

Na pozici pomocného, resp. hlavního kurzoru se změní stav požadavku na trasování. Lze tak např. rychle vypustit často se opakující instrukci z požadavků na trasování, resp. si tak označit pozici začátku a konce bloku, který si pak pomocí funkce Edit » Trace enable memory označíme a aktivujeme nebo deaktivujeme.

Klávesové zkratky: <L>, <Ctrl+T>

5.7 Menu Tools

Nabídka Tools (Nástroje) obsahuje především příkazy pro ovládání různých pomocných funkcí emulátoru.

Tools » Assemble

Spustí externí překladač (assembler) MPASM.EXE, který je umístěn v instalačním adresáři programu ARTEMIS. Jako parametr assembleru je použito jméno hlavního zdrojového souboru projektu a dále i další parametry volitelné uživatelem v Options » Miscellaneous, např. volba /c- nastaví u překladače case sensitivity off (tj. nerozlišuje mezi velkými a malými písmeny v názvech symbolů). Proběhne-li překlad zdrojového kódu bez chyby (Errors : 0), načtou se výsledné soubory do programu a emulátoru. V opačném případě je uživatel vyzván, aby chyby opravil a pokusil se o opětovný překlad. K tomu účelu je spuštěn externí editor se všemi zdrojovými soubory aktuálního projektu a dále i seznam chyb a varování, listing a cross reference.

Klávesové zkratky: <F10>, <A>, <Ctrl+A>, <Alt+F9>

Tools » Clear All Code Break Requests

Nuluje všechny požadavky na zastavení v paměti programu (Code Breaks).

Klávesová zkratka: <C>

Tools » Clear Stopwatch

Nuluje stopky (čítač instrukčních cyklů). Týká se obou čítačů - hlavního i pomocného (rozdílového).

Poznámka: Nulování stopek se dá zajistit i automaticky, blíže viz odstavec Options » Emulator.

Klávesová zkratka: <S>, nulování pouze pomocného čítače: <Shift+S>

Tools » Clear Reset flag

Nuluje příznak informující uživatele o tom, že emulovaná součástka byla resetována.

Tools » Clear Trace overflow flag

Nuluje příznak informující uživatele o tom, že trasovací paměť přetekla.

Tools » WakeUp from SLEEP

Uživatel tímto povelem ukončí režim SLEEP (signalizován hlášením SLEEPING) dříve než by k tomu došlo řádně (např. přetečením Watchdog Timeru, externím resetem na pinu -MCRL, apod.).

Klávesová zkratka: <W>

Tools » Randomize RAM

Naplní datovou paměť RAM emulátoru náhodnými hodnotami. Speciální funkční registry se nemění.

Tools » Initialize system

Restartuje program a emulátor, aktuální projekt zůstává zvolen.

Tools » Info

Informuje uživatele o jménu aktuálního projektu, verzi software, typu emulovaného mikrokontroléru a o aktuálním pracovním adresáři.

Klávesová zkratka: <I>

Tools » Program PIC16F84A

Program PIC16F84A

Je-li k MU Alpha připojena výuková deska EduKit84 nebo prototypová deska ProtoKit84, umožní tento příkaz naprogramovat PIC16F84A na desce. Jiný typ mikrokontroléru není podporován. V menu Options » Global musí být v sekci Other Options v položce Target Connector Usage vybrána volba EduKit84 or ProtoKit84 Connected, přepínač na desce musí být v poloze MU ALPHA a napájecí napětí desky musí být připojeno.

Jsou-li tyto podmínky splněny, je zobrazeno programovací okno, které umožňuje nastavit konfigurační slovo mikrokontroléru. Jako výchozí hodnoty jsou brány ty, které jsou nastaveny v menu Options » Emulator. Programuje se aktuální obsah paměti programu a EEPROM.

Průběh jednotlivých operací při programování součástky je přehledně indikován.

Ovládání:

<↑>, <↓> posun kurzoru o jeden řádek nahoru / dolů
<PageUp>, <Home> posun kurzoru na první položku
<PageDown>, <End> posun kurzoru na poslední položku
<Space> změna hodnoty zvolené položky
<Esc> ignorování změn, návrat do hlavní obrazovky
<Enter> potvrzení provedených změn a zahájení programování

5.8 Menu Options

Nabídka Options (Volby, Nastavení) slouží k nastavení parametrů programu a emulátoru.

Options » Break

Options - Break

Slouží k nastavení speciálních breaků (požadavků na zastavení aplikace). Breaky v programové paměti se nastavují jiným způsobem (viz odstavce Edit » Break memory a Debug » Toggle current address break).

Kde není uvedeno jinak, znamená nastavení Disabled, že daná funkce je potlačena a Enabled, že je aktivována.

Sekce REGISTER BREAKS

Sekce EXTERNAL BREAK (TRIGGER IN)

Sekce OTHER BREAKS

Ovládání:

<↑>, <↓> posun kurzoru o jeden řádek nahoru / dolů
<PageUp>, <Home> posun kurzoru na první položku
<PageDown>, <End> posun kurzoru na poslední položku
<Space> změna hodnoty zvolené položky
<Esc> ignorování změn, návrat do hlavní obrazovky
<Enter> potvrzení provedených změn a jejich zápis do emulátoru. Pokud se nové nastavení liší od předešlého, je uživatel informován, že došlo ke změně.

Options » Equipment

Options - Equipment

Slouží k nastavení parametrů emulátoru.

Kde není uvedeno jinak, znamená nastavení Disabled, že daná funkce je potlačena a Enabled, že je aktivována.

Sekce PROCESSOR SELECTION

Sekce OSCILLATOR

Poznámky:
(1) Používejte přednostně režimy s interním syntezátorem. Režim External Input má význam pouze v případech, kdy je třeba zajistit synchronizaci více obvodů nebo dynamické změny taktovací frekvence.
(2) POZOR! Při hodinové frekvenci nižší než asi 20 kHz nelze zajistit některé funkce emulátoru, např. vyčítání resp. modifikace registrů, apod.
(3) NENÍ podporováno využití externího krystalu nebo rezonátoru. Používejte interní frekvenční syntezátor. (4) POZOR! Připojovací kabel a další vlivy mohou způsobit určitou odchylku výsledné frekvence RC oscilátoru u emulátoru a reálné součástky. Kromě nezbytných případů používejte raději interní frekvenční syntezátor.

Sekce RESET (resp. RESET & DATA RAM SIZE u PIC16C5x)

Následující položky se liší v závislosti na zvoleném typu mikrokontroléru.

Sekce WATCHDOG

Sekce TRIGGER OUT

Sekce STOPWATCH

Ovládání je stejné jako Options» Break.

Options » Miscellaneous

Options -Miscellaneous

Ostatní nastavení.

Sekce MPASM Command Line Options

Obsahuje řetězec, který se přidá za jméno hlavního zdrojového souboru projektu při spuštění překladače MPASM.EXE. Tento řetězec určuje některé parametry překladu (viz odst. 6.2). Výchozí hodnota je /c- /x+, tj. rozlišování velká/malá písmena je vypnuto a tvorba souboru s křížovými odkazy (cross reference) je zapnuta.

Sekce Other Options

Ovládání je stejné jako Options» Break.

Options » Global

Options - Global

Určuje společná nastavení pro všechny projekty v kterémkoli adresáři.

Sekce Primary Equipment

Sekce MU Alpha

Sekce MU Beta

Pro nastavení platí totéž, co bylo popsáno v sekci MU Alpha.

Sekce PICQUICK

Nevyužívá se.

Sekce External Editor

Ovládání je stejné jako Options » Break.

5.9 Menu Help

Nabídka Help (Nápověda, Pomoc) - když už opravdu nevíte, jak dál, zkuste si přečíst návod.

Help » Help

Informace o tom, jak získat uživatelskou příručku, kterou právě čtete.

Klávesové zkratky: <?>, <F1>

Help » Keyboard shortcuts

Zobrazí přehled klávesových zkratek pro hlavní obrazovky.

Klávesová zkratka: <Ctrl+K>

Help » About

Informace o kontaktu na výrobce.

6. Dodatky

6.1 Přehled klávesových zkratek pro hlavní obrazovky

Poznámka: Klávesové zkratky jsou voleny tak, aby byly co nejvíce mnemotechnické, a tedy i snadno zapamatovatelné. Řada z nich byla dále zvolena s ohledem na zavedené zvyklosti (kompatibilita s Microchip MPLAB®, prostředími firmy Borland, apod.). V menu Run pak jsou zkratky voleny tak, aby se nejčastěji volené funkce daly dobře ovládat z bloku numerických kláves, který je umístěn na běžné klávesnici vpravo.

Ovládání společné pro všechny hlavní obrazovky

<1> přepnutí do hlavní obrazovky č. 1
<2> přepnutí do hlavní obrazovky č. 2
<3> přepnutí do hlavní obrazovky č. 3
<4> přepnutí do hlavní obrazovky č. 4
<→> cyklické přepínání mezi hlavními obrazovkami ve vzestupném pořadí, tj.:
1»2»3»1»2 ...
<←> cyklické přepínání mezi hlavními obrazovkami v sestupném pořadí, tj.:
1»3»2»1»3 » ...

Otevření menu

<F>, <Alt+F> otevře menu File
<P>, <Alt+P> otevře menu Project
<E>, <Alt+E> otevře menu Edit
<V>, <Alt+V> otevře menu View
<R>, <Alt+R> otevře menu Run
<D>, <Alt+D> otevře menu Debug
<T>, <Alt+T> otevře menu Tools
<O>, <Alt+O> otevře menu Options
<H>, <Alt+H> otevře menu Help
<M> otevře naposledy vybranou položku menu
<Esc> otevře naposledy vybranou položku menu / zavře menu
<←>, <→>, <↑>, <↓> pohyb v menu
<Enter> potvrzení vybrané položky. Následuje provedení zvolené akce.

Zkratky pro jednotlivé povely z menu

Klávesové zkratky pro řízení činnosti emulátoru

<G>, <Ctrl+G> Go from Reset (Reset & Go)
<X>, <Ctrl+R>, <F9>, <.>, <,> Run
<0>, <Space>, <Ctrl+H>, <F5> Halt (Stop)
<Enter>, <F7> Single Step
<+>, <Tab>, <F8> Step Over
<->, <Shift+Tab>, <Alt+F8> Step Out
<Ctrl+F9> Animate
<Y>, <Z>, <*>, <F6> Reset
<F4> Goto Cursor

Ostatní klávesové zkratky

<Q>, <Alt+X> ,<Alt+Q>,
<Ctrl+Q>, <Alt+F4>
Quit
<F1>, <?> Help: Obsah
<Ctrl+K> Help: Klávesové zkratky
<Ctrl+O> File Open
<F3> Open All Project Files
<Alt+L> Open all Source Files
<Ctrl+E>, <F12> Source File Edit
<Ctrl+V>, <F11> Source File View
<K>, <Ctrl+C> Trace Memory View
<A>, <Ctrl+A>, <Alt+F9>, <F10> Assemble (Compile)
<B>, <Ctrl+B>, <Ctrl+F8> Code Break Toggle
<L>, <Ctrl+T> Trace Request Toggle
<C> Clear All Code Break Requests
<I> Info
<N> New PC
<S> Clear Stopwatch: Counters 1 & 2
<Shift+S> Clear Stopwatch: Counter 2
<W> Wake Up from SLEEP

Klávesové povely pro posun pomocného kurzoru v hlavní obrazovce č. 1

<↑> posun uživatelského kurzoru o 1 řádek nahoru
<↓> posun uživatelského kurzoru o 1 řádek dolů
<Alt+↑> posun uživatelského kurzoru o 4 řádky nahoru
<Alt+↓> posun uživatelského kurzoru o 4 řádky dolů
<Ctrl+↑> posun uživatelského kurzoru o 8 řádků nahoru
<Ctrl+↓> posun uživatelského kurzoru o 8 řádků dolů
<PageUp> posun uživatelského kurzoru o 16 řádků nahoru
<PageDown> posun uživatelského kurzoru o 16 řádků dolů
<Alt+PageUp> posun uživatelského kurzoru o 32 řádků nahoru
<Alt+PageDown> posun uživatelského kurzoru o 32 řádků dolů
<Ctrl+PageUp> posun uživatelského kurzoru o 64 řádků nahoru
<Ctrl+PageDown> posun uživatelského kurzoru o 64 řádků dolů
<Ctrl+Home> posun uživatelského kurzoru na první řádek (odpovídá stavu: programový čítač = 0)
<Ctrl+End> posun uživatelského kurzoru na poslední řádek (odpovídá stavu: programový čítač = maximální hodnota pro zvolený typ součástky)
<Home> návrat uživatelského kurzoru na pozici aktuálního programového čítače
<End> návrat uživatelského kurzoru na pozici aktuálního programového čítače

Klávesové povely pro posun pomocného kurzoru v hlavní obrazovce č. 3

<↑> změna pozice v programové paměti o -1
<↓> změna pozice v programové paměti o +1
<Alt+↑> změna pozice v programové paměti o -4
<Alt+↓> změna pozice v programové paměti o +4
<Ctrl+↑> změna pozice v programové paměti o -8
<Ctrl+↓> změna pozice v programové paměti o +8
<PageUp> změna pozice v programové paměti o -16
<PageDown> změna pozice v programové paměti o +16
<Alt+PageUp> změna pozice v programové paměti o -32
<Alt+PageDown> změna pozice v programové paměti o +32
<Ctrl+PageUp> změna pozice v programové paměti o -64
<Ctrl+PageDown> změna pozice v programové paměti o +64
<Ctrl+Home> přesun na pozici odpovídající nulové hodnotě programového čítače
<Ctrl+End> přesun na pozici odpovídající maximální hodnotě programového čítače pro daný typ součástky
<Home> návrat uživatelského kurzoru na pozici aktuálního programového čítače
<End> návrat uživatelského kurzoru na pozici aktuálního programového čítače

Klávesové povely pro práci v oblasti Watch:

<Shift+↑>, <Shift+↓>,
<Shift+←>, <Shift+→>
pohyb kurzoru v oblasti Watch
<Shift+PageUp> přepnutí do předchozí skupiny (-1)
<Shift+PageDown> přepnutí do následující skupiny (+1)
<Ins> není li watch definován, přidání nového watche,
je-li definován, editace hodnoty
<Alt+Ins> není-li watch definován, přídání nového watche,
je-li definován, modifikace parametrů watche (jméno, typ, adresa)
<Del> odstranění watche na aktuální pozici (s potvrzením)

6.2 Základní informace o assembleru MPASM™

Pro překlad zdrojového kódu se používá překladač MPASM.EXE, který firma Microchip poskytuje zdarma, a který je i součástí prostředí MPLAB® (bližší informace na www.microchip.com).

Součástí instalace je verze:
"MPASM 02.50.02 Intermediate (c)1993-2000 Microchip Technology Inc./Byte Craft Limited".

Parametry příkazového řádku (jméno zdrojového souboru je programem ARTEMIS doplněno automaticky, volitelné parametry se dají nastavit v menu Options » Miscellaneous) uvádí následující stručný přehled.

MPASM zdrojový_soubor [volitelné parametry]

Syntaxe:
  mpasm [[/parametr[+|-|argument]] zdrojový_soubor[.asm]]
  (+ volbu aktivuje, - volbu deaktivuje)

Volitelné parametry:

/? or /h zobrazí nápovědu
Výchozí stav: žádný
/a<format> volba formátu výstupního .HEX souboru,
možnosti: INHX8S, INHX8M nebo INHX32
Výchozí stav: INHX8M
/c zapíná/vypíná rozlišování velká/malá písmena v názvech symbolů
Výchozí stav: zapnuto
/d<define> definuje hodnotu proměnné během překladu
(/dproměnná[=hodnota])
/e<path> zapíná/vypíná tvorbu souboru se seznamem chyb (.ERR)
Výchozí stav: zapnuto
/l<path> zapíná/vypíná tvorbu souboru s listingem (.LST)
Výchozí stav: zapnuto
/m zapíná/vypíná expandování maker
Výchozí stav: zapnuto
/o<path> specifikace cesty pro objektové soubory (/oc:\temp)
Výchozí stav: neaktivní
/p<procsr> specifikace typu procesoru (např. 16F84A)
Výchozí stav: žádný
/q zapíná/vypíná tichý režim (potlačen výstup na obrazovku)
Výchozí stav: vypnuto
/r<radix> specifikace číselného základu: hex, dec nebo oct
Výchozí stav: hexadecimální
/t<size> specifikace velikosti tabulátoru
/w<level> specifikace úrovně varování, která se objeví v listingu:
0 (všechno), 1 (WARNING & ERROR) nebo 2 (pouze ERROR)
Výchozí stav: 0
/x<path> zapíná/vypíná tvorbu souboru s křížovými odkazy (cross reference)
Výchozí stav: vypnuto

Po spuštění MPASM bez parametru se otevře formulář, v němž si uživatel může všechny parametry vyplnit interaktivně.

Poznámky:

6.3 Základní informace o editoru FED

Editor FED

Ačkoli program ARTEMIS může pracovat samostatně jako debugger, mnohem efektivnější práci zajistí jeho využívání jako integrovaného vývojového prostředí. Jeho důležitou součástí je editor zdrojového textu. Součástí instalace je editor FED, jehož původním autorem je Shawn Hargreaves (WWW: http://www.talula.demon.co.uk/fed/index.html, E-Mail: shawn@talula.demon.co.uk). Editor je šířen v souladu s podmínkami GNU General Public License publikovanými Free Software Foundation. Je k dispozici včetně zdrojových textů. Proti původní verzi editoru FED 2.2 byly provedeny některé úpravy, aby ovládání editoru lépe odpovídalo běžným zvyklostem a aby editor lépe spolupracoval s programem ARTEMIS při ladění aplikací pro mikrokontroléry PIC. Např. přiřazení některých kláves, barvy a barevné rozlišení syntaxe, přidání podpory rozšířené klávesnice, atd. Upravené zdrojové texty editoru s popisem provedených změn jsou k dispozici u výrobce emulátoru.

Z mnoha předností jen některé:

Dva malé příklady využití některých možností editoru FED:

Některé užitečné klávesové zkratky editoru FED

Poznámky:

<F1> rychlá nápověda
<F2> uložení souboru
<F3> hledání
<F4> seznam otevřených souborů
<F5> nastavení zalamování řádků (pravý okraj)
<F6> výběr režimu vyhledávání
<F7> spuštění makra
<F8> umístění záložky
<F9> skok na záložku
<F10> ukončení editoru s dotazem na uložení změn
<F11> přepnutí na následující soubor v seznamu otevřených
<F12> uložení souboru a ukončení editoru
 
<Ins> vkládání/přepisování
 
<Alt+C> otevře menu Config (Nastavení)
<Alt+E> otevře menu Edit (Úpravy)
<Alt+F> otevře menu File (Soubor)
<Alt+H> otevře menu Help (Nápověda)
<Alt+I> informace o souboru
<Alt+K> otevře kill buffer
<Alt+M> otevře menu Misc (Různé)
<Alt+N> následující soubor
<Alt+P> předchozí soubor
<Alt+S> otevře menu Search (Hledání)
<Alt+T> otevře menu Tools (Nástroje)
<Alt+V> seznam otevřených souborů
<Alt+X> ukončení programu FED
<Alt+F2> uložit jako
<Alt+Del> vyjmout
<Alt+Ins> vložit
 
<Ctrl+A> zapnout/vypnout automatické odsazování
<Ctrl+B> globální vyhledávání slova pod kurzorem
<Ctrl+C> kopírovat do schránky
<Ctrl+D> smazat slovo
<Ctrl+E> rozvinout/složit text podle odsazení
<Ctrl+F> hledat
<Ctrl+G> skok na řádek číslo
<Ctrl+H> zobrazit informace o souboru
<Ctrl+I> vložit binární znak
<Ctrl+J> když práce unaví...
<Ctrl+K> smazání od pozice kurzoru do konce řádku
<Ctrl+L> změnit na malá písmena
<Ctrl+M> vyhledání odpovídající závorky
<Ctrl+N> přepnutí na následující otevřený soubor
<Ctrl+O> otevřít soubor
<Ctrl+P> tisk
<Ctrl+Q> opuštění programu
<Ctrl+R> přeformátování
<Ctrl+S> uložení souboru
<Ctrl+T> smazat slovo
<Ctrl+U> změnit na velká písmena
<Ctrl+V> vložit ze schránky
<Ctrl+W> zavřít soubor
<Ctrl+X> vyjmout a vložit do schránky
<Ctrl+Y> smazat do konce řádku
<Ctrl+Z> uložit a ukončit program
<Ctrl+←> skok o slovo doleva
<Ctrl+→> skok o slovo doprava
<Ctrl+Home> skok na začátek souboru
<Ctrl+End> skok na konec souboru
<Ctrl+BackSpace> zpět (undo)
<Ctrl+Enter> spuštění makra
<Ctrl+6> prohození znaků na pozici kurzoru
<Ctrl+Ins> kopírovat do kill bufferu
<Ctrl+F2> uložit vše
<Ctrl+F3> DOS shell
<Ctrl+F5> rozbalit/složit text v místě kurzoru
<Ctrl+F10> zrušení funkce zpět (redo)
<Ctrl+[> začátek záznamu makra
<Ctrl+]> konec záznamu makra

6.4 Tipy a náměty

V tomto odstavci naleznete následující užitečné informace:

Uživatelské přizpůsobení nového projektu

V instalačním adresáři jsou soubory T*.ASM (např. T12C508A.ASM), jejichž obsah se použije jako hlavní zdrojový soubor při tvorbě nového projektu. Tyto soubory lze libovolně upravit (nesmí se ale odstranit nebo přejmenovat!).

POZOR! Při nové instalaci (např. při upgrade software) se soubory T*.ASM přepisují, pokud je tedy změníte, musíte je před reinstalací archivovat a poté znovu umístit do instalačního adresáře.

Zdrojové soubory

Pro jednoduché projekty je často vhodné, aby celý zdrojový text projektu byl obsažen v jediném souboru. Při práci na komplexnějších projektech je vhodnější si rozdělit zdrojový kód na více souborů. Zvýší se tím přehlednost jednotlivých částí, se kterými lze pak pracovat nezávisle.

Uspořádání pak vypadá například takto:

P.ASM hlavní zdrojový soubor, obsahuje následující soubory vložené pomocí direktivy #include
P-DEF.ASM definice (pojistky, registry, bity, konstanty, makra)
P-SUB.ASM podprogramy (volané instrukcí CALL)
P-INT.ASM obsluha přerušení
P-TAB.ASM tabulky (např. převod znaků pro 7-segmentový displej)
Poznámka: V tomto případě je vhodné před tvorbou nového projektu všechny potřebné soubory předem do pracovního adresáře zkopírovat. Standardní postup (využívající soubory T*.ASM v instalačním adresáři) není pro tento účel dostatečný.

Zadání požadavků na break a trasování ve zdrojovém kódu

V menu Edit » Break memory a Edit » Trace enable memory a pomocí klávesových zkratek (např. <B>) lze ovlivňovat obsah paměti breaků a požadavků na trasování. Tyto paměti se však vždy po otevření projektu nebo spuštění projektu inicializují - paměť breaků se nuluje (zastavení není požadováno), paměť požadavků na trasování se nastavuje (trasuje se vše). Uživatel si však může přát opakovaně pracovat s nastaveními odlišnými od výchozích. K tomuto účelu slouží speciální návěští (labely):

BREAKON  začátek oblasti paměti programu s požadovaným zastavením
BREAKOFF  konec oblasti paměti programu s požadovaným zastavením
BREAKHERE  na instrukci následující za tímto labelem se provede break
TRACEON  začátek oblasti paměti programu, kde požadujeme trasování
TRACEOFF  konec oblasti paměti programu, kde požadujeme trasování

Lze použít libovolnou kombinaci malých i velkých písmen (např. BREAKHERE, BreakHere, breakhere).

Chceme-li použít tyto návěští na více místech, je nutné je od sebe odlišit pomocí prodloužení jména (např. TraceOff_Delay, TraceOnSMYCKA, breakhere000, ...), jinak by překladač hlásil chybu. Rozhodující jsou pouze počáteční znaky návěští.

Uvedená speciální návěští i jejich prodloužené varianty se neukládají do seznamu návěští.

Výhodou tohoto způsobu nastavování speciálních pamětí je to, že při změně zdrojového kódu (např. po přidání instrukce) se příslušné oblasti posouvají - nejsou vázány na konkrétní adresu v programové paměti.

Příklad:
        ...
        movlw   DELAY_VAL  ; předpokládejme, že zde je trasování zapnuto...
        movwf	count      ; ... a požadavky na break jsou neaktivní
TRACEOFF_CEKACKA           ; vypínáme trasování během čekací smyčky
loop    decfsz  count,f    ; zde se netrasuje
        goto    loop       ; ani zde ne
TRACEON_DOCKALI_JSME_SE   ; odtud už se průběh aplikace opět trasuje 
        movf    portb,w
BREAKHEREnacteni_z_RB
        movwf   temp       ; na této instrukci se provede break
        ...

Aktivace požadavku na zastavení - breaku

Dojde-li k breaku, je zobrazeno hlášení BREAK DETECTED!. Je-li emulátor ve stavu RUN, dojde k zastavení. Současně je zobrazena i identifikace aktivního breaku:

AnyBrk detekován jakýkoli break. Není-li aktivní žádný z následujících, pak jde o break v paměti programu.

Významy a nastavení následujících breaků jsou podrobně popsány v sekci Menu: Options » Break.

RegRd break od čtení registru
RegWr break od zápisu do registru
RegWrVal break od zápisu do registru (včetně hodnoty a masky)
Trace break od přetečení trasovací paměti
Ext break od externí sondy (Trigger In)
Stk break od přetečení/podtečení stacku (zásobníku)
Tmr0 break od přetečení časovače Timer0
Wdog break od přetečení watchdogu

Uvedená hlášení jsou zobrazována, dokud není stisknuta libovolná klávesa. Po jejím stisknutí se ihned provede odpovídající funkce, stisk klávesy tedy není potvrzením breaku pohlcen. Je to příspěvek k zefektivnění práce - např. po aktivaci breaku lze ihned jednoduše a opakovaně znovu spouštět aplikaci stiskem <X>.

Rozšíření datové paměti u PIC16C5x

MU Alpha podporuje součástky do velikosti paměti programu 1Kword - v řadě PIC16C5x tedy maximálně typ PIC16C56A. Typ PIC16C58 tedy není MU Alpha přímo podporován - jeho paměť programu je totiž 2 Kword.

Některé aplikace však potřebují více paměti dat než je 25 byte, které jsou k dispozici u typů PIC16C54 a PIC16C56, ale vejdou se do 1Kwordu paměti programu. Pro takové aplikace je vhodné použít PIC16C58, který má 73 byte paměti dat, s tím, že horní polovina jeho paměti programu zůstane nevyužitá. MU Alpha tuto možnost podporuje - v menu Options » Emulator lze zvolit datovou paměť o velikosti 73 byte, která je organizována přesně jako u PIC16C58.

Přístup ke skrytým registrům a EEPROM

Některé registry mikrokontrolérů nejsou mapovány do datové paměti. Jsou to např. užitečné registry jako W a LATCH. U 12-bitové architektury (typy PIC12C5xx a PIC16C5x) jsou to navíc i registry TRIS a OPTION. K těmto registrům je možný přístup prostřednictvím menu Edit, ale i v definicích watchů lze s těmito registry snadno pracovat. K tomu je třeba znát jejich adresy, které přináší následující přehled.

OPTION 81h
TRISA 85h
TRISB=TRIS GPIO 86h
W registr 200h
LATCHA 220h
LATCHB=LATCH GPIO 221h
EEPROM u PIC12C51x 300h ... 30Fh
EEPROM u PIC16F84/84A 300h ... 33Fh
EEPROM u PIC16F627/628 300h ... 37Fh

Uspořádání projektů v počítači

Při menším množství menších projektů lze vytvořit pouze jeden pracovní adresář (např. C:\PROJECTS\PIC), kterým může obsahovat všechny projekty. Při práci na komplexnějších projektech je vhodné používat pro každý projekt vlastní pracovní adresář.

Příklad:

C:\
|
+-- PROJECTS         - zde jsou soustředěny všechny projekty
|   |
|   +-- HODINY       - podadresář obsahující vše o projektu "HODINY"
|   |   |
|   |   +-- DOCS     - dokumentace k projektu (návody, poznámky)
|   |   |
|   |   +-- PCB      - podadresář se soubory pro návrh plošného spoje
|   |   |
|   |   +-- PIC      - podadresář se soubory pro vyvíjenou aplikaci s PIC
|   |   |   |
|   |   |   +-- 1.0  - verze 1.0
|   |   |   |
|   |   |   +-- 1.1  - verze 1.1
|   |   |
|   |   +-- SW       - software k PC příslušející k projektu "HODINY"
|   |

Napájecí napětí aplikace

Napájecí napětí vyvíjené aplikace není omezeno na obvyklých 5 V, ale může se pohybovat v rozsahu od 2 do 5.5 V. Navíc je možné zapínat emulátor a napájení aplikace nezávisle (není tedy nutné dodržovat nějaký speciální postup zapínání napájení, jak je to vyžadováno u některých jiných emulátorů).

Pracovní podmínky emulátoru

Emulátor je určen pro práci v běžných kancelářských podmínkách. Chraňte jej před nadměrnou vlhkostí, prachem a nečistotami. Provozujte emulátor pouze při běžných teplotách od 10° do 40°C. Povolený rozsah teplot pro skladování emulátoru je -10° až +60°C. Není povoleno rozebírat krabičku emulátoru.

Používejte pouze napájecí zdroj, se kterým byl emulátor dodán. K připojení k počítači používejte výhradně kabel, který je součástí dodávky. Nepokoušejte se emulátor připojovat k jinému než paralelnímu portu počítače.

Na piny vyvedené na emulační hlavici smí být přivedeno pouze napětí v rozsahu 0 až 5.5 V. Napětí mimo tento rozsah může způsobit závažné poškození přístroje.

Je-li některý pin emulovaného procesoru nastaven jako výstup, je nutné se vyhnout konfliktu s jiným výstupem nebo s napájecím napětím či zemí. Výstupní piny emulátoru (tak jako i piny emulovaných mikrokontrolérů) jsou schopny dávat poměrně velké proudy v řádu desítek mA, vlivem toho však při přetížení může dojít ke zničení výstupních budičů.

Signál Trigger Out je výstup. Není vhodné jej přetěžovat (např. jeho trvalým zkratováním se zemí nebo napájením aplikace).

Ochrana emulační koncovky

Na emulační koncovce je samořezná patice na kabel, která se zasouvá do desky s vyvíjenou aplikací. Aby byly kontakty samořezné patice chráněny před poškozením při manipulaci, je vhodné nasadit na ni ještě obyčejnou (ne precizní) patici DIL. Ta je velmi levná a dá se snadno vyměnit. Emulátor je takto z výroby dodáván.

6.5 Omezení aktuální verze programu

6.6 Seznam aktuálně podporovaných mikrokontrolérů PIC

MU Alpha podporuje:

Pro typy kromě PIC16F84/84A je třeba zakoupit rozšíření XA12C5xx.

MU Beta podporuje:

Další typy jsou ve vývoji.


ASIX s.r.o. poskytuje kompletní sortiment produktů a služeb
pro práci s mikrokontroléry Microchip PIC®:


Další nabídka: