Překlad a ladění programu
Tato stránka popisuje kompletní postup při nastavení debuggeru a simulátoru bez použití dodatečně instalovaného generátoru projektů. Instalací generátoru projektů lze vytvoření projektu a nastavení debuggeru a simulátoru výrazně zjednodušit.
Před překladem programu je nutné v nastavení linkeru zrušit mapování datové sekce.
Postupujeme následujícím způsobem:
V záložce Link/Library pro nastavení adres sekcí otevřené v okně Build - KPIT GNUH8[ELF] Toolchain vybereme kategorii Sections. Ve sloupci Group name v seznamu sekcí vybereme sekci .data. Potom tlačítkam Modify... otevřeme okno Modify section group a v něm tlačítkem Advanced okno pro detailní nastavení. V tomto okně zrušíme nastavení Reserve memory for section mapping a tlačítky OK okna postupně zavřeme (viz následující obrázek).
O účinku popsaného mapování se můžeme přesvědčit tak, že před provedením výše popsané úpravy zkontrolujeme obsah datové sekce obsazené konstantami (například textovými řetězci) výpisem obsahu příslušné části paměti v simulátoru. (Program musí být předtím samozřejmě přeložen a sestaven a zaveden do simulátoru.) Pokud používáme nastavení doporučené pro POT, je začátek datové sekce na adrese 0x00FF4000. Výpisem obsahu paměti na této adrese zjistíme, že konstanty nejsou uloženy na adresách zvolených pro datovou sekci, nýbrž je lze najít bezprostředně za koncem programu. Po provedení popsané změny nastavení linkeru budou konstanty uloženy podle předpokladu přímo v datové sekci.
Důsledkem mapování datové sekce je situace, kdy při simulovaném běhu programu nejsou v datové sekci textové řetězce a parametrické bloky pro simulované IO operace. To se pak projevuje jejich zdánlivou nefunkčností.
Výše uvedený postup je též popsán na samostatné stránce.
Překlad a sestavení všech souborů, které jsou začleněné do projektu, spustíme příkazem Build - Build All . Po úspěšném překladu a sestavení by měl být v adresáři Debug našeho projektu soubor s příponou .x , obsahující binární formu programu.
Pokud se soubor .x nevytvořil (a překlad a sestavení proběhlo bez chyb), překontrolujeme nastavení výstupního souboru linkeru na záložce Link/Library v okně KPIT GNUH8[ELF] Toolchain ... . Měl by být nastaven typ výstupního souboru Absolute (ELF/DWARF) - viz následující obrázek.
Nyní je nutné připravit ladění na simulátoru. Příkazem Debug - Debug Settings ... otevřeme okno pro nastavení simulátoru:
Máme-li v pracovním prostoru více projektů, vybereme nejprve v levé části okna odpovídající projekt. Potom vybereme pro Target a Default Debug Format nastavení podle předchozího obrázku. Pro Download Modules nastavíme parametry v dalším okně, které otevřeme tlačítkem Add... . Jako Filename zde nastavíme aktuální jméno binárního souboru .x v adresáři Debug daného projektu.
K zavedení programu do simulátoru dochází automaticky po jeho překladu a sestavení (lze nastavit v záložce Options okna Debug Settings).
Pomocí tlačítek, označených na následujícím obrázku číslem 2, lze volit způsob zobrazení modulů, zavedených do simulátoru (zdrojový kód, binární kód, kombinované zobrazení). Poklepáním myší ve sloupci označeném na obrázku číslem 3 lze na požadovaná místa vkládat breakpointy. Simulovaný výpočet spustíme příkazem Debug - Reset Go nebo tlačítkem (číslo 1 na následujícím obrázku) na nástrojové liště.
Prostředí HEW umožňuje nastavení způsobu překladu a sestavení programu podle konkrétní situace. Zmíníme se zde o některých změnách nastavení, které mohou být pro předmět POT užitečné.
Příkazem Build - KPIT GNUH8[ELF] Toolchain ... otevřeme okno, které má několik záložek. V záložce C/C++ lze modifikovat způsob překladu programů v jazyku C.
Podobně v záložce Assembly lze otevřít okno pro nastavení parametrů překladu programů v asembleru.
V obou případech můžeme volbou Category: List vybrat Generate list file a povolit tak generování souboru s protokolem o překladu. Soubory s příponou .lst budou uloženy v adresáři Debug daného projektu. V případě překladače jazyka C lze navíc volbou Include assembly povolit doplnění listingu o program přeložený z C do asembleru. Lze tak snadno sledovat způsob činnosti překladače a v některých případech ověřit správnost zápisu v C (např. v případě přístupu k SFR registrům apod.).
Příkazem Build - KPIT GNUH8[ELF] Toolchain ... otevřeme okno pro nastavení parametrů pro překlad a sestavení programu. Na záložce Link/Library můžeme volbou Category: List povolit generování mapového souboru. Mapový soubor s příponou .map popisuje rozložení jednotlivých sekcí a symbolů programu v adresním prostoru.
Ve volbě Category: Sections lze ověřit resp. nastavit umístění jednotlivých sekcí programu v adresním prostoru. Umístění sekcí je zvoleno s ohledem na příslušný cílový procesor. Případné změny musí respektovat mapování pamětí daného procesoru, tj. umístění pamětí Flash, interní a externí paměti RAM a SFR registrů.
Pro účely simulace procesoru H8S/2600 je používáno následující nastavení:
Sekce Adresa Komentář .vects 0x00000000 Sekce .vects obsahuje přerušovací vektory, které musí být uloženy na začátku fyzického adresního prostoru od adresy 0x00000000. .text 0x00000400 Sekce .text obsahuje kód programu. Její umístění je zvoleno tak, aby ležela za sekcí .vects na začátku adresního prostoru. Lze zvolit i jiné umístění v rozsahu, pokrytém simulovanou externí nebo interní pamětí RAM. .data 0x00FF4000 Sekce .data obsahuje data zavedeného programu. Umístění musí být zvoleno tak, aby sekce ležela v rozsahu adres pokrytém externí nebo interní pamětí RAM a nekolidovala s umístěním sekce .vects a .text . V případě potřeby vybereme příslušnou sekci (.vects, .text nebo .data) a tlačítkem Modify... otevřeme dialogové okno pro změnu nastavení (viz následující obrázek).
Simulátor procesoru H8S/2600 má nastaven rozsah adres simulované paměti tak, aby vyhovoval obvyklým úlohám. Pokud je to nutné (simulátor hlásí chybu Memory Access Error(Address:H'xxxxxxxx) ), lze rozsah paměti upravit v okně, které se otevře příkazem Setup - Simulator - Memory Resource. Záznamy v tabulce Memory Resource lze upravit tak, aby paměť pokrývala celý fyzický adresní prostor procesoru H8S, tj. 16 MB - viz následující obrázek.
[Základní vlastnosti HEW] [Instalace prostředí HEW] [Vytvoření a úprava projektu] [Použití simulovaných I/O operací] [Řešení některých problémů]
Návrat na hlavní stránku POT.
Poslední změna stránky byla provedena 28.02.2023