Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Construcciones de contenedores para brazo en x86

Desafío

Para un desarrollo más rápido, queremos crear contenedores basados ​​en ARM para AXCF2152 o AXCF1152 en hardware x86. Para ello se utiliza una máquina virtual basada en Debian o Ubuntu, que se ejecuta en nuestro PC normal.

Necesitamos un emulador

Para ejecutar código binario ARM en un sistema x86 necesitamos un emulador que nos permita hacer esto.

Qemu es uno de los pocos hipervisores que pueden emular código binario ARM y compilarlo para x86. Todo lo que tenemos que hacer es instalar Qemu en nuestro sistema host y activar el emulador. Instalar Qemu para Ubuntu o 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
Ejemplo de uso

Para usar Qemu ahora necesitamos una extensión en el contenedor, a saber, el binario /usr/bin/qemu-arm-static . Hay varias formas de usarlo en el contenedor.

Si la extensión solo se necesita temporalmente y si existe localmente, simplemente se puede pasar al contenedor. Para ello, se monta el binario necesario en el contenedor.

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

Esto inicia el contenedor y salta a un caparazón en el contenedor. Ahora se pueden hacer todos los cambios necesarios. Los cambios se pueden transferir a las imágenes después con una confirmación.

docker commit ...

Para la construcción de un contenedor, el binario debe estar presente en el contenedor, hay dos formas de hacerlo.

1. El binario ya está disponible, existen imágenes prefabricadas en Dockerhub para este fin. https://hub.docker.com/u/multiarch/

2. El binario se agrega a las imágenes del contenedor. Ejemplo dockerfile:

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

La línea COPY debe aparecer directamente como segundo comando después de FROM . Todo funciona con todas las herramientas de compilación.

Un contenedor para todos

Si instala la extensión Qemu en un AXCF3152, puede usar el mismo contenedor para ambos sistemas (x86 y ARM). En cuanto al rendimiento, debe probarse exhaustivamente.


Tecnología Industrial

  1. Numeración decimal versus binaria
  2. Suma binaria
  3. Números binarios negativos
  4. Resta binaria
  5. Desbordamiento binario
  6. Reglas booleanas para simplificar
  7. Secuencia de recuento binario
  8. Arm habilita instrucciones personalizadas para núcleos Cortex-M
  9. PCB para entornos hostiles
  10. Fabricación de PCB para 5G
  11. Construcciones de varias etapas con contenedor