matite e gomma

Logo di Conformità WCAG-1 di Livello Tripla A, W3C-WAI Web Content Accessibility Guidelines 1.0

Validazione XHTML 1.0 Validazione CSS 3
Logo del Dipartimento di Matematica e Informatica, Insegnamento di Sistemi dedicati, link al Forum

Strumenti di analisi di programmi ed esempi del loro uso

Esercitazione 08 di Sistemi dedicati

Docente: Giuseppe Scollo

Università di Catania
Dipartimento di Matematica e Informatica
Corso di Laurea Magistrale in Informatica, AA 2016-17

Indice

  1. Strumenti di analisi di programmi ed esempi del loro uso
  2. argomenti dell'esercitazione
  3. cross-compilatori e binutils GNU
  4. esempio per processore NIOS II
  5. esempio per simulatore SimIt-ARM
  6. esempio per processore ARM Cortex-A9
  7. esecuzione con debugger per processore NIOS II su FPGA
  8. esperienza di laboratorio
  9. riferimenti

argomenti dell'esercitazione

in questa esercitazione si trattano:

cross-compilatori e binutils GNU

lo sviluppo di programmi per sistemi dedicati è spesso condotto in macchine basate su un processore diverso dal target, cioè quello designato per la loro esecuzione

i cross-compilatori e i programmi di utilità qui considerati sono software libero GNU, che tipicamente hanno i nomi <target>–gcc per il compilatore, dove <target> indica l'architettura target, e <target>–<util> per l'utilità <util>, quale per esempio

esempio per processore NIOS II

l'uso del cross-compilatore nios2-elf-gcc e di un paio di programmi di utilità, illustrato in sez. 7.4 di (Schaumont 2012) per l'esempio nel Listing 7.7, è riproducibile con gli script nell'archivio nios2binutils_example.tgz, reperibile nella cartella crosstools dell'area dedicata di laboratorio

per ciascuna versione sono disponibili due script:

esempio per simulatore SimIt-ARM

l'esempio mostra l'uso del simulatore SimIt-ARM v. 2.1 sia per l'analisi dell'eseguibile che per la simulazione, da linea di comando, di un programma per il calcolo del GCD con l'algoritmo di Euclide (Listing 7.11 in (Schaumont, 2012))

la compilazione usa il cross-compilatore arm-linux-gcc, per ISA ARMv5, realizzata fra altri dal processore StrongARM

l'archivio arm_simitarm_example.tgz, reperibile nella cartella crosstools dell'area dedicata di laboratorio, fornisce due script per l'esercitazione:

esempio per processore ARM Cortex-A9

l'esempio mostra l'esecuzione su ARM Cortex-A9 nel sistema Altera DE1-SoC di una variante del programma nel Listing 7.1, in cui il corpo della funzione main() è costituito da

il caricamento e l'esecuzione hanno luogo mediante il programma altera-monitor-program, sotto controllo del debugger GDB in esso incorporato e mediante la connessione JTAG del programma alla DE1-SoC

l'archivio arm_cortex-a9_example.tgz reperibile nella cartella crosstools dell'area dedicata di laboratorio, contiene gli script:

esecuzione con debugger per processore NIOS II su FPGA

lo stesso sorgente C dell'esempio precedente può essere compilato ed eseguito da softcore NIOS II sulla FPGA nel sistema DE1-SoC, in questo esempio senza alcun altro script bensì per esplorare l'uso del debugger incorporato nel programma monitor

caption text

un'istantanea di esecuzione su board Altera DE1-SoC, controllata dal debugger dell'Altera Monitor Program

esperienza di laboratorio

eseguire gli script forniti per questa esercitazione, esaminare i file prodotti dalla loro esecuzione, individuare aspetti poco noti dei loro contenuti, reperire in rete informazioni su di essi e produrre della documentazione esplicativa in forma di lista di domande e risposte

ecco tre esempi di domanda e risposta, uno per ciascuno dei tre tipi descritti sopra:

riferimenti

letture raccomandate:

letture per ulteriori approfondimenti:

materiali utili per l'esperienza di laboratorio proposta: