RSS

WinAVR + Eclipse

29 Dec

NOTE:

Saya menemukan link instalasi yang mudah. Sisanya sama dan untuk toolchain bisa menggunakan winavr atau avr toolchain. Sebenarnya developer winavr sekarang bekerja untuk atmel dan merilis avr toolchain. Sehingga sebenarnya sama saja, namun avr toolchain berisi update dan patch terbaru.

Pendahuluan

Sebagian besar pengguna mikrokontroler AVR di Indonesia banyak  yang menggunakan CodevisionAVR C Compiler sebagai compiler + IDE  untuk projectnya. Tool ini tidaklah gratis, namun ada versi evaluasi yang bisa digunakan namun dengan keterbatasan besar code .hex yang bisa di-generate.

Selain itu, terdapat pula buku tutorial mengenai WinAVR + AVR Studio 5 telah beredar di Indonesia dan menambah khazanah perangkat lunak yang dapat digunakan untuk membuat program/firmware untuk AVR.

Alternatif open source yang dapat digunakan ialah kombinasi WinAVR dan Eclipse. WinAVR berisi kumpulan compiler, Editor(Programmers Notepad 2), downloader tool(avrdude), dsb. Dengan tool yang sudah ada bersama installer WinAVR, sebenarnya proses pembuatan firmware AVR telah bisa dilakukan. Namun proses yang harus dijalani menjadi semakin panjang ketika akan melakukan proses compile: setting up makefile, membuat list dependensi file-file, dsb.

Lalu mengapa kita harus menggunakan IDE lain untuk melakukan itu semua? Eclipse ialah IDE open source yang telah banyak digunakan oleh para programmer di seluruh dunia. Eclipse memiliki banyak fitur seperti auto-completion ketika menulis code di editor, teroptimasi untuk memanage project, integrasi subversion(repository, software versioning), generate makefile secara otomatis, dsb.

Dengan segala kelebihannya, maka tak ada ruginya untuk mencoba WinAVR+Eclipse dalam mengedit, meng-compile dan men-download ke AVR.

Beberapa bagian yang umum anda temui pada buku tentang pemrograman AVR yaitu tentang mikrokontroler AVR, Dasar Bahasa C, dsb tidak akan dibahas pada buku ini. Anda dapat membacanya pada ebook gratis dari Agfianto pada link/tautan berikut:

http://agfi.staff.ugm.ac.id/blog/index.php/2011/01/tutorial-pemrograman-mikrokontroler-avr-dengan-winavr-gcc/

File-file Yang Dibutuhkan

WinAVR

WinAVR dapat didownload pada alamat berikut:

http://sourceforge.net/projects/winavr/files/

Sampai saat ini, WinAVR terus mengalami peningkatan dan penambahan fitur-fitur baru. Versi yang dikenal paling stabil dan digunakan dalam proses produksi ialah:

WinAVR-20060421-install.exe

Kekurangan dari versi tersebut ialah banyak varian AVR terbaru yang belum di-support. Saat ini yang sudah terbukti stabil ialah versi:

WinAVR-20100110-install.exe

Eclipse CPP

Eclipse IDE for C/C++ Developer dapat di-download pada alamat  berikut:

http://www.eclipse.org/downloads/

Pilih yang sesuai dengan versi windows, apakah 32-bit atau 64-bit.

Versi terakhir yang digunakan dalam tutorial ini ialah:

eclipse-cpp-helios-win32.zip

AVR Plugin for Eclipse – AVREclipse

AVR plugin for Eclipse dapat di-download pada alamat  berikut:

http://sourceforge.net/projects/avr-eclipse/files/

Java Runtime Environment(JRE)/Java Development Kit(JDK)

JRE  dapat di-download pada alamat  berikut:

http://java.com/en/download/manual.jsp

JRE saja cukup untuk menjalankan Eclipse, tapi jika ingin yang full, dapat men-download JDK pada alamat yang mudah ditemukan di Google Search. Contohnya:

http://www.softpedia.com/progDownload/Sun-Java-JDK-Download-82226.html


Langkah-langkah Instalasi dan Persiapan Environment

Instalasi JRE

Lakukan double-click pada file executable JRE/JDK. Ikuti alur instalasi hingga selesai. Untuk mengecek apakah di komputer telah terinstal JRE atau belum, cek Control Panel, lalu cari logo

Buka Java Control Panel dan cek versi:

Instalasi Eclipse

Eclipse tidak memerlukan proses instalasi biasa, cukup di unpack ke folder yang telah disiapkan(klik kanan->Extract Here). Akan muncul folder eclipse, dan di dalamnya akan ditemukan executable eclipse.exe.

Instalasi AVREclipse

Plugin AVREclipse tidak memerlukan proses instalasi umum, sama seperti Eclipse. Di dalam folder AVREclipse terdapat folder features dan plugins. Copy isi folder features AVREclipse ke dalam folder features eclipse, begitupula dengan folder plugins. Instalasi AVREclipse selesai.

Jalankan eclipse.exe dengan double-click, maka akan muncul layar seperti di bawah ini.

Eclipse jalan dengan baik dan akan menanyakan workspace tempat menaruh project. Arahkan ke tempat yang sesuai dan check ‘Use this as default… ‘jika ingin window ini tidak muncul setiap kali menjalankan eclipse.exe.

Tampilan awal Welcome Page Eclipse.

Masuk ke tampilan kerja dengan klik tombol panah paling kanan pada layar welcome page.

Membuat Project AVR

Membuat Project Awal

Pada window Project Explorer, lakukanlah klik kanan, pilih New->C Project.

Akan muncul window  C Project seperti pada Gambar . Isi bagian Project name dengan nama project yang ingin anda kerjakan. Pada Project type, pilih AVR Cross Target Application->Empty Project. Klik Finish dan akan muncul Project dengan nama yang anda masukkan pada Window Project Explorer seperti pada Gambar.

 

 

Menambahkan File Source Code ke Dalam Project Awal

Klik kanan pada Project yang sedang aktif(led_test), pilih New->Source File seperti pada Gambar .

 

Akan muncul window New Source File. Isi nama file (main.c) pada kolom Source file dan tekan tombol Enter.

 

 

Konfigurasi Project

Untuk melakukan konfigurasi project, klik kanan pada nama project lalu pilih Properties seperti pada gambar.

Akan muncul window Properties for led_test seperti pada gambar. Pada bagian AVR->Target Hardware, pilih tipe MCU. Pastikan tipe MCU yang didukung oleh AVRDude. Untuk nilai kristal, jika tidak terdapat pilihan pada menu drop down list, ketik saja nilai yang diinginkan dalam satuan Hertz. Pada gambar, saya ketik nilai 12000000. Nilai ini akan menjadi nilai makro F_CPU.

Pada bagian C/C++ Build->Settings-> Tool Settings->AVR Assembler->Paths, add path untuk preprocessor (-I) dan assembler (-Wa, -I). Klik tanda plus warna hijau, maka akan muncul window Add directory path. Klik tombol Workspace maka akan muncul window Folder selection seperti pada gambar.

 

Klik folder led_test dan klik tombol OK, lalu klik tombol OK lagi pada window Add directory path. Add path lagi untuk preprocessor jika di dalam project led_test terdapat folder lain yang berisi source code (assembly code, c code, dll).

 

Proses ini diulangi untuk .include paths for assembler.

Hasil penambahan path untuk AVR Assembler.

Proses yang sama juga dilakukan untuk bagian:

  • C/C++ Build->Settings-> Tool Settings->AVR Compiler->Directories
  • C/C++ Build->Settings-> Tool Settings->AVR C Linker->Libraries->Libraries Path(-L) (untuk libraries tidak harus berada di dalam folder Project, tetapi bisa dimana saja dengan klik tombol File System pada window Add directory path)

Terakhir, pada bagian C/C++ Build->Settings->Tool Settings->Additional Tools in Toolchain, ceklis Generate HEX file for Flash memory dan Generate HEX file for EEPROM. Eclipse dan WinAVR akan generate file dengan format .hex selain file format .elf(executable files yang dapat di load ke AVR, dan atau dijalankan dalam program simulator seperti AVR Studio dan Proteus).

Settingan standar untuk project telah selesai. Anda bisa mulai memasukkan kode pada file main.c dan melakukan proses kompilasi. Cara meng-compile program ialah dengan melakukan klik kanan pada led_test pilih Clean Project. Setelah itu, klik kanan lagi pada led_test dan pilih Build Project.

Perhatikan output pada tab Console.

Output file executable dapat dilihat pada folder Debug di dalam folder led_test.

Jika masih ada yang belum jelas, coba buka link di bawah ini dan tanya mbah google.
Maaf bila lama responnya. Selamat mencoba. 🙂

http://puranranablog.blogspot.com/2011/05/winavreclipse-ide.html

 
3 Comments

Posted by on December 29, 2011 in Tutorial

 

Tags: , ,

3 responses to “WinAVR + Eclipse

  1. arjanggi

    December 5, 2012 at 1:50 PM

    mas saya sudah coba ikutin step2nya tapi waktu mau clean project dan build project muncul error seperti dibawah ini, kira2 penyebabnya apa ya? terima kasih
    **** Build of configuration Release for project testing ****

    make all
    Building file: ../main.c
    Invoking: AVR Compiler
    avr-gcc -I”D:\all about electro\lat eclipse\testing” -I”C:\WinAVR-20100110″ -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega16 -DF_CPU=8000000UL -MMD -MP -MF”main.d” -MT”main.d” -c -o”main.o” “../main.c”
    Finished building: ../main.c

    Building target: testing.elf
    Invoking: AVR C Linker
    avr-gcc -Wl,-Map,testing.map -L”C:\WinAVR-20100110″ -mmcu=atmega16 -o”testing.elf” ./main.o
    c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5/crtm16.o:(.init9+0x0): undefined reference to `main’
    make: *** [testing.elf] Error 1

     
    • hypercruise

      December 20, 2012 at 10:33 PM

      coba di cek lagi, itu pas building file di ../main.c tapi pas linking kok ./main.o
      tampak seperti beda folder.

       
  2. Adhe Widianjaya

    September 25, 2013 at 9:57 PM

    terima kasih untuk tutorialnya. . sangat membantu. . 😀

     

Leave a comment