Benvenuti nel sito Fortech Embedded Labs

Descrizione dettagliata corso Building Solutions with Windows® Embedded CE 6.0 R2

0. Introduzione

Verranno descritti gli argomenti del corso, panoramica delle soluzioni microsoft nell'ambito embedded e un accenno ai pre-requisiti utili per meglio comprendere i contenuti del corso.
In questa fase ai partecipanti sarà chiesto di presentarsi, descrivere le proprie competenze, mansioni e aspettative relative al corso.

1. Operating system overview

In questo capitolo verranno descritte le caratteristiche fondamentali del sistema windows CE: piattaforme supportate, supporto real-time, differenze e compatibilità con gli altri sistemi operativi microsoft.
Verrà illustrata la storia del sistema operativo, dalla versione 1.0 introdotta nel 1996 descrivendone l'evoluzione e le nuove caratteristiche introdotte dalle diverse versioni.
Verranno viste in particolare dettaglio le ultime novità introdotte dalla release 6.0 e dai successivi aggiornamenti R2 e R2.

2. Tools for platform development

Il capitolo fornirà una serie di informazioni relative all'ambiente di sviluppo che saranno poi approfondite nei capitoli successivi.
Si partirà dal processo di installazione dell'ambiente di sviluppo (aggiornamenti compresi) e verrà introdotta la terminologia utilizzata nel proseguimento del corso per descrivere i diversi componenti e strumenti disponibili.
Gli utenti potranno prendere confidenza con l'ambiente di sviluppo (IDE) e un laboratorio (2.1) li porterà a realizzare una prima immagine di Windows CE che verrà utilizzata nelle successive esercitazioni pratiche.
Sarà introdotto il sistema di compilazione, oggetto del capitolo 5, e verrà realizzata una semplice applicazione (lab. 2.2).
Saranno discusse e provate (lab.2.3) le funzioni di debug remoto.
Infine verrà descritta la struttura delle directory principali dell'installazione di Window CE per fornire agli studenti le nozioni fondamentali per trovare i diversi componenti all'interno delle cartelle.

3. Operating system internals

In questo capitolo vengono descritte le caratterische architetturali fondamentali del sistema operativo.
Verrà discussa l'architettura generale, la suddivisione dei compiti tra user mode e kernel mode, la collocazione dei diversi componenti.
Verrà analizzato in dettaglio il modello di organizzazione della memoria sia a livello di applicazioni che a livello di kernel.
I tool di analisi della memoria verranno utilizzati per riscontrare praticamente quanto visto nella parte teorica (lab. 3.1).
Verrà analizzato il funzionamento dello schedulatore, analizzando le differenze tra thread e processi, le politiche di schedulazione adottate in Windows CE e le linee-guida per organizzare al meglio l'archiettura del proprio sistema in modo da sfruttare al meglio le caratteristiche del sistema operativo ricavando il massimo dell'affidabilità e delle performances.
Saranno discussi i diversi oggetti di sincronizzazione supportati dal sistema (sezioni critiche, mutex, semafori, eventi, code di messaggi), descrivendo per ognuno l'utilizzo tipico e le diverse varianti supportate da Window CE.
Il laboratorio 3.3 consentirà di verificare nella pratica i concetti relativi alla schedulazione e alla sincronizzazione.
Verrà poi descritto il meccanismo di gestione delle interruzioni, descrivendo i componenti coinvolti e come questi possono essere adattati all'hardware e alle esigenze applicative.

4. Operating system components

In questo capitolo verranno descritti alcuni dei componenti base del sistema operativo.
Verrà descritto il filesystem illustrando le funzionalità di base, i filesystems supportati da Windows CE, l'architettura generale del file system manager e le possibili integrazioni (filtri, file system customizzati).
Sarà illustrato il database di configurazione del sistema (registry), illustrando le due tipologie supportate da Windows CE (RAM based registry e hive based registry) e gli scenari di utilizzo.
Il laboratorio 4.1 consentirà agli utenti di esplorare il database di configurazione di un dispositivo.
Verrà discussa la gestione del power management, le modalità per implementare il supporto della gestione dei consumi nei driver e per controllare il sistema dalle applicazioni.
Il laboratorio 4.2 illustrerà nella pratica quanto visto in merito alla gestione dei consumi.
Verranno discusse le problematiche relative al supporto di diverse lingue e convenzioni nazionali.
Saranno illustrati i servizi che il sistema operativo offre per supportare diverse lingue, convenzioni, set di caratteri, modalità di inserimento del testo, supporto di più lingue all'interno dello stesso dispositivo.

5. The Build System

Verrà illustrata l'organizzazione delle directory coinvolte nella compilazione dell'immagine del sistema operativo e dei diversi tool utilizzati per i vari passaggi di compilazione.
Verranno descritti i diversi tipi di file di configurazione (configurazione dell'immagine, del registry, del filesystem e dei database) e come modificarli a seconda delle esigenze applicative.
Verranno descritti i makefile utilizzati per compilare i componenti in formato sorgente e sarà poi possibile sperimentare le nozioni apprese nel laboratorio 5.1.
Verrà discusso il sistema di build a linea di comando, le sue integrazioni con l'ambiente grafico e i possibili utilizzi per compilazioni automatiche.
Nel laboratorio 5.2 sarà possibile effettuare le operazioni di compilazione tramite la linea di comando.
Verranno discusse le tipologie di errore riscontrate più di frequente durante la compilazione del sistema, fornendo suggerimenti su come risolvere i problemi e limitare le operazioni di compilazione allo stretto necessario, al fine di ridurre i tempi di build.
Il laboratorio 5.3 consentirà di applicare le nozioni apprese ad un caso pratico, risolvendo un problema di compilazione.

6. The Board Support Package

Verrà discussa l'architettura di un BSP, analizzando i diversi componenti.
Sarà presentato il supporto che il sistema fornisce per lo sviluppo di nuovi BSP o la modifica di BSP esistenti, analizzando i sorgenti comuni, le librerie di appoggio e le loro modalità di utilizzo all'interno del proprio codice.
Verranno discussi i componenti del BSP: bootloader, OAL (livello kernel), file di configurazione.
Nel laboratorio 6.1 sarà possibile sperimentare le nozioni apprese modificando la configurazione di un BSP.
Verranno descritte le operazioni necessarie per realizzare un nuovo BSP partendo da un BSP esistente.
Nel laboratorio 6.2 verrà illustrato il codice dell'OAL, descrivendo l'implementazione di una funzione custom al suo interno.

7. Device Drivers Concepts

Verrà discussa in dettaglio l'architettura di sistema relativamente ai drivers.
Saranno illustrate le diverse tipologie di driver supportate.
Verrano presentati i diversi approcci per la realizzazione di un driver (a livelli o monolitico), le diverse interfacce verso il sistema operativo (native o streming I/O).
Sarà descritta in dettaglio la struttura di un driver di streaming I/O.
Verrà presentato il supporto per i driver in user mode, descrivendo vantaggi e svantaggi di questa soluzione.
Saranno descritte le tecniche da utilizzare per la gestione dei buffer di memoria passati dalle applicazioni ai driver con particolare attenzione alla gestione degli embedded pointers e dell'accesso asincrono ai buffer.
Verranno illustrate le modalità per il caricamento dei driver e l'accesso agli stessi da parte delle applicazioni.
Saranno analizzati driver di gestione dei bus.
Nel laboratorio 7.1 gli studenti potranno realizzare un semplice driver e integrarlo in un BSP.
Saranno illustrate le tecniche di debug per i driver e le funzioni di logging implementate dal sistema operativo.
Il laboratorio 7.2 consentirà di sperimentare le tecniche di debug applicandole al driver di esempio realizzato nel laboratorio precedente.

8. Customizing the OS Design

In questo capitolo verranno discusse le modalità di customizzazione del sistema operativo per consentire agli studenti di modificare il sistema operativo in funzione delle proprie esigenze.
Saranno descritti i componenti del catalogo standard di Windows CE, il formato dei files di catalogo.
Nel laboratorio 8.1 gli studenti realizzeranno un file di configurazione e lo potranno aggiungere al catalogo di Windows CE, alla pari dei componenti forniti dal produttore.
Verrà illustrato il concetto di Shell e le possibili alternative per integrare una shell di diverso tipo o realizzare una custom.
Il laboratorio 8.2 illustrerà nella pratica la realizzazione di una shell ad-hoc basata sul browser internet explorer.
Verranno descritte le funzioni dell'SDK per lo sviluppo delle applicazioni e come questa funzionalità può essere sfruttata per fornire agli sviluppatori ad alto livello la possibilità di realizzare e debuggare applicazioni per uno specifico dispositivo.
Nel laboratorio 8.3 verrà realizzato un SDK per il dispositivo di esempio realizzato nei laboratori precedenti.

9. Application Development

In questo capitolo verranno descritte le diverse possibilità fornite per lo sviluppo di applicazioni, descrivendo vantaggi e svantaggi delle diverse tecnologie e fornendo scenari di utilizzo e possibilità di integrazione.
Verranno descritti gli strumenti per lo sviluppo di applicazioni native, in linguaggio C o C++ usando direttamente le API del sistema operativo o sfruttando librerie di classi quali MFC o ATL/WTL.
Sarà illustrato il .NET Compact Framework, descrivendo gli strumenti e le funzionalità per lo sviluppo di applicazioni managed.
Nel laboratorio 9.1 verrà realizzata un'applicazione managed utilizzando il linguaggio C#, integrandola poi in un'immagine del sistema operativo.

10. Testing & verification

In questo capitolo saranno descritti gli strumenti forniti per il test automatico e la verifica delle funzionalità del sistema.
Verrà descritto in dettaglio il test-kit, descrivendone l'architettura e illustrando come possono essere sviluppati moduli aggiuntivi, integrandoli nel sistema di test automatico fornito da microsoft.
Saranno illustrati i moduli tux e katoh per gestire l'invocazione dei test tramite command line e la generazione di log che possono essere trasferiti in automatico al PC dello sviluppatore.
Verranno inoltre descritti i tool per simulare situazioni di stress del sistema (stress tool) e per controllare memory o resource leaks (application verifier), presentando scenari di utilizzo per ognuno degli strumenti presentati.
Nel laboratorio 10.1 gli studenti potranno sperimentare le funzioni del test kit.

Ad ogni partecipante verranno forniti:
- manuale studente (stampa delle slides del corso)
- manuale dei laboratori
- files di esempio necessari allo svolgimento dei diversi laboratori.

I manuali potranno essere forniti in formato cartaceo o elettronico (PDF).

News

12/03/2010
Corso "Building Solutions with Windows Embedded CE 6.0 R3" dal 12 al 16 Aprile
Building Solutions with Windows® Embedded CE 6.0 Corso Microsoft MSDN-2542 con materiale ...
09/11/2009
Corso "Building Solutions with Windows® Embedded CE 6.0" dal 30 Novembre al 4 Dicembre
Building Solutions with Windows® Embedded CE 6.0 Corso Microsoft MSDN-2542 Il corso si ...
18/02/2009
Fortech Embedded Labs diventa Windows Embedded Silver Partner
L'impegno nel settore embedded e la competenza di Fortech Embedded Labs relativamente ...
12/02/2009
Corso "Building Solutions Using Windows Embedded CE 6.0 R2" (MSDN-2542)
Descrizione Dal 4 all'8 Maggio 2008 si svolgerà, presso la sede Fortech ...
12/02/2009
Windows Embedded Seminars
Fortech Embedded Labs partecipa al seminario Windows Embedded che si terrà ...