Debugging con ARM CoreSight

ARM CoreSight è un buon esempio di debug per i processori eterogenei multicore. Per elaborare i molteplici compiti all'interno di un sistema embedded, i processori che contengono tipi di core differenti sono sempre più utilizzati. Per poter eseguire correttamente il debug di tale sistema, devono essere soddisfatte due condizioni:

    1. Il processore multicore deve disporre di adeguati on-chip debug e "trace logic".
    2. L'ambiente di sviluppo deve supportare il debugging dei singoli cores e del sistema nel suo insieme, fornendo sofisticate funzionalità di analisi e verifica.

Questo articolo descrive come l'ambiente di sviluppo TRACE32 soddisfa questi requisiti insieme a on-chip debug CoreSight e la tecnologia trace.

ARM CoreSight, che cos'è?

CoreSight è il nome del debug on-chip e della tecnologia trace, nome dato appositamente da ARM ai processori multicore. CoreSight non è stato progettato come un blocco fisso logico, ma come un kit di costruzione che fornisce molti componenti diversi. In questo modo, il progettista del processore multicore può decidere quali funzioni realizzare per il debug e il trace. CoreSight offre una grande libertà di configurazione.

Il concetto del kit di costruzione di CoreSight ha un certo effetto sul tool di sviluppo utilizzato. Se il tool riconosce il processore e la configurazione dei componenti CoreSight, il debugging è molto più semplice. Per i nuovi processori, il concetto del kit di costruzione (Coresight) comporta che i sistemi di sviluppo (debugger) abbiano un elevato grado di flessibilità. Anche se le informazioni di configurazione del CoreSight possono essere lette dal processore, è comunque, spesso, necessario chiarire i dettagli dell'attuazione con il designer del processore.

Un processore eterogeneo multicore composto da core RISC ARM11 e Cortex-A e Ceva-X DSP è stato scelto per gli esempi che seguono.

CoreSight Debug

Per i processori con CoreSight, tutti i core vengono "debuggati" su un'interfaccia JTAG. Un ambiente di sviluppo per il nostro processore è costituito dai seguenti prodotti Trace32:

    1. Un modulo universale PowerDebug collegato all'host tramite USB o un'interfaccia Ethernet
    2. Un cavo di debug per le architetture ARM11, Cortex-A e Ceva-X
Debug ARM Coresight

Nei processori eterogenei multicore, i singoli core, di solito, lavorano ai loro task in modo relativamente indipendente l'uno dall'altro. Ha quindi senso di avviare un'instance separata Trace32 per eseguire il debug di ogni core.

Per verificare che i core funzionano correttamente insieme, deve essere possibile eseguire il debug attraverso i core. A tal fine, CoreSight fornisce un sistema di cross-trigger che permette il debug synchronous di tutti i core: se un core si ferma ad un breakpoint, gli altri core vengono stoppati in modo sincrono. Questo significa che l'utente può visualizzare il contesto dei core in qualsiasi posto selezionato nel programma. Oltre a questa funzione di base per il debugging multicore, TRACE32 è in grado di fornire altre funzioni utili di debug a seconda della configurazione CoreSight.

Le caratteristiche del TRACE32 per il debug CoreSight

  • Supporto flessibile per i processori multicore con CoreSight; Lauterbach offre debug per tutti i core ARM/Cortex e per una vasta gamma di DSP
  • Debug attraverso l'interfaccia JTAG e la porta Serial Wire Debug (SWD)
  • Accesso runtime alla memoria fisica e ai registri periferici
  • Debug sincrono di tutti i core e di tutte le periferiche
  • La modalità di power-down di un core non ha alcun effetto sul debug degli altri core

CoreSight Trace

Le informazioni di trace di tutti i cores confluiscono in un'interfaccia comune. Sotto CoreSight, un componente che genera le informazioni di trace può essere assegnato ad ogni core. Per il nostro modello di processore, questi sono i seguenti componenti:

  • ARM ETM per ARM11 e Cortex-A
  • Ceva-X ETM per Ceva-X

Le caratteristiche del TRACE32 per CoreSight-Trace

  • Supporto flessibile per i processori multicore con CoreSight; TRACE32 supporta l'analisi delle informazioni di trace per ARM ETM ed una vasta gamma di DSP ETM
  • Trace dei cicli del bus AMBA AHB
  • Trace dei dati emessi dall'applicazione con l'aiuto dell' Instrumentation Trace Macrocell (ITM)
  • Analisi di runtime
Scarica subito una copia gratis
Tags:,

5 Commenti

  1. Avatar photo Eleonora29 24 Maggio 2011
  2. Avatar photo Giovanni Giomini Figliozzi 24 Maggio 2011
  3. Avatar photo slovati 25 Maggio 2011
  4. Avatar photo Emanuele 25 Maggio 2011
  5. Avatar photo Giovanni Giomini Figliozzi 25 Maggio 2011

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend