Memanfaatkan ARM_Thumb?

Sebenarnya sudah lama saya tahu tentang arm thumb ini sejak 4tahunan lalu saat bermain-main dengan single board TS-7200 yang menggunakan prosesor berbasis ARM920T dari Cirrus EP9302. Tapi, belum pernah mencobanya.

Thumb ini adalah fitur ekstensi dari prosesor ARM untuk bisa mengeksekusi instruksi 16-bit dari suatu program biner. Prosesor arm dengan nomor seri ditambahi ‘T’ akan mempunyai fitur ini, mulai dari ARM720t sampai generasi ARM1026 dan ARM feroceron. Program user yang dikompile dengan fitur thumb ini tentu akan memiliki ukuran biner yang lebih kecil, sehingga bisa disimpan ke storage yang berukuran kecil (misalnya flash NOR 4MB atau SPI flash 2MB). Dan tentu saja, ini akan menghemat memori jika program ini diload ke memori. Mmm, mungkin bisa dimanfaatkan nih…

Dan saya ingin mencobanya.

Agar fitur thumb ini bisa dimanfaatkan, kernel harus dikonfigurasi untuk support thumb, yaitu CONFIG_ARM_THUMB=y. Dalam hal ini kernel telah bisa menterjemahkan program-program aplikasi dengan biner thumb dan memerintahkan prosesor untuk mengeksekusinya.

Nah, sekarang bagaimana membuat program atau library dengan biner thumb? Dugaan saya, kompiler dan binutils (mis. linker) juga harus mendukung thumb ini. Mereka harus bisa membuat file-file biner thumb dari kode-kode aplikasi. Ini berarti harus rebuild lagi cross toolchain. Kalau tidak, file biner mungkin mempunyai format standar (dengan instruksi 32-bit), dan fitur thumb tidak dimanfaatkan.

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 )

Foto Google+

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

Connecting to %s

%d blogger menyukai ini: