Překlad a ladění programu

 


5.              Překlad a ladění programu na simulátoru

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ýš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ě.

 

 


6.              Poznámky k dalšímu nastavení prostředí HEW

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é.

6.1.    Nastavení parametrů překladu

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.).

6.2.    Nastavení parametrů sestavení

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).

 

 

 

6.3.    Adresní prostor simulátoru

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