Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Kontainer dibuat untuk lengan di x86

Tantangan

Untuk pengembangan yang lebih cepat, kami ingin membuat wadah berbasis ARM untuk AXCF2152 atau AXCF1152 pada perangkat keras x86. Untuk tujuan ini, mesin virtual berbasis Debian atau Ubuntu digunakan, yang berjalan di PC biasa kita.

Kami membutuhkan emulator

Untuk menjalankan kode biner ARM pada sistem x86, kita memerlukan emulator yang memungkinkan kita melakukan ini.

Qemu adalah salah satu dari sedikit hypervisor yang dapat meniru kode biner ARM dan mengompilasinya untuk x86. Yang perlu kita lakukan adalah menginstal Qemu pada sistem host kita dan mengaktifkan emulator. Instal Qemu untuk Ubuntu atau 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
Contoh penggunaan

Untuk menggunakan Qemu sekarang kita membutuhkan sebuah extension pada container, yaitu binary /usr/bin/qemu-arm-static . Ada beberapa cara untuk menggunakannya dalam wadah.

Jika ekstensi hanya diperlukan sementara dan jika ada secara lokal, itu dapat dengan mudah diteruskan ke wadah. Untuk melakukan ini, biner yang diperlukan dipasang di wadah.

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

Ini memulai wadah dan melompat ke cangkang di dalam wadah. Sekarang semua perubahan yang diperlukan dapat dilakukan. Perubahan dapat ditransfer ke gambar setelahnya dengan komit.

docker commit ...

Untuk build container, biner harus ada di container, ada dua cara untuk melakukannya.

1. Biner sudah tersedia, ada gambar prefabrikasi di Dockerhub untuk tujuan ini. https://hub.docker.com/u/multiarch/

2. Biner ditambahkan ke gambar kontainer. Contoh file docker:

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

Baris COPY harus muncul langsung sebagai perintah kedua setelah FROM . Semuanya berfungsi dengan semua alat build.

Satu wadah untuk semua

Jika Anda menginstal ekstensi Qemu pada AXCF3152, Anda dapat menggunakan wadah yang sama untuk kedua sistem (x86 dan ARM). Mengenai kinerja, ini harus diuji secara ekstensif.


Teknologi Industri

  1. Penomoran Desimal versus Biner
  2. Penambahan Biner
  3. Bilangan Biner Negatif
  4. Pengurangan Biner
  5. Overflow Biner
  6. Aturan Boolean untuk Penyederhanaan
  7. Arm mengaktifkan instruksi yang disesuaikan untuk inti Cortex-M
  8. PCB untuk Lingkungan yang Keras
  9. Manufaktur PCB untuk 5G
  10. Pembuatan multi-tahap dengan wadah