Cross Compiler ARM GCC None EABI Vs EABI

Catatan ringan saja :). Mungkin berguna jika ingin meracik toolchain dan kencan dengan perangkat ARM.

EABI=Embedded Application Binary Interface.

Jika mengetik program “hello world!” di laptop Intel i7 kalau dikompilasi pakai compiler GCC standard, maka binary hasil kompilasi hanya bisa jalan di arsitektur IA64 atau AMD64.

Kalau ingin “hello world!” bisa jalan di arsitektur ARM, maka diperlukan cross compiler. Iya agar binary hasil kompilasi dari laptop jelek itu bisa jalan diperangkat ARM. Kompilasi dilakukan di arsitektur AMD64 dan hasilnya untuk ARM.

Jika target perangkat ARM ada OS nya, maka host laptop perlu cross compiler tipe EABI. Karena fasilitas OS target ARM akan dipakai untuk menjalankan binary tersebut.

———

Jika target perangkat ARM tidak ada OS nya, maka cross compiler yang diperlukan pada laptop jelek Anda saat kompile adalah None EABI.

Gampangnya, None EABI berarti untuk bare-metal!

Misal board STM32 termasuk bare metal karena board ini bisa jalan tanpa OS sekalipun. chip Mikrokontroler yang dipakai terkandung CPU yang punya arsitektur ARM.

Coba tengok toolchain yang dipakai. Pakai GCC EABI atau None EABI? Pilih None EABI jika ingin lulus tes :).

——–

Contoh lain: Raspberry Pi dengan OS Raspbian. Daripada membuat program langsung di Raspberry Pi, mending buat program di PC dengan AMD Ryzen 9 5900X. Lalu hasilnya di kirim ke raspberry pi. Dalam hal ini diperlukan cross compiler EABI pada PC Ryzen. (Padahal cuma buat “hello world! Saja wkwkwk)

Contoh lain lagi: Raspberry pi tanpa OS. Maka untuk menjalankan binary hasil kompilasi di PC Ryzen 9 tersebut diperlukan cross compiler None EABI. (Meski hanya menampilkan tulisan “hello world!” dilayar monitor… Ini pekerjaan gila dan berkeringat darah lol.)

———-

Jika perangkat ARM sudah tertanam OS nya, sedang program yang dibuat sederhana saja, bikin dan kompile langsung saja diperangkatnya. Tidak perlu cross compiler segala.

Ada banyak vendor toolchain selain GCC. Ada yang gratis ada yang bayar. Paling tidak, setelah baca tulisan ini, Anda tidak salah download toolchain/cross compiler EABI atau None EABI untuk project Anda.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s