Habituellement, pour un appareil embarqué, on ne compile pas de logiciel directement dessus. C'est plus confortable de faire ce qu'on appelle cross-compilation
qui est, en bref, compiler à l'aide de votre PC habituel vers une autre architecture que x86.
Vous avez dit que vous êtes nouveau sur Linux; juste pour votre information, vous êtes confronté à un énorme problème :la compilation croisée vers des périphériques embarqués n'est pas une tâche facile.
J'ai fait des recherches sur votre système IHM et j'ai remarqué des résultats qui parlent de Yocto.Yocto
est, en bref, un cadre complet pour créer des micrologiciels pour les appareils embarqués.
Étant donné que votre IHM utilise massivement des projets Open Source (Linux, probablement busybox, etc.), le fabricant doit vous fournir un moyen de reconstruire tous les composants open source par vous-même. Habituellement, ce que vous devez faire c'est le BSP
(Board Support Package). Le fabricant du matériel l'expédie généralement :
- Utiliser
buildroot
projet qui vous permet de reconstruire tout votre firmware à partir de zéro. - Utiliser
yocto
meta qui, ajouté à une nouvelle copie du projet yocto correspondant, vous permettra également de reconstruire tout votre firmware. - Plus rarement, un tas de scripts de merde et un compilateur pré-construit.
Donc, si j'étais vous, je ferais :
- Contactez l'assistance du fabricant pour demander les éléments nécessaires à la reconstruction du micrologiciel, comme l'implique l'utilisation de l'Open Source.
- En parallèle, recherchez sur Google "votre IHM + yocto", "votre IHM + buildroot", etc.
Après avoir googlé encore plus, j'ai découvert une méta Yocto sur github.
Vous pouvez vérifier les machines implémentées par cette méta dans le répertoire conf/machine de la méta.
Il existe actuellement cinq machines définies sous les noms de code suivants :
- us01-kit
- us02-kit
- us03-kit
- usom01
- usom02
Je vous suggère donc de creuser cela. C'est probablement la façon dont vous pouvez créer des logiciels par vous-même. Vous pouvez également consulter cette page sur le compte github qui peut vous donner d'autres indices.
Je suis d'accord avec la réponse de binarym concernant la compilation croisée. Cependant, si l'on voulait toujours compiler directement sur une machine avec un matériel aussi conservateur, je recommanderais de jeter un coup d'œil à un compilateur plus petit tel que le compilateur Tiny C (tcc) qui occupe environ 100 Ko sur l'architecture x86. Je soulignerai cependant qu'il étend la prise en charge uniquement jusqu'à ISO C99, pas C11.