Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Constructions de conteneurs pour le bras sur x86

Défi

Pour un développement plus rapide, nous souhaitons créer des conteneurs basés sur ARM pour l'AXCF2152 ou l'AXCF1152 sur du matériel x86. À cette fin, une machine virtuelle basée sur Debian ou Ubuntu est utilisée, qui s'exécute sur notre PC normal.

Nous avons besoin d'un émulateur

Pour exécuter le code binaire ARM sur un système x86, nous avons besoin d'un émulateur qui nous permette de le faire.

Qemu est l'un des rares hyperviseurs capables d'émuler le code binaire ARM et de le compiler pour x86. Tout ce que nous avons à faire est d'installer Qemu sur notre système hôte et d'activer l'émulateur. Installez Qemu pour Ubuntu ou Debian :

apt-get update && apt-get install -y --no-install-recommends qemu-user-static binfmt-support
update-binfmts --enable qemu-arm
update-binfmts --display qemu-arm
Exemple d'utilisation

Pour utiliser Qemu maintenant, nous avons besoin d'une extension dans le conteneur, à savoir le binaire /usr/bin/qemu-arm-static . Il existe plusieurs façons de l'utiliser dans le conteneur.

Si l'extension n'est nécessaire que temporairement et si elle existe localement, elle peut simplement être transmise au conteneur. Pour ce faire, le binaire nécessaire est monté dans le conteneur.

docker run -it --restart always \
    -v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static \
    arm32v7/debian /bin/sh

Cela démarre le conteneur et saute vers un shell dans le conteneur. Maintenant, toutes les modifications nécessaires peuvent être apportées. Les modifications peuvent ensuite être transférées aux images avec un commit.

docker commit ...

Pour une construction de conteneur, le binaire doit être présent dans le conteneur, il y a deux façons de procéder.

1. Le binaire est déjà disponible, il existe des images préfabriquées sur Dockerhub à cet effet. https://hub.docker.com/u/multiarch/

2. Le binaire est ajouté aux images du conteneur.Exemple dockerfile :

From debian:armhf
COPY qemu-arm-static /usr/bin/qemu-arm-static
RUN .....

La ligne COPY doit apparaître directement comme deuxième commande après FROM . Le tout fonctionne avec tous les outils de build.

Un conteneur pour tous

Si vous installez l'extension Qemu sur un AXCF3152, vous pouvez utiliser le même conteneur pour les deux systèmes (x86 et ARM). En ce qui concerne les performances, cela devrait être testé de manière approfondie.


Technologie industrielle

  1. Numération décimale contre numération binaire
  2. Addition binaire
  3. Nombres binaires négatifs
  4. Soustraction binaire
  5. Débordement binaire
  6. Arm permet des instructions personnalisées pour les cœurs Cortex-M
  7. PCB pour environnements difficiles
  8. Fabrication de PCB pour la 5G
  9. Constructions en plusieurs étapes avec conteneur