Selamat datang di sonoku.com

C/C++ cross-compiler untuk Beaglebone menggunakan IDE Eclipse

Mengapa perlu cross-compiler?

cdtPermasalahan utama sebenarnya adalah keinginan mendapatkan kemudahan dalam membuat program untuk Beaglebone. Untuk program skala kecil, mungkin kita bisa membuatnya langsung di Beaglebone secara console dengan editor seadanya, atau bahkan menginstal program editor di Beaglebone dan menjalankannya langsung, tentunya dengan mengorbankan beberapa space drive Beaglebone, dan perlu perangkat keyboard dan monitor. Namun untuk program dengan konsep OOP (Object Oriented Programming) tentunya kita perlu IDE (Integrated Development Environment) yang memadai sehingga memudahkan kita dalam menulis program, selain fasilitas seperti debugger, autocomplete, dsb.

Cara yang paling mudah untuk mengatasi masalah ini adalah menginstal IDE di perangkat komputer ‘besar’ lain, membuat program disana kemudian mengkompilasinya, dan menimplementasikan hasilnya ke Beaglebone. Sayangnya solusi ini tidak bisa begitu saja diterapkan. Ada perbedaan mendasar diantara dua mesin (komputer) ini. Kebanyakan komputer/laptop modern menggunakan prosesor Intel, sedangkan Beaglebone Black, khususnya seri Rev C, menggunakan prosesor Sitara AM3359AZCZ100 1GHz yang berbasis ARM Cortex -A8. Jelas ada perbedaan arsitektur diantara keduanya, dengan demikian seolah keduanya berbicara dengan bahasa yang berbeda. Agar komputer/laptop kita bisa menghasilkan kompilasi program yang bisa dimengerti prosesor Beaglebone, maka perlu cross-compiler dengan target ARM di laptop dengan prosesor Intel.

Menggunakan IDE Eclipse

Eclipse adalah IDE hebat yang dapat membantu kita untuk mengembangkan program menggunakan hampir semua bahasa pemrograman seperti Java, C, C++, Fortran, Perl, Phyton, Ruby, bahkan PHP dan masih banyak lagi. Eclipse memberikan kemudahan kostumisasi dan berbagai macam tools dan extensible plug-in untuk memudahkan kita dalam membuat aplikasi. Untuk memulai kerja kita, ikuti beberapa langkah berikut untuk menggunakan Eclipse sebagai IDE dalam mengembangkan program khususnya dengan bahasa C/C++, serta mengintegrasikan compiler ARM agar hasilnya dapat dijalankan di Beaglebone.

1. Instal Java JDK untuk Windows

Pada tahap ini saya menggunakan Java JDK (Java SE Development Kit) versi jdk-8u40-windows-i586, anda bisa mengunduhnya di sini.

2. Kemudian unduh dan instal C++ cross compiler toolchains di linaro.org. Saat ini Beaglebone saya menggunakan Linux Debian sebagai OSnya, untuk itu saya pilih cross compiler yang support dengan Linux dan prosesor ARM. Saya gunakan gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_win32, ekstrak file tersebut di folder C:\gcc-linaro.

Untuk menguji apakah compiler kita sudah bekerja, kita perlu file contoh untuk percobaan. Pada tahap ini kompilasi dilakukan tanpa menggunakan IDE Eclipse. Silakan unduh file hellobone berikut (hellobone.zip), kemudian ekstrak dimana saja anda suka. Dalam contoh ini saya buat folder baru bernama work di C:\work\hellobone. Pertama buka command shell kemudian arahakan ke folder tempat menyimpan file hellobone tadi dan cek apakah file make bisa diakses  dengan menjalankan perintah make  -v.

Setelah itu kita coba compile project hellobone, ketikkan make.

Jika muncul kata SUCCESS berarti proses kompilasi sudah bisa kita gunakan untuk proses kompilasi nanti. Sekarang saatnya menintegrasikan gcc compiler dengan IDE Eclipse.

3. Instal Eclipse

Untuk mengunduh Eclipse silakan menuju www.eclipse.org/downloads dan pilih versi eclipse terbaru untuk pengembang C++. Saya menggunakan Eclipse Luna, silakan unduh file eclipse-cpp-luna-SRK2-win32.zip. Ekstrak file tersebut di drive C:\Eclipse.

Kemudian jalankan eclipse.exe anda akan menemui tampilan berikut, jika tidak biasanya terjadi permasalahan lokasi variabel environment dari file Java yang sudah diinstal sebelumnya.

Klik icon workbench di pojok kanan atas, anda akan diarahkan pada tampilan work IDE dari eclipse yang masih kosong seperti gambar berikut.

Eclipse Luna untuk pengembang C++ sebenarnya sudah dilengkapi dengan compiler C++ seperti Namun dalam kasus ini kita tidak menggun fungsi make dari Eclipse, tapi menggunakan file make yang sudah ada dalam folder hellobone.  Untuk itu, selanjutnya buka project hellobone, kita akan coba untuk mengkompilasinya menggunakan Eclipse.

Buka File->New->Makefile Project with Existing Code kemudian arahkan ke folder tempat menyimpan file contoh hellobone. Pilih <none> untuk Toolchain for indexer Settings, klik Finish.

Kemudian buka file hellobone.c melalui Project Explorer, akan tampak seperti berikut

Kemudian coba compile project hellobone dengan klik Project->Build All. Mungkin anda menemui kesalahan seperti gambar berikut.

Dalam hal ini berarti kita belum sertakan path file make.exe eksternal yang telah kita install tadi (file make ada di folder dimana kita menginstal yagarto tools, punya saya ada di C:\Program Files\yagarto-tools-20070303\bin). Untuk menambahkan pada environment variable IDE Eclipse piliha Window->preferences, kemudian pilih C/C++ – Build – Environment. Pilih Add kemudian isikan alamat tempat menyimpan file make.exe tadi.

Setelah menambahkan kita bisa mulai lagi dengan build all. Jika berhasil akan muncul pesan console seperti berikut, atau paling tidak tidak ada pesan kesalahan lagi. Jika file sudah pernah berhasil dikompilasi, maka akan muncul pesan  di console make: Nothing to be done for `all’. Coba edit file hellobone.c, misalnya mengganti “Hello world ” dengan “Hello sonoku”, kemudian kompilasi lagi.

pada tahap ini berarti Eclipse sudah bisa digunakan untuk mengembangkan program C++ sekaligus mengkompilasinya. Hasilnya dapat ditransfer dan dieksekusi di Beaglebone.

 

Comments

comments

Leave a Reply