Membuat Lingkungan Program AVR Terintegrasi (IDE) di Linux


codeblock IDE
Setelah mengenal proses-prose pemrograman AVR di Linux, selanjutnya kita akan mencoba membuat lingkungan pemrograman terintegrasi (IDE) di Linux. Lingkungan pemrograman terintegrasi atau yang disebut dengan IDE (Integrated Develompent Environment) adalah sebuah aplikasi pemrograman yang memungkinkan kita melakukan semua proses dalam pemrograman AVR dalam satu aplikasi.

Proses-proses tersebut meliputi penulisan kode program, proses compile program, make program menjadi file HEX lalu melakukan download file HEX ke IC AVR. Dengan demikian kita tidak perlu berganti window dan sering mengulang-ulang script pada terminal. Dengan lingkungan pemrograman terintegrasi kita bisa melakukan proses build dan download file HEX dengan klik saja.

Aplikasi IDE yang kita pilih kali ini adalah Code Blocks, yaitu salah satu aplikasi pemrograman IDE gratis yang tersedia di Linux. Sebetulnya ada beberapa aplikasi lain seperti Eclipse dan Geany, namun Eclipse tampaknya terlalu besar dan Geany terlihat terlalu kecil. Selain itu ada alasan lain misalnya Eclipse memerlukan plugin sementara Code Blocks tidak, Geany tidak support new project AVR sedangkan Code Blocks sudah menyediakan new project untuk AVR.

Yang lebih penting lagi, Code Blocks menyediakan fasilitas Tool yang bisa diisi dengan AVRDUDE, sehingga jika ingin mendownload file HEX ke AVR kita tinggal klik Tools > AVRDUDE. Fasilitas tool ini tidak hanya satu tapi bisa kita buat banyak jika kita bekerja dengan banyak jenis IC AVR, misalnya IC ATMEGA8535, ATMEGA8515 dan ATMEGA328P.

Berikut ini langkah-langkah membuat lingkungan pemrograman AVR terintegrasi di Linux :

A. PERSIAPAN DAN INSTALASI APLIKASI YANG DIBUTUHKAN

  1. Pastikan Code blocks IDE sudah terinstal pada komputer, saya menggunakan Code Blocks release 12.11
    Note: Jika menggunakan Code Blocks release 10 maka akan ada perbedaan setting compiler dan perbedaan pada output file HEX, dimana pada release 12 nama file HEX sama dengan nama project, sedangkan pada release 10 nama file HEX-nya adalah nama file project.ELF.HEX. Hal ini berpengaruh pada perbedaan setting konfigurasi Tools AVRDUDE.
  2. Pastikan AVR-GCC Compiler dan AVRDUDE sudah terinstal pada komputer.
  3. Pastikan Xterm juga sudah terinstal pada komputer, nantinya Xterm akan digunakan untuk menjalankan script AVRDUDE.
  4. Bagi yang menggunakan IC ATMEGA32P maka tambahkan dulu device-nya pada konfigurasi AVRDUDE.

B. SETTING COMPILER AVR GCC PADA CODE BLOCKS IDE 12.11

  1. Buka Code Blocks lalu klik Setting > Compiler, pastikan tampak window berikut ini :compiler-codeblock
  2. Pada Selected Compiler pilih GNU AVR GCC Compiler lalu klik Set as default yanga da di bawahnya.
  3. Lalu pada Tab Compiler Setting > Tab Compiler Flag centang Optimize generate code (for size) [-Os]
  4. Hapus semua setting (jika ada) pada Tab Linker Setting dan Tab Search Directories (Tab Compiler, Linker dan Resource Compiler).
  5. Setelah selesai, biarkan semua setting yang lain lalu klik OK.

C. SETTING DOWNLOADER FILE HEX PADA CODE BLOCKS IDE 12.11

  1. Pastikan Code Blocks sudah terbuka, lalu klik Tools > Configure Tools.
  2. Klik Add dan pastikan tampak window Edit Tools seperti ini:Edit tools Code Blocks
  3. Isi form dengan data berikut ini : (contoh untuk IC ATMEGA328P dengan koneksi pemrograman port paralel sistem DAPA)
    • Name : avrdude
    • Executable : /usr/bin/avrdude
    • Parameters : -p m328p -P /dev/parport0 -c dapa -U flash:w:${TARGET_OUTPUT_BASENAME}.hex
    • Working Directory : ${PROJECT_DIR}/${TARGET_OUTPUT_DIR}

    Note: jika menggunakan Code Blocks release 10 maka pada Parameters ditambahkan .elf sebelum .hex, sehingga jadi seperti ini:
    -p m328p -P /dev/parport0 -c dapa -U flash:w:${TARGET_OUTPUT_BASENAME}.elf.hex

  4. Berikut ini contoh tampilan Edit Tools yang sudah terisi:Edit tools Code Blocks 2
  5. Klik OK untuk menutup window Edit Tools lalu klik OK sekali lagi untuk menutup User define tool.
  6. Untuk memastikan bahwa Tools AVRDUDE sudah berhasil ditambahkan bisa dilihat pada menu Tools akan muncul avrdude.

D. MENGUJI LINGKUNGAN PEMROGRAMAN AVR TERINTEGRASI PADA CODE BLOCKS IDE

  1. Buka Code Blocks IDE lalu klik New Project, Pilih AVR Project lalu klik OK
  2. Selanjutnya ada window konfirmasi, lalu klik Next dan kita akan diminta mengisi beberapa data.
  3. Pada Project title isi dengan nama project, misal: latihan
  4. Pada Folder to create project in isi dengan nama direktori untuk project AVR kita, misal: /home/***/avr/project (***=sesuaikan dengan nama user masing-masing) lalu klik Next.code-block-new-project
  5. Pastikan Create Debug Configuration dan Create Release Configuration, klik Next.
  6. Selanjutnya akan muncul pengaturan untuk mikrokontroler.
  7. Pada kotak dibawah Please choose processor for this project pilih tipe sesuai AVR yang dipakai misal atmega328p
  8. Pada define F_CPU isi dengan nilai crystal yang digunakan, misal 1000000UL yaitu 1 MHz sesuai dengan settingan default fuse bit AVR dari pabrik.
  9. Untuk settingan lain lihat gambar berikut ini:code-block-new-project2
  10. Klik finish untuk selesai Add project Wizard dan jika benar maka pada navigasi kiri akan muncul Project latihan.
  11. Buka file source main.c pada Project tree, dengan cara klik latihan > Sources yang ada di navigasi kiri.
  12. Isi editor dengan script berikut ini:
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main (void)
    {
     DDRD = 0xFF;            // Buat semua Port D menjadi output, 0xFF= 1111 1111
    
     while(1)                //perulangan
     {
      PORTD = 0xFF;          // Port D high
      _delay_ms(1000);       // Tunda 1 detik
      PORTD = 0;             // Port D low
      _delay_ms(100);        // Tunda 1 detik
     }
    
     return 0;
    }
    
  13. Klik Bulid > Bulid atau tekan CTRL+F9, jika benar akan muncul 0 Error pada bulid Logcode-block-project1
  14. Untuk melihat file HEX, Buka folder project disimpan tadi, lalu masuk ke folder bin > Debug
  15. Untuk download file HEX ke IC AVR tinggal klik Tools > avrdude pada Code Blocks
    Note: Jika saat dijalankan muncul peringatan Tool execution terminated with status 255 kemungkinan xterm belum terinstal.
  16. Berikut ini tampilan avrdude dengan target tidak terhubung :avrdude
Advertisements

5 Responses to Membuat Lingkungan Program AVR Terintegrasi (IDE) di Linux

  1. Artikel yang bagus sekali. Buat saya, elektronika Linux di Indonesia itu seperti anak tiri. Dokumentasi terlalu minim, peminat terlalu sedikit. Artikel akang ini memperbaiki keadaan itu. Betapa sedikit orang menulis soal IDE pemrograman AVR di Linux.

    Sebenarnya saya pun menulis tentang masalah ini. Saya berterima kasih.

  2. sumarouno says:

    Artikel seperti ini yang selalu saya cari, sangat membantu. Terima Kasih
    Saya minta ijin untuk reblog artikel ini, bolehkan?

  3. madina says:

    saat di run new project, muncul error berikut

    SquirrelFunction call failed
    AN ERROR HAS OCCURED [the index ‘Item’ does not exist]

    CALLSTACK
    *FUNCTION [GetFuseBytes()] /usr/share/codeblocks/templates/wizard/avr/wizard.script line [325]
    *FUNCTION [GetGeneratedFile()] /usr/share/codeblocks/templates/wizard/avr/wizard.script line [346]

    LOCALS
    [i] 0
    [fuses] INSTANCE
    [parts] INSTANCE
    [part] INSTANCE
    [this] TABLE
    [file_index] 1
    [this] TABLE

    apakah yang salah? mohon bantuannya

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: