Windows CE 6.0 R3 Build System Series – 3. Tree structure

Nell’ambito del build system di Windows CE, entra fortemente in gioco  la struttura delle directory (tree structure) all’interno della quale troviamo :

  • il codice sorgente Microsoft e delle BSP installate;
  • i tool per il build dell’immagine del sistema operativo;
  • i file batch e gli script relativi al sistema di build;
  • i componenti compilati (librerie statiche .lib, librerie dinamiche .dll ed eseguibili .exe);
  • i file di configurazione dell’immagine (file di registro, file di database, …);
  • l’immagine definitiva in formato binario;

Per poter comprendere al meglio il sistema di build, è utile se non necessario, conoscere bene la struttura delle directory di installazione del Platform Builder, considerando che vengono utilizzate anche delle variabili di ambiente per poter fare riferimento ad una directory piuttosto che ad un’altra.

Di seguito un elenco di tutte le variabili suddette e le directory associate con il relativo scopo :

  • _WINCEROOT : è la directory root e tipicamente C:\WINCE600;
  • _PUBLICROOT : è la directory PUBLIC al percorso %_WINCEROOT%\PUBLIC, all’interno della quale troviamo tutti i componenti hardware indipendent del sistema operativo;
  • _PRIVATEROOT : è la directory PRIVATE al percorso %_WINCEROOT%\PRIVATE, nella quale troviamo il codice sorgente del sistema operativo se durante l’installazione del Platform Builder abbiamo selezionato la feature “Shared Source” accettando il relativo license agreement;
  • _PLATFORMROOT : è la directory PLATFORM al percorso %_WINCEROOT%\PLATFORM, nella quale ci sono tutte le BSP installate (sia quale incluse di default durante l’installazione che quelle aggiunte successivamente perché fornite dal vendor del nostro target device). In ciascuna sottodirectory troviamo i drivers, l’implementazione dell’OAL, il bootloader ed i file di configurazione per la specifica BSP. E’ da segnalare anche la presenza della sottocartella COMMON, con del codice sorgente comune a più piattaforme;
  • _PROJECTROOT : è la directory nella quale troviamo tutti i componenti compilati e filtrati nell’ambito del nostro OS design (tutto ciò che abbiamo deciso di includere), pronti per essere inclusi nell’immagine del sistema operativo. Ovviamente, è strettamente legata al nostro progetto e sarà  del tipo %_WINCEROOT%\OSDesigns\<MyOSDesignSolution>\<MyOSDesignProject>\Wince600\<MyOSDesign>_<TargetCPU>;
  • _FLATRELEASEDIR : è la directory nella quale, al termine del build troviamo tutti i file che sono stati inclusi nell’immagine ed il file binario dell’immagine stessa. E’ ovviamente relativa al nostro progetto, ed avrà un percorso del tipo %_WINCEROOT%\OSDesigns\<MyOSDesignSolution>\<MyOSDesignProject>\RelDir\;

Per quanto riguarda invece i percorsi in cui trovare i tool e gli script del sistema di build :

  • %_WINCEROOT%\PUBLIC\COMMON\OAK\BIN\I386 : qui troviamo tutti i tool necessari quali build.exe, makeimg.exe, fmerge.exe e così via;
  • %_WINCEROOT%\PUBLIC\COMMON\OAK\MISC : contiene tutti i file batch utilizzati dal sistema di build;
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s