Pour le moment, tout en travaillant sur mon ordinateur portable (AMD64), je peux déjà compiler du code via ssh sur un Beaglebone (armhf). Ce que j'essaie de faire maintenant, c'est de pouvoir utiliser n'importe quel IDE pour déboguer ce code (codeblocks, kdevelop ou qtcreator). Donc, j'ai pensé à exécuter un gdbserver sur le beaglebone et à me connecter à celui-ci, mais cela me donne une erreur de valeur inattendue en réponse. J'ai lu des articles à ce sujet et il me semble que j'ai besoin de créer localement un exécutable armhf pour que gdb puisse le traiter. Mais je suppose qu’il a également besoin d’un gdb orienté armhf conçu pour AMD64, j’ai donc essayé d’installer crossbuildbuild-essential-armhf. Pour cela, j’ai ajouté l’architecture armhf avec dpkg --add-architecture armhf, mais j’ai été incapable de faire une mise à jour d’apt-get. J'en ai beaucoup:
Err http://security.ubuntu.com Paquets trusty-security/main armhf
404 Not Found [IP: 2001: 67c: 1562 :: 13 80]
Si je vérifie les pensions, elles n’ont en effet pas d’armhf n’importe où ... Alors, que fais-je de travers? Aussi, est-ce la bonne façon de déboguer à distance avec une architecture différente, ou y a-t-il une meilleure façon de le faire? Je vous remercie.
Ubuntu utilise des dépôts séparés pour armh (c'est-à-dire http://ports.ubuntu.com/
). Pour pouvoir installer crossbuild-essential-armhf avec succès, vous devez suivre ces étapes:
dpkg --add-architecture armhf
spécifiez l'architecture correcte pour TOUTES vos lignes de début apt dans /etc/apt/sources.list
et /etc/apt/sources.list.d
, par exemple:
deb [Arch=AMD64,i386] http://archive.ubuntu.com/ubuntu trusty main universe
deb [Arch=armhf] http://ports.ubuntu.com/ trusty main universe
Notez que cela n’a aucun sens de spécifier l’Arch pour les lignes deb-src.
apt-get update
apt-get install crossbuild-essential-armhf
Regardez https://wiki.debian.org/Multiarch/HOWTO
Vous pouvez également vouloir exécuter ces commandes dans un chroot (ou dans un conteneur de menu fixe) comme indiqué dans ce guide: http://www.cnx-software.com/2012/05/02/getting-started-with -multiarch-armel-armhf-in-ubuntu /
Il existe un large choix de compilateurs croisés basés sur Docker ici: