J'ai acheté une interface homme-machine (Exor Esmart04). Fonctionnant sous Linux 3.10.12, cependant ce Linux est supprimé et n'a pas de compilateur C. Un autre problème est l'espace disque:
J'ai essayé d'y installer GCC mais je n'ai pas assez d'espace disque pour cela, est-ce que quelqu'un a d'autres solutions ou d'autres compilateurs C qui nécessitent moins d'espace disque?
Habituellement, pour un appareil intégré, on ne compile pas de logiciel directement dessus. Il est plus confortable de faire ce qu'on appelle cross-compilation
qui est, en bref, la compilation en utilisant votre PC normal 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 appareils intégrés n'est pas une tâche facile.
J'ai fait des recherches sur votre système IHM et j'ai remarqué certains résultats qui parlent de Yocto. Yocto
est, en bref, tout un framework pour construire un firmware pour des 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 en toi même. Habituellement, ce que vous devez faire c'est BSP
( Board Support Package ). Le fabricant de matériel l'expédie habituellement:
buildroot
qui vous permet de reconstruire l'intégralité de votre firmware à partir de zéro.yocto
qui, ajoutée à une nouvelle copie du projet yocto correspondant, vous permettra également de reconstruire l'intégralité de votre firmware.Donc, si j'étais toi, je:
Après googler encore plus, j'ai découvert une méta sur Yocto 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:
Je vous suggère donc de creuser cela. C'est probablement ainsi que vous pouvez créer vous-même un logiciel. Vous pouvez également vérifier cette page sur le compte github qui peut vous donner plus d'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 oeil à un compilateur plus petit tel que le Tiny C Compiler (tcc) qui prend environ 100 Ko sur l'architecture x86 . Je soulignerai cependant qu'il étend la prise en charge uniquement jusqu'à ISO C99, pas C11.