Windows CE 6.0 R3 Build System Series – 2. Sysgen ed Environment Variables

Il design dell’immagine di Windows CE viene tipicamente eseguito utilizzando l’IDE Platform Builder e selezionando i componenti che vogliamo includere nell’immagine stessa attraverso il Catalog Items. Ebbene, ogni qual volta aggiungiamo o eliminiamo un componente dal progetto, l’IDE non fa nient’altro che settare o eliminare una variabile di ambiente associata al componente in oggetto.

Ad esempio, immaginiamo di voler includere nell’immagine il componente che permette l’installazione dei file .cab. Tale componente lo troveremo nel Catalog Items al seguente percorso : Core OS –> CEBASE –> Applications – End User –> CAB File Installer/Uninstaller. Ad esso è associata l’inclusione dell’eseguibile wceload.exe all’interno dell’immagine.

5557.wceload_44186DEC

Se selezioniamo tale componente ed analizziamo la finestra delle proprietà, possiamo osservare che ad esso è associata una Sysgen Variable denominata SYSGEN_WCELOAD.

0407.wceload_props_49F31185

In corrispondenza di tale selezione, il Platform Builder modifica il contenuto del file batchPBInitEnv.bat al percorso %_PROJECTROOT% (che vedremo in futuro) che sarà ad del tipo C:\WINCE600\OSDesigns\<MyOSDesignSolution>\<MyOSDesignProject>\Wince600\<MyOSDesign>_<TargetCPU>. Nell’immagine che esegue, è evidenziata in giallo la variabile settata attraverso l’istruzione di set.

1665.wceload_sysgen_224C955B

Le Sysgen Variables non sono le uniche variabile ad essere settate durante il design di un’immagine ma ce ne sono altre legate alla BSP del target device, legate al progetto ed alle configurazioni di carattere generale sull’immagine stessa. Complessivamente, abbiamo :

  • SYSGEN_XXX : variabile associate ai componenti del sistema operativo da poter includere o meno nell’immagine;
  • BSP_XXX, BSPNO_XXX : variabili associate ai componenti della BSP del target device. Esse possono essere relative all’inclusione di un driver oppure ai settings strettamente legati alla piattaforma per la quale stiamo sviluppando;
  • IMG_XXX, IMGNO_XXX : variabili associate alla configurazione dell’immagine del sistema operativo. Esse vengono tipicamente settate nell’ambito delle Build Options. Un esempio tipico è l’inclusione o meno del KITL e del debugger nell’immagine; il primo attraverso la build option “Enable KITL” associato al set della variabileIMGNOKITL mentre il secondo attraverso la build option “Enable kernel debugger”associato al set della variabile IMGNODEBUGGER;
  • PRJ_XXX : variabili strettamente legate al progetto corrente di design dell’imagine;

Tipicamente le BSP e Project Variables vengono settate attraverso la tab delle Environment Variables nella finestra delle proprietà del progetto.

In definitiva, la definizione o meno di tutte le variabili in gioco confluisce sempre nel file PBInitEnv.bat attraverso un’istruzione di set. Come vedremo, quindi, tale file è utilizzato per predisporre il sistema al build, poichè contiene al suo interno i setting relativi ai componenti che vorremo includere nell’immagine. Proprio per questo il suo nome ha il significato di Platform Builder Initialization Environment.

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