Board Support Package (BSP)

Table des matières

Qu'est-ce qu'un Board Support Package ?

Un Board Support Package (BSP) est un ensemble de logiciels utilisés pour démarrer et faire fonctionner un système embarqué. C’est le logiciel essentiel nécessaire pour travailler avec une carte. Avec un BSP adéquat, tout ce que vous avez à faire est de démarrer le système et de commencer à développer. Pour les cartes de démonstration, il gère l’ensemble des périphériques nécessaires pour que l’utilisateur puisse exploiter les principales fonctionnalités du SoC et utiliser les composants de la carte. Un BSP est souvent le premier logiciel développé pour être utilisé en conjonction avec une puce particulière ou sa carte d’évaluation.

Board Support Package pour cartes d'évaluation

Lors du développement d’un système embarqué, vous serez tenté par de nouveaux systèmes sur puce (SoC) dont les fonctionnalités peuvent améliorer de manière significative les capacités du produit final. Les Board Support Package pour Linux ou d’autres systèmes d’exploitation sont là pour vous aider à en tirer le meilleur parti.

La plupart des fabricants de puces fournissent des cartes d’évaluation pour vous aider à décider si vous voulez consacrer votre temps et votre budget à un processeur particulier. Ces cartes son parfois aussi appelées cartes de démonstration, kits de développement système (SDK) ou même Embedded Linux Development Kit. Elles vous permettent généralement d’avoir une idée de ce qu’il faut pour démarrer, programmer et exécuter un programme. Le SDK est généralement plus complet. Il peut faire partie d’un BSP qui inclut des logiciels supplémentaires mais il n’y a pas de règle absolue. La définition change d’un fabricant à l’autre.

evaluation board
Voici à quoi ressemble souvent une carte d'évaluation, un CPU et de nombreuses entrées et sorties I/O

Les CPU comportent de plus en plus de fonctionnalités, c’est pourquoi il est primordial de tester non seulement le matériel mais aussi les logiciels qui l’accompagnent. Le BSP initial d’une carte d’évaluation est souvent la première étape pour le BSP de votre carte personnalisée.

Les avantages d'un BSP basé sur Linux

 

Le BSP comprend des programmes d’amorçage de bas niveau (également appelés « first stage bootloader« ), un programme d’amorçage ou « bootloader » (généralement la deuxième étape du processus d’amorçage), un système d’exploitation et les pilotes compatibles pour ce système d’exploitation spécifique. Comme les pilotes sont spécifiques à un système d’exploitation donné, si plusieurs systèmes d’exploitation (p. ex., Linux, Zephyr, FreeRTOS, VxWorks, ThreadX) sont pris en charge, les fabricants fourniront plusieurs BSP. Il initialisera tous les composants internes du SoC, les horloges, les bus de communication, le DDR, la mémoire Flash, etc. Ensuite, il fournit parfois un système de fichiers racine (aussi appelé Rootfs, la structure de fichiers nécessaire au fonctionnement d’un OS) et peut même inclure un ensemble minimal de logiciels nécessaires à la communication ou aux interactions avec les utilisateurs.

De nos jours, les fabricants de semi-conducteurs fournissent souvent un BSP basé sur Linux avec une carte d’évaluation qui contient le support matériel complet de la carte. Linux est vraiment populaire parce qu’il est libre et donc agnostique entre les fournisseurs de semi-conducteurs. Souvent, le fournisseur de semi-conducteurs maintient une branche de l’arbre du noyau Linux avec tout le support de bas niveau requis pour leur SoC. C’est très bien car cela vous permet de passer assez facilement d’un fabricant à un autre tant que vous gardez Linux comme système d’exploitation embarqué (OS) principal.

Comment créer un Board Support Package personnalisé ?

Comme Linux est open-source, personne n’a à payer pour l’utiliser, il est donc libre de construire un BSP personnalisé basé sur un BSP existant. Et c’est là que les choses deviennent franchement géniales : vous pouvez commencer à développer votre logiciel embarqué sur une carte d’évaluation, tout en concevant votre propre carte, puis personnaliser votre propre BSP et faire fonctionner votre logiciel embarqué avec peu de modifications, voire aucune. De plus, il existe des pilotes de périphériques pour presque tous les composants que vous trouverez sur le marché, cela facilitera votre développement de BSP, et réduira drastiquement votre temps de mise sur le marché.

Les choses deviennent encore plus importantes si tout le code et les pilotes spécifiques à un CPU donné sont inclus dans les sources officielles de Linux. Cela signifie souvent que le code a été largement testé, qu’il y a beaucoup d’utilisateurs, que les mises à jour ne dépendront pas de la bonne volonté d’un fabricant qui aura peut être d’autres priorités dans quelques annés. Au lieu de cela, vous bénéficierez de tout le travail effectué en permanence par la communauté.

La cerise sur le gâteau de Linux embarqué est l’écosystème : Vous aurez accès à des milliers de bibliothèques et de logiciels open-source pour créer vos propres applications personnalisées. Vous pouvez utiliser n’importe quel langage pour trouver plus facilement des développeurs.

Board Support Package pour cartes d’évaluation

Lors du développement d’un système embarqué, vous serez tenté par de nouveaux système sur puce (SoC) dont les fonctionnalités peuvent améliorer de manière significative les capacités du produit final. Les Board Support Package pour Linux ou d’autres systèmes d’exploitation sont là pour vous aider à en tirer le meilleur parti.

La plupart des fabricants de puces fournissent des cartes d’évaluation pour vous aider à décider si vous voulez consacrer votre temps et votre budget à un processeur particulier. Ces cartes son parfois aussi appelées cartes de démonstration, kits de développement système (SDK) ou même Embedded Linux Development Kit. Elles vous permettent généralement d’avoir une idée de ce qu’il faut pour démarrer, programmer et exécuter un programme.

Le SDK est généralement plus complet. Il peut faire partie d’un BSP qui inclut des logiciels supplémentaires mais il n’y a pas de règle absolue. La définition change d’un fabricant à l’autre.

evaluation board

Voici à quoi ressemble souvent une carte d’évaluation, un CPU et de nombreuses entrées et sorties I/O

Les CPU comportent de plus en plus de fonctionnalités, c’est pourquoi il est primordial de tester non seulement le matériel mais aussi les logiciels qui l’accompagnent. Le BSP initial d’une carte d’évaluation est souvent la première étape pour le BSP de votre carte personnalisée.

Les avantages d’un BSP basé sur Linux

Un Board Support Package (BSP) est un ensemble de logiciels utilisés pour démarrer et faire fonctionner le système embarqué. C’est le logiciel essentiel nécessaire pour travailler avec une carte. Avec un BSP adéquat, tout ce que vous avez à faire est de démarrer le système et de commencer à développer. Pour les cartes de démonstration, il gère l’ensemble des périphériques nécessaires pour que l’utilisateur puisse exploiter les principales fonctionnalités du SoC et utiliser les composants de la carte. Un BSP est souvent le premier logiciel développé pour être utilisé en conjonction avec une puce particulière ou sa carte d’évaluation.

Le BSP comprend des programmes d’amorçage de bas niveau (également appelés « first stage bootloader« ), un programme d’amorçage ou « bootloader » (généralement la deuxième étape du processus d’amorçage), un système d’exploitation et les pilotes compatibles pour ce système d’exploitation spécifique. Comme les pilotes sont spécifiques à un système d’exploitation donné, si plusieurs systèmes d’exploitation (p. ex., Linux, Zephyr, FreeRTOS, VxWorks, ThreadX) sont pris en charge, les fabricants fourniront plusieurs BSP. Il initialisera tous les composants internes du SoC, les horloges, les bus de communication, le DDR, la mémoire Flash, etc. Ensuite, il fournit parfois un système de fichiers racine (aussi appelé Rootfs, la structure de fichiers nécessaire au fonctionnement d’un OS) et peut même inclure un ensemble minimal de logiciels nécessaires à la communication ou aux interactions avec les utilisateurs.

De nos jours, les fabricants de semi-conducteurs fournissent souvent un BSP basé sur Linux avec une carte d’évaluation qui contient le support matériel complet de la carte. Linux est vraiment populaire parce qu’il est libre et donc agnostique entre les fournisseurs de semi-conducteurs. Souvent, le fournisseur de semi-conducteurs maintient une branche de l’arbre du noyau Linux avec tout le support de bas niveau requis pour leur SoC. C’est très bien car cela vous permet de passer assez facilement d’un fabricant à un autre tant que vous gardez Linux comme système d’exploitation embarqué (OS) principal.

Créer un Board Support Package personnalisé

Comme Linux est open-source, personne n’a à payer pour l’utiliser, il est donc libre de construire un BSP personnalisé basé sur un BSP existant. Et c’est là que les choses deviennent franchement géniales : vous pouvez commencer à développer votre logiciel embarqué sur une carte d’évaluation, tout en concevant votre propre carte, puis personnaliser votre propre BSP et faire fonctionner votre logiciel embarqué avec peu de modifications, voire aucune. De plus, il existe des pilotes de périphériques pour presque tous les composants que vous trouverez sur le marché, cela facilitera votre développement de BSP, et réduira drastiquement votre temps de mise sur le marché.

Les choses deviennent encore plus importantes si tout le code et les pilotes spécifiques à un CPU donné sont inclus dans les sources officielles de Linux. Cela signifie souvent que le code a été largement testé, qu’il y a beaucoup d’utilisateurs, que les mises à jour ne dépendront pas de la bonne volonté d’un fabricant qui aura peut être d’autres priorités dans quelques annés. Au lieu de cela, vous bénéficierez de tout le travail effectué en permanence par la communauté.

La cerise sur le gâteau de Linux embarqué est l’écosystème : Vous aurez accès à des milliers de bibliothèques et de logiciels open-source pour créer vos propres applications personnalisées. Vous pouvez utiliser n’importe quel langage pour trouver plus facilement des développeurs.

Vous avez aimé l'article ? Partagez-le !

Articles connexes

Une réponse

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Besoin d'aide pour votre projet Linux embarqué?

Tux_Linux_développement