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

Construction efficace de conteneurs ARM sur systèmes x86

Défi

Pour un développement plus rapide, nous voulons créer des conteneurs basés ARM pour AXCF2152 ou AXCF1152 sur du matériel x86. On utilise une machine virtuelle Debian/Ubuntu sur notre PC.

Il nous faut un émulateur

Pour exécuter du code binaire ARM sur x86, nous avons besoin d'un émulateur le permettant.

Qemu est l'un des rares hyperviseurs capables d'émuler du code binaire ARM et de le compiler pour x86. Il suffit d'installer Qemu sur le système hôte et d'activer l'émulateur.

Installation Qemu pour Ubuntu/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, il faut une extension dans le conteneur : le binaire /usr/bin/qemu-arm-static. Plusieurs façons de l'utiliser.

Si l'extension n'est nécessaire que temporairement et existe localement, on peut la monter 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 ouvre un shell. On fait les modifications nécessaires, puis on les committe dans l'image :

docker commit ...

Pour un build de conteneur, le binaire doit être présent dans le conteneur. Deux façons :

1. Le binaire est déjà disponible : images préfabriquées sur Docker Hub. https://hub.docker.com/u/multiarch/

2. Ajouter le binaire à l'image du conteneur.
Exemple Dockerfile :

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

La ligne COPY doit apparaître directement en seconde commande après FROM. Cela 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). Côté performance, à tester intensivement.

Technologie industrielle

  1. Numération décimale vs binaire : poids de position, efficacité et conversion
  2. Addition binaire expliquée : règles, exemples et rôle dans les ordinateurs numériques
  3. Comprendre les nombres négatifs en binaire : signe-magnitude, complément et complément à deux
  4. Soustraction binaire par complément à deux
  5. Débordement binaire : comment les bits de signe affectent l'addition binaire
  6. Arm introduit le support d'instructions personnalisées pour les cœurs Cortex-M, élargissant la flexibilité
  7. PCB robustes pour conditions extrêmes : Conception, avantages et applications
  8. Fabrication PCB à l'ère de la 5G : tendances et défis
  9. Optimiser les déploiements avec les builds multi-étapes Docker