Konfiguration komplexer On-Chip-Emulatoren

Klare Sicht auf den ARM-Core

9. Januar 2008, 9:31 Uhr | Heiko Rießland Jens Braunes
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Klare Sicht auf den ARM-Core

Die zweite Stufe ist eine mit einer Hochsprache vergleichbare Notation, welche sich an die Syntax von C anlehnt. Mit dieser als »High Level TQL« (HTQL) bezeichneten Sprache ist eine abstraktere Beschreibung von Analyseaufgaben ohne detaillierte Kenntnis der Hardwareressourcen realisierbar. Die Trace-Aufgabe wird mit Hilfe von einfachen, bedingten Trace-Aktionen bzw. durch eine Zustandsmaschine beschrieben. Somit lassen sich auch komplexere Debug-Aufgaben vergleichsweise einfach umsetzen. Zu diesem Zweck ist der Sprachumfang von HTQL eher an Hochsprachenkonstrukte angelehnt und spiegelt nur begrenzt die Hardwarerealisierung des ESB wieder. »IF-THEN-ELSE«-Konstrukte dienen zur Definition von bedingten Trace-Aktionen und lassen sich jeweils in einem Zustand, gekennzeichnet durch ein vorangestelltes Label, einbetten. Zustandsübergänge werden durch »GOTO«-Anweisungen realisiert. Ein der eigentlichen Trace-Aufgabe vorangestellter Deklarationsteil initialisiert die Trace-Konfiguration und gibt verwendete Signale bekannt. Ein einfaches Beispiel für HTQL ist in Listing 1 gezeigt.

passend zum Thema

// Definition of signals
TSignal onBufferStartAccs =
    DATA_ADDR.rw == 0x8000A000;
TSignal onBufferElemAccs =
    DATA_ADDR.rw == 0x8000A008;
TSignal inInterruptFct =
    0xD0001000 <= CODE_ADDR <= 0xD0001010;
// State machine defining trace actions
state_0:
    if (onBufferStartAccs) then
        goto state_1;
state_1:
    if (inInterruptFct) then
        store_instruction;
        store_data;
if (onBufferElemAccs) then
    trigger;

Listing 1: Verknüpfung mehrerer Komparatoren in HTQL


  1. Klare Sicht auf den ARM-Core
  2. Klare Sicht auf den ARM-Core
  3. Klare Sicht auf den ARM-Core
  4. Klare Sicht auf den ARM-Core
  5. Klare Sicht auf den ARM-Core

Jetzt kostenfreie Newsletter bestellen!