UNIVERSITA’ DEGLI STUDI DI MILANO BICOCCA
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

UNIVERSITA’ DEGLI STUDI DI MILANO BICOCCA FACOLTA’ DI SCIENZE MATEMATICHE, FISICHE E NATURALI PowerPoint PPT Presentation


  • 221 Views
  • Uploaded on
  • Presentation posted in: General

UNIVERSITA’ DEGLI STUDI DI MILANO BICOCCA FACOLTA’ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea Magistrale in Informatica. Automazione di Test di Sistemi Embedded. Relatore: Prof. Mauro PEZZE’ Correlatori: Lorena SIMONI Giuseppe GORGOGLIONE.

Download Presentation

UNIVERSITA’ DEGLI STUDI DI MILANO BICOCCA FACOLTA’ DI SCIENZE MATEMATICHE, FISICHE E NATURALI

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Universita degli studi di milano bicocca facolta di scienze matematiche fisiche e naturali

UNIVERSITA’ DEGLI STUDI DI MILANO BICOCCA

FACOLTA’ DI SCIENZE MATEMATICHE, FISICHE E NATURALI

Corso di Laurea Magistrale in Informatica

Automazione di Test di Sistemi Embedded

Relatore: Prof. Mauro PEZZE’

Correlatori: Lorena SIMONI

Giuseppe GORGOGLIONE

Relazione della prova finale di:

Carmine Carella

Matricola: 055465

Anno Accademico 2009/2010


Indice

Indice

  • Il Software nei sistemi embedded

  • Testing nei sistemiembedded

  • Automazione delTesting

  • Il Progetto Cartesio

  • Contributo della Tesi

  • Attività di testing

  • Conclusioni


Il sw nei sistemi embedded

SW SISTEMI EMBEDDED

Il SW nei SistemiEmbedded

TESTING EMBEDDED

Incidenza percentuale dei sistemi embedded nel costo finale dei prodotti (1)

AUTOMAZIONE

Mercato globale dei sistemi embedded in miliardi di dollari (1)

AMBIENTE SPERIMENTALE

CONTRIBUTO TESI

ATTIVITA’ TESTING

Utilizzo recente dei sistemi operativi per sistemi embedded (1)

Fatturato del software embedded per categoria(1)

(AAGR - Average Annual Growth Rate)

CONCLUSIONI

(1) Brandolese, C. and Fornaciari, W., Sistemi Embedded - sviluppo hardware e software per sistemi dedicati, 2007, Mondadori


Testing nei sistemi embedded

SW SISTEMI EMBEDDED

Testing nei Sistemi Embedded

TESTING EMBEDDED

AUTOMAZIONE

AMBIENTE SPERIMENTALE

CONTRIBUTO TESI

ATTIVITA’ TESTING

CONCLUSIONI


Gli ambienti di testing

SW SISTEMI EMBEDDED

Gliambientidi Testing

TESTING EMBEDDED

AUTOMAZIONE

Ambiente Target

Ambiente Host

Cross-compilazione

Ambiente di esecuzione

Ambiente di sviluppo

AMBIENTE SPERIMENTALE

Host-testing

Target-testing

CONTRIBUTO TESI

  • Test integrazione hw/sw

  • Test di sistema

Approccio simulativo tramite emulazione di piattaforma

ATTIVITA’ TESTING

  • Verifica delle caratteristiche non funzionali del SW

CONCLUSIONI


Automazione del testing

SW SISTEMI EMBEDDED

Automazione deltesting

TESTING EMBEDDED

  • Importanza: migliora efficacia ed efficienza deltesting

  • Problema:

    • Soluzioni ad-hoc (application-specific)

      • Metodologie interne aziendali

      • Letteratura scarsa e approcci poco concreti

  • Soluzione proposta:

    • personalizzazione di strumenti off-the-shelf per adattarliall’architettura specifica in modo garantire il corretto funzionamento dello strumento di automazione

AUTOMAZIONE

AMBIENTE SPERIMENTALE

CONTRIBUTO TESI

ATTIVITA’ TESTING

CONCLUSIONI


Il progetto cartesio

SW SISTEMI EMBEDDED

Il Progetto Cartesio

TESTING EMBEDDED

Board ST

PND Customer

GPIO

SERIAL PORT

CLCDTOUCHPANEL

USB

AUTOMAZIONE

Sviluppo BSP LINUX CARTESIO

  • PROCESSO TESTING

  • Test object: device driver

  • manual and automatic test suite

  • Test funzionali e strutturali

  • Test report: excel

SDCARD

GPS

AUDIO

KEYBOARD

NAND

Command line interface

  • GUI e applicazioni proprietarie

  • BSP customizzato

Kernel + (BSP) device driver

POWERMANAGEMENT

Graphic

ETHERNET

AMBIENTE SPERIMENTALE

Bootloader

BSP linux Cartesio

Firmware

Sviluppo e testing sw in STM

CONTRIBUTO TESI

ATTIVITA’ TESTING

CONCLUSIONI


Contributo della tesi

SW SISTEMI EMBEDDED

Contributo della Tesi

TESTING EMBEDDED

  • Analisi fattibilità e costi della soluzione adottata:

    • Valutazione caratteristiche non funzionali del sw nell’ambiente target attraverso 4 attivita’ di testing rilevanti nel processo di testing del BSP Linux Cartesio

AUTOMAZIONE

AMBIENTE SPERIMENTALE

CONTRIBUTO TESI

ATTIVITA’ TESTING

CONCLUSIONI


Valutazione delle prestazioni del codice nella fase di boot 1

SW SISTEMI EMBEDDED

Valutazione delle Prestazioni del Codice nella Fase diBoot (1)

TESTING EMBEDDED

Obiettivi e Scelta Strumento:

  • Profiling: strategia per valutare le prestazioni del codice

  • FunctionTracing - tecnica di profiling per valutazione di:

    • Prestazioni funzioni kernel eseguite alboot

    • Funzioni dei device driver

  • Analisi e scelta strumento di automazione

    • Bootchart

    • Ftrace

  • Ftrace: framework del kernelLinux

    • FunctionGraphTracer:

      • Misura il tempo di esecuzione delle funzioni (durata delle funzioni)

      • Costruisce il grafo delle chiamate

      • Debugfilesystem per esportare i risultati nello user-space

AUTOMAZIONE

AMBIENTE SPERIMENTALE

CONTRIBUTO TESI

ATTIVITA’ TESTING

CONCLUSIONI


Valutazione delle prestazioni del codice nella fase di boot 2

SW SISTEMI EMBEDDED

Valutazione delle Prestazioni del Codice nella Fase diBoot (2)

TESTING EMBEDDED

  • Personalizzazione di FunctionGraphTracer per l’applicazione su architettura ARM

AUTOMAZIONE

AMBIENTE SPERIMENTALE

KERNEL

Function{

probe

}

Mcount

arch/arm/kernel/entry-common.S

__gnu_mcount_mc

invoca

CONTRIBUTO TESI

invoca

compila

ATTIVITA’ TESTING

Function Graph Tracer

GCC

CONCLUSIONI


Valutazione delle prestazioni del codice nella fase di boot 3

SW SISTEMI EMBEDDED

Valutazione delle Prestazioni del Codice nella Fase diBoot (3)

TESTING EMBEDDED

  • Problema: valori durata non accurati

  • Soluzione: utilizzo di un timer ad alta risoluzione

AUTOMAZIONE

AMBIENTE SPERIMENTALE

Sottosistema

time-management kernel

CONTRIBUTO TESI

  • Modifica driver del timer: arch/arm/mach-cartesio/time.c

LR/HR Timer Framework

Struttura di Stato

Structclock_source

Clock_source_read()

invoca

definisce

APISched-clock()

ATTIVITA’ TESTING

API

implementa

Device driver timer

chiama

astrae

CONCLUSIONI

FunctionDurationTracer

Hardware

HR timer clock chip

LR/HR Hardware clock chips


Valutazione delle prestazioni del codice nella fase di boot 4 risultati sperimentali

SW SISTEMI EMBEDDED

Valutazione delle Prestazioni del Codice nella Fase di Boot (4)Risultati Sperimentali

TESTING EMBEDDED

Ambiente Target

Ambiete Host

AUTOMAZIONE

Debug file system

User-space

Risultati

Strumento Post-Analisi

FDD

Startup sistema

Risultati

MMC

AMBIENTE SPERIMENTALE

Function Graph Tracer

Kernel-space

(Valori temporali in microsecondi)

CONTRIBUTO TESI

0.18sec

0.05sec

ATTIVITA’ TESTING

0.04sec

CONCLUSIONI

0.02sec

0.02sec


Rilevazione di memory leak

SW SISTEMI EMBEDDED

Rilevazione diMemoryLeak

TESTING EMBEDDED

  • Memoryleakage: consumo di memoria

    • Zona di memoria non più necessaria, non deallocata

    • Errore di programmazione

  • Rilevanza nei sistemi embedded

    • Impatto negativo prestazioni e affidabilità sistema

  • Scelto e personalizzato kmemleak

  • Memoryleak nei device driver

AUTOMAZIONE

AMBIENTE SPERIMENTALE

  • Fase inizializzazione driver

    • Funzione init

    • Funzione exit

CONTRIBUTO TESI

ATTIVITA’ TESTING

cartesio_sga_probe

CONCLUSIONI

cartesio_sga_init


Valutazione delle prestazioni di i o su dispositivi di mass storage

SW SISTEMI EMBEDDED

Valutazione delle Prestazioni di I/O su Dispositivi di Mass Storage

TESTING EMBEDDED

Device driver MMC su release BSP 2.3 e 2.4

50.207 KB/s (media)

  • Obiettivi:

    • Valutare le prestazioni

    • Ottimizzazione

  • Strumenti base timecp source dest

  • Limite: scarsa efficacia per processi di ottimizzazione

  • Strumenti complessiper correlare le prestazioni ad altri parametri: cpu cache, buffer cache, ecc.

  • IOzone

AUTOMAZIONE

AMBIENTE SPERIMENTALE

1018 KB/s (media)

CONTRIBUTO TESI

57.642 KB/s (media)

ATTIVITA’ TESTING

9.204 KB/s (media)

CONCLUSIONI


Conclusioni

SW SISTEMI EMBEDDED

Conclusioni

TESTING EMBEDDED

  • Problema:

    • Approcci ad-hoc

  • Soluzione:

    • Personalizzazione di strumenti generali

  • Risultati:

    • Approccio ad-hoc superato

    • Personalizzazione, può influenzare la raccolta e l'analisi dei risultati per valutare la qualità

      • Migliorato il processo di testing STM

        • aree di qualità non esplorate

    • strumenti di automazione

AUTOMAZIONE

AMBIENTE SPERIMENTALE

CONTRIBUTO TESI

ATTIVITA’ TESTING

CONCLUSIONI


Criteri scelta strumenti di automazione

Criteri Scelta Strumenti di Automazione

  • Instrumentazione (implicita o esplicita),

  • Licenza degli strumenti

  • Linguaggio di programmazione con il quale è scritto il sw da testare

  • Sistema operativo

  • Architettura hw utilizzata

  • Ambito di utilizzo e integrazione (strumenti user-space e kernel-space)

  • Interfaccia e reporting (GUI/command-line)


Rilevazione di memory leak 1 scelta dello strumento

Rilevazione di MemoryLeak (1)Scelta dello Strumento

  • Non necessaria la personalizzazione per l’architettura ARM

  • Facilmente integrabile nel kernel


Rilevazione di memory leak 2 nei device driver

Rilevazione di MemoryLeak (2)nei device driver

Associazione tra device e driver

  • Fasi di un device driver:

    • Esecuzione

    • Inizializzazione

  • Fase Inizializzazione

    • Fase platform-dependet del processo di boot del kernel

      • Registrazione dei device

      • Registrazione dei driver

      • Associazione tra device e driver


Rilevazione di memory leak 3 risultati sperimentali

Rilevazione di MemoryLeak (3)Risultati Sperimentali

  • Errore programmazione: mancanza dell’istruzione di deallocazione della struttura di stato

  • Funzione probe e funzione remove

MEMORIA

FUNZIONE REMOVE

kfree (sga)

FUNZIONE PROBE

structcartesio_sga*sga

sga=kzalloc(structcartesio_sga)

struttura di stato

struttura di stato

sga

  • Rilevazione dell'errore con kmemleak

struttura di stato

struttura di stato

  • Problema con i driver caricati come modulo

cartesio_sga_probe

cartesio_sga_init


Rilevazione di memory leak 4 risultati sperimentali

Rilevazione di MemoryLeak (4)Risultati Sperimentali

  • Errore programmazione: mancanza salvataggio dell’handle della struttura di stato allocata

  • Funzione probe

MEMORIA

FUNZIONE PROBE

structcartesio_sga*sga

sga=kzalloc(structcartesio_sga)

amba_set_drvdata(dev,sga)

struttura di stato

sga

Structdevice

Structdevice_private*p

  • Rilevazione dell'errore con kmemleak

cartesio_sga_probe

cartesio_sga_init


Universita degli studi di milano bicocca facolta di scienze matematiche fisiche e naturali

Valutazione delle Prestazioni di I/O su Dispositivi a BlocchiScelta dello Strumento e Personalizzazione

  • Scelta dello strumento di automazione:

    • Bonnie e Bonnie++: valutazione di prestazioni su hard disk (tempi di seek)

    • Tiobench: stress test multi-thread

    • Iozone: verificare le prestazioni con l’influenza della gerarchia di memorie. Più completo

      • diverse operazioni: read, write

      • dimensioni di file differenti (da 64KB a 512MB) trasferiti con record di diverse dimensioni (da 4K a 16MB)

Ambiente Target

AmbieteHost

Risultati compatibili excel

Excel

MMC

User-space

Risultati

IOzone

  • Personalizzazione

CC=arm-stm-linux-gnueabi-gcc

C89= c89

GCC=gcc

CCS= /usr/ccs/bin/cc

NACC= /opt/ansic/bin/cc

CC= cc

C89= c89

GCC=gcc

CCS= /usr/ccs/bin/cc

NACC= /opt/ansic/bin/cc


  • Login