Belajar Sistem Embedded

Lagi pengen bikin tutorial tentang sistem embedded. Mari kita lakukan saja (jangan cuma wacana-wacini).

Apa itu Sistem Embedded ???

(embedded : tertanam) Adalah sebuah sistem komputer yang dirancang untuk melakukan satu atau beberapa fungsi khusus. Beberapa jenisnya sering dituntut bekerja secara real-time. Sistem ini tertanam sebagai bagian dari perangkat yang lengkap, yang seringnya juga terdiri dari perangkat keras dan bagian mekanis. Sebaliknya, komputer umum, seperti komputer pribadi (PC), dirancang untuk menjadi fleksibel dan untuk memenuhi berbagai/banyak kebutuhan penggunanya.

Seperti apa contoh sistem embedded ???

Sistem embedded banyak mengendalikan perangkat yang umum digunakan saat ini. Semua perangkat yang punya menu secara elektronik, yang bukan PC, pada dasarnya adalah sistem embedded. contoh di rumah kita : mesin-cuci, printer, handphone, PDA, tv-gaming-console (PS3,XBOX,dll), TV-LCD/PLASMA, Audio-system, dekoder tv-satelit, dst.

Apa yang pertama perlu dipelajari tentang sistem embedded ??

1. Sistem embedded adalah gabungan dari hardware (perangkat keras) dan software (perangkat lunak)
2. …….
3. …….
4. …….

Bagaimana mulai membuat sistem embedded ?

1. Miliki (beli/pinjam) Embedded Development Board atau semacamnya

Di internet, banyak sekali perusahaan yang menawarkan produk ‘development board’ untuk sistem embedded. selain itu kita pun dapat menggunakan barang/perankat yang ada untuk jadi ‘board’, misalnya bekas PDA yg lcd-nya pecah atau seperti di link ini. Inti yang membedakan board ini adalah prosesor yang digunakan. Untuk jaman sekarang kebanyakan orang menggunakan prosesor berbasis ARM untuk sistem embedded. Selain karena keunggulan utamanya yang low-power, ARM sudah cukup/sangat powerfull karena kecepatannya sudah ada yang mencapai 1GHz (jan-2011).

Hal kedua yang penting dalam memilih embedded board adalah “seberapa besar/bagus komunitas pengembangnya?”. Maksudnya, kalo suatu saat ada error dan kita ngga tau kenapa (seringnya akan terjadi), kemana kita bisa bertanya, dan kapan pertanyaan kita bakal dibalas. Yang ketiga adalah peralatan/antarmuka/peripheral apa saja yang tersedia di board itu. Misalnya berapa ram-nya, flash-ram, adakah koneksi ethernet, serial/uart/db-9, USB, CAN, I2C, video-out (vga, dvi-d, hdmi, s-video), audio-i/o, dll.

Beberapa yang development board/system yang saya rekomendasikan :
a. BeagleBoard (http://beagleboard.org), kecepatan ARM-nya sudah 1 GHz.
b. Board seri TS-7xxx (www.embeddedarm.com), cukup murah dengan ‘bonus’ FPGA.
c. Gumstix board (www.gumstix.com), ukurannya yang kecil, imut.
d. Rabbit series (www.rabbit.com), katanya lebih reliabel.
e. Handphone Nexian Journey NX-A890, cuma Rp 1.6-an juta, bisa punya arm ber-touch-screen, gps, compass,dll.

ingat, banyak sekali jenis development board, tinggal tergantung tujuan, budget dan waktu development.

2. Pelajari cara mengembangkan software untuk sistem embedded

Dari vendor boardnya (+google), cari tau sistem operasi apa yang bisa dijalankan board itu. kemudian belajar tentang cross compiler (ada disini)