IDE AVR-GCC PADA LINUX MENGGUNAKAN CODE::BLOCKS Oleh: Sumarsono
Awal Kisah... Pada suatu hari saya sedang belajar mikrokontroler AVR. Ketika masih menggunakan windows saya menggunakan AVRStudio (free software dari Atmel) sebagai IDE untuk menulis program yang akan di download ke chip avr. Selain avrstudio saya juga menggunakan CVAVR (saya memakai bajakan). Ketika migrasi ke linux, saya harus belajar (lagi) untuk memprogram chip avr (saya menggunakan atmega32). Di dunia linux, sejatinya avr sudah didukung dengan disediakannya kompiler AVR-GCC (Gnu C Compiler for AVR) dan avrdude (driver program for ``simple'' Atmel AVR MCU programmer) . Jadi cukup tulis program dalam bahasa C, kompilasi dan hasilkan file .hex (melalui perintah di terminal) kemudian download ke chip menggunakan avrdude (melalui perintah di terminal). Bagi pengguna linux yang sudah bukan pemula (khususnya yang bergerak/mempelajari elektronika) pasti hal ini sangat mudah. Namun tidak demikian dengan pengguna linux pemula seperti saya. Berangkat dari masalah tersebut saya mengumpulkan informasi “IDE+AVR+LINUX” untuk menggantikan AVRStudio. Saya mengumpulkan informasi dari mesin pencari google. Hasil yang ditemukan banyak sekali, namun dari sekian banyak hasil ada dua yang memikat hati saya, yakni penggunaan Eclipse dan Code::block sebagai IDE untuk menulis program avr. Kedua IDE tersebut menarik karena fitur yang ditawarkan, misalnya auto complete kode, kemudahan build program, kemudahan menambah header file, serta kemudahan integrasi dengan avrdude. Dari dua IDE tersebut saya memilih Code::Block karena lebih ringan dari Eclipse. Beridriver program for ``simple'' Atmel AVR MCU programmerkut ini adalah dokumentasi konfigurasi serta contoh penggunaa Code::Block untuk memprogram avr.
Yang anda butuhkan dan harus anda pastikan... a. b. c. d.
Komputer dengan sistem operasi Linux (saya menggunakan xubuntu 14.10) Pastikan Code::Block, Gcc, build-essential, gcc-avr, gdb-avr, binutils-avr, avr-libc, Avrdude sudah terpasang pada komputer anda. Disini saya menggunakan downloader usbasp serta rangkaian sismin atmega32 Pastikan usbasb sudah bisa diakses tanpa hak root.
Step by step... Berikut ini adalah langkah demi langkah konfigurasi dan penggunaan Code::Block untuk avr. 1.
Buka Code::Block
2.
Klik menu Settings > Compiler...
3.
Pada dropdown Selected compiler pilih GNU GCC Compiler for AVR kemudian Set as default.
4.
Pada bagian Compiler Flags, centang Optimize generated code (for size) [-Os], klik OK
5.
Selanjutnya klik menu Tools > Configure tools...
6.
Muncul dialog User-defined tools, klik Add
$$
7. ● ● ●
Muncul kotak Edit tool, isi : Name: Avrdude (sembarang) Executable: /usr/bin/avrdude Parameters: -F -p m32 -c usbasp -U flash:w:${TARGET_OUTPUT_BASENAME}.hex
Klik OK
Note: - m32 adalah target ic (saya memakai atmega32). - usbasp adalah jenis piranti downloader yang saya gunakan.
$$
8.
Selanjutnya klik menu File > New > Project. Pilih AVR Project dan klik Go
9.
$$
Beri judul project, misalnya belajar kemudian set folder penyimpanan untuk project.
10. Pada bagian ini klik Next
11. Pilih target IC yang mau di program serta Clock sistem atmega, disini saya menggunakan Clock eksternal 11Mhz pada rangkaian. Kemudian klik Finish.
12. Klik belajar > source > main.c kemudian silahkan mulai koding.
$
13. Setelah selesai koding, kemudian klik Build (ikon gerigi), jika sukses maka tidak akan muncul log error pada build log
14. Selanjutnya adalah mengirim file .hex ke chip atmega, klik Tools > avrdude (pastikan) sistem atmega sudah terhubung ke downloader usbasp dan usbasp sudah terhubung ke komputer. Maka akan muncul jendela xterm yang menujukan proses penulisan program ke atmega32
Demikian dokumentasi IDE AVR DI LINUX MENGGUNAKAN CODE::BLOCK. Semoga bermanfaat, terima kasih.