Board Support Package
![Niente fonti!](http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Question_book-4.svg/45px-Question_book-4.svg.png)
![Abbozzo informatica](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/44px-Computer_n_screen.svg.png)
![Abbozzo elettronica](http://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Nuvola_apps_ksim.png/45px-Nuvola_apps_ksim.png)
Nei sistemi integrati, il Board Support Package (BSP) è il codice di supporto di una specifica implementazione per una data scheda che sia conforme al dato sistema operativo. È comunemente costruito con un bootloader che contiene il minimo supporto periferiche per caricare il sistema operativo e device driver per tutte le periferiche della scheda.
Alcuni fornitori forniscono anche un file system root, un toolchain per consentire ai programmi di girare nei sistemi integrati (quali potrebbero essere parte dell'architettura del support package), e configuratori per le periferiche (mentre girano).
Storia
Questo termine è stato in uso fin dal 1988. La sua origine è comunemente attribuita a Wind River System per il suo sistema operativo integrato VxWorks, ma adesso è largamente utilizzato nell'industria. Per esempio, QNX Software System distribuisce BSP, così fa la Microsoft (per il suo sistema operativo Windows CE).
Esempi
Il board support package di Wind River per l'Integratore ARM scheda 920T contiene, fra le altre cose, i seguenti elementi:
- Un file config.h, il quale stabilisce costanti come ROM_SIZE e RAM_HIGH_ADRS
- Un Makefile, il quale stabilisce versioni binarie delle immagini ROM di VxWorks per programmare le flash memory
- Un file bootrom, il quale stabilisce i parametri della linea di boot per la scheda
- Un file target.ref, il quale descrive la informazioni specifiche per la scheda come switch e jumper di impostazioni, livelli di interrupt e offset bias
- Un'immagine VxWorks
- File C vari, inclusi:
- flashMem.c -- i driver di periferiche per la memoria flash della scheda
- pciIomapShow.c -- file di mapping per i bus PCI
- primeCellSio.c -- driver TTY
- sysLib.c -- routine dipendendenti dal sistema specifiche per questa scheda
- romInit.s -- modi di inizializzazione ROM per la scheda; contengono voci in codice per le immagini che iniziano l'esecuzione dalla ROM
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)