ARM11, Freescale i.MX31, dan g++

Bismillahirrahmanirrahim.

PHYTEC phyCORE, gambar diambil dari situs resminya

Daripada menganggur, lebih baik catatan kecil ini diterbitkan di sini. Semoga bermanfaat.

Spesifikasi Mesin PHYTEC phyCORE-i.MX31

  • Freescale i.MX31 berbasis ARM 11[1] sampai dengan 532 MHz
  • VGA MPEG-4 HW encode
  • 512 MB DDR / 1 GB NAND
  • SD/SDIO/MMC
  • USB HS 2.0 OTG and Host
  • UART, SPI, I2C, I2S
  • Display, touch controller
  • Linux dan Windows CE 6.0 BSPs [2]


 

Perintah Kompilasi g++ untuk PHYTEC phyCORE i.MX31

aram *.cpp *.hpp -o picor -std=gnu++0x -lpthread

Maksud dari perintah ini adalah melakukan kompilasi dan linking dengan g++ ARM, antara seluruh berkas .cpp dan .hpp dengan flag pertama -std=gnu++0x yang maksudnya mengatur dialek bahasa C menjadi GNU C++11 yakni standar ISO C++ 2011[3], dan flag kedua -lpthread yang merupakan instruksi untuk linking dengan pustaka (library) pthread. Flag -o picor adalah instruksi agar g++ ARM membuat eksekutabel biner bernama picor sebagai hasil kompilasi dan linking. Hasil dari kompilasi ini semua adalah sebuah berkas eksekutabel berukuran sekitar 3.1 MB. Seluruh program yang dihasilkan dengan perintah ini akan memiliki ukuran sekian atau lebih besar.

Skrinsot eksekusi perintah kompilasi yang berhasil adalah sebagai berikut.

picor1

Adapun keluaran warning bisa diabaikan karena tidak mengehentikan proses linking sampai program dihasilkan. Berikut ini skrinsot ls -lah terhadap direktori kompilasi yang menunjukkan besar ukuran program yang berhasil dikompilasi.

picor2

Catatan: nama perintah aram adalah alias untuk program g++ ARM bernama arm-1136jfs-linux-gnueabi-g++[4] yang diperoleh dari CD OSELAS bawaan Phytec Phycore. Perintah alias yang dipakai adalah

alias aram='/usr/local/share/i.MX31-Kit/opt/OSELAS.Toolchain-1.99.3/arm-1136jfs-linux-gnueabi/gcc-4.3.2-glibc-2.8-binutils-2.19-kernel-2.6.27-sanitized/bin/arm-1136jfs-linux-gnueabi-g++'

Alasan penggunaan alias adalah untuk kecepatan pengetikan perintah karena perintah aslinya terlalu panjang.

Perintah Pengiriman Program Biner melalui lftp

lftp -e 'put picor; bye' -u root 192.168.10.11

Maksud dari perintah di atas adalah mengirim berkas bernama picor kepada alamat IP 192.168.10.11 (alamat IP yang sudah diatur untuk mesin Phytec Phycore) dengan username root. Flag -e adalah instruksi untuk menghapus berkas tujuan jika sudah ada dan memiliki nama sama. Flag -u adalah otentikasi username (dan password, tetapi diabaikan karena Linux di dalam Phytec Phycore sudah diatur supaya tidak ber-password). Perintah ini menggantikan program Filezilla yang sebelumnya saya gunakan untuk mengirim program tetapi menghasilkan error Segmentation Fault di semua program yang dikirim ketika program dieksekusi di dalam mesin Phytec Phycore. Dengan lftp, error tersebut tidak terjadi.

Berikut ini skrinsot pengiriman data yang sukses melalui lftp.

picor3

Berikut ini skrinsot selesainya pengiriman yang mengeluarkan informasi rangkuman proses pengiriman. Terlihat bahwa ukuran data yang ditransfer adalah 3166898 byte (3,1 MB) dalam waktu 78 detik dengan kecepatan transfer rata-rata 39 KB/s.

picor4

Perintah Remote Login dan Eksekusi Program ke dalam Phytec Phycore

 # ssh root@192.168.10.11

Maksud perintah ssh ini adalah login sebagai root ke dalam komputer Phytec Phycore yang beralamatkan 192.168.10.11. Perintah ini dilakukan melalui jalur LAN antara komputer laptop saya dengan komputer Phytec Phycore. Saya tidak lagi menggunakan USB To Serial untuk login ke dalam Phytec Phycore. Oleh karena itu, saya tidak menggunakan program microcom lagi. Kabel yang saya gunakan hanya kabel LAN.

Perintah ini memerlukan akses root (tanda prompt # di depan) supaya sukses mengirim data. Dengan perintah ini, saya login dari dalam komputer laptop ke dalam komputer Phytec Phycore. Sekali login, saya dapat mengakses seluruh perintah yang tersedia di dalam Linux ARM di dalam Phytec Phycore. Salah satu perintah yang bisa diakses di dalamnya adalah ./ yaitu perintah eksekusi program.

Berikut ini skrinsot remote login dengan ssh. Perintah dasar Linux di dalam Linux ARM dapat dieksekusi. Contoh perintah yang didemonstrasikan di sini adalah ls dan mkdir.

picor5

Berikut ini skrinsot eksekusi program di dalam Phytec Phycore. Program yang dieksekusi adalah program untuk menguji coba apakah masih mengalami error Segmentation Fault ataukah tidak.

picor6

Referensi

[1] http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX31

[2] http://www.phytec.com/products/system-on-modules/phycore/i.mx31/#som

[3] https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html

[4] http://stackoverflow.com/questions/13797693/what-is-the-difference-between-arm-linux-gcc-and-arm-none-linux-gnueabi

Tambahan Referensi

  1. https://restava.files.wordpress.com/2014/06/phycore-i-mx31-hardware-manual-l-700e_2.pdf
  2. https://restava.files.wordpress.com/2014/06/quickstart-instructions-linux-kit-phycore-i-mx31-l-703e_4.pdf
Iklan

One thought on “ARM11, Freescale i.MX31, dan g++

Dilarang menggunakan emotikon

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 )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s