Monday, February 18, 2013

Cara menggunakann winAVR untuk microcontroler

WinAVR merupakan suatu paket AVR-GCC yang khusus didistribusikan untuk OS Window. AVR-GCC sendiri merupakan kumpulan dari program yang berfungsi untuk mengubah bahasa C menjadi Hex (.Hex) intel.

Compiler C akan menghasilkan file dengan format ".asm" dari setiap file input ".c" yang kemudian akan diubah ke dalam file objek oleh assembler, di mana banyaknya file objek sama dengan file ".asm". Setelah proses tersebut dilakukan,linker akan bertugas untuk menyatukan file-file objek dan fungsi-fungsi yang bersilangan di antara file objek dan mengambil modul library c yang digunakan ke dalam satu file objek yaitu file ".ELF". Dengan menggunakan avr-objcopyfile ".ELF" diubah menjadi file ".Hex"

Dari keempat proses tersebut (compilerassemblerlinker, dan avr-objcopy) oleh WinAVR dijadikan dalam satu file yang disebut "makefile", sedangkan untuk proses kompilasi "makefile" itu sendiri ditangani oleh "make.exe"
Dari keterangan tersebut, dapat diambil kesimpulan bahwa untuk pembuatan suatu program dengan menggunkan WinAVR diperlukan :
1. file (nama_file.c) yang berisikan listing program untuk mikokontroler AVR dalam bahasa C
2. file (makefile) yang berisi semua peraturan proses kompilasi program

Proses Instalasi WinAVR
WinAVR dapat diunduh pada link ini
Buka file WinAVR tersebut dan ikuti petunjuk intruksi instalasi hingga selesai.

Untuk menuliskan kode program bahasa c, kita dapat menggunakan software programmer notepad yang secara otomatis ter-install ketika melakukan istalasi WinAVR. Apabila software programmer notepad tidak muncul pada desktop, maka kita dapat memanggil program tersebut pada folder berikut ini :
"C:\WinAVR-20100110\pn" (lokasi tersebut merupakan lokasi default pada saat instalasi WinAVR)

Tampilan Programmer Notepad
Proses pembuatan program
Untuk membuat sebuah file ".c", pilih C/C++ pada menu plain text

Setelah itu save as dengan akhiran ".c" Contoh: "main.c"
Setelah listing program selesai di ketik dan di simpan (contoh "main.c"),langkah selanjutnya pengaturan makefile. Apabila program makefile tidak tersedia pada desktop, maka program tersebut dapat diakses pada folder berikut ini: Start | All Programs | WinAVR-20100110 | Mfile[WinAVR]


Gambar disamping merupakan tampilan dari program Mfile ketika dijalankan. Mfile tersebut sudah memiliki template asli (kode-kode bawaan software) untuk membuat makefile. Dengan adanya template ini kita tidak perlu untuk memahami setiap perintah dalam makefile, akan tetapi kita sudah dimanjakan dengan hanya perlu memilih tipe IC, nama file, frekuensi osilator, dll.


Pengaturan dari Mfile adalah sebagai berikut:
1. Main file name...
Menu ini digunakan untuk nama file ".c" yang akan di compile, misalnya "main.c" maka tulisan pada kolom Main file adalah "main" tanpa tambahan ekstensi ".c"



2. F_CPU
Merupakan pengaturan frekuensi osilator/kristal yang akan digunakan pada mirkokontroler AVR. Nilai frekuensi ini harus sama dengan nilai frekuensi yang akan digunakan pada mikrokontroler AVR. Jika nilainya berbeda, maka detak antarahardware dengan software tidak seirama, sehingga jalanya software tidak akan pernah sama seperti apa yang diharapkan. Pengisin nilai frekuensi ini tidak terdapat pada menu pilihan, sehingga harus diisikan secara manual. Agar dapat mengisiakan data secara manual, maka pilihan "enable editing" harus diaktifkan


















Terdapat 2 cara untuk mengatur nilai frekuensi yang akan digunakan:

1. Hilangkan tanda "#" (pagar) pada salah satu pilihan F_CPU, dan beri tanda "#" pada tulisan F_CPU paling bawah




2. Ubah nilai "F_CPU = 8000000" dengan "F-CPU = 'xxxxxxx'"



Langkah berikutnya adalah pemilihan IC atau MCU type



Kemudian pemilihan Output format
Fungsi ini digunakan untuk memilih format file yang akan dihasilkan. Untuk penggunaan standar, pilih ihex (intel .hex).




Optimization Level
Untuk memilih level dari optimalisasi ukuran file. Pada penggunaan standar, pilihlah "S".
0 = tidak dioptimalisasi
s = optimalisasi ukuran
3 = bukan berarti pada level ini akan menghasilkan kode hex paling kecil.



Debug format
Berfungsi untuk memilih format debug. Apabila hasil dari kompilasi file tersebut ingin disimulasikan pada AVR Studio, maka pilihlah "avr-ext-COFF". Jika tidak, pilihlah "ELF/DWARF-2"



Untuk pengaturan yang terakhir, yaitu Programmer
Pilihlah sesuai dengan downloader yang akan digunakan.
Untuk programmer, dapat menggunakan programmer/downloader dari Innovative Electronics, yaitu DT-HiQ AVR In-System Programmer atau DT-HiQ AVR USB ISP.
DT-HiQ AVR In-System Programmer

DT-HiQ AVR USB ISP
Apabila menggunakan DT-HiQ AVR In-System Progammer, maka pilih "stk200" pada menu "Programmer" dan pilih "lpt1" pada menu "Port"
Setelah selesai melakukan pengaturan, jangan lupa save makefile tersebut. Letakan file tersebut di dalam satu folder dimana file "main.c" disimpan.

















Setelah file makefile siap, maka kita tinggal melakukan proses compile pada file "main.c" dengan menggunakanprogammer notepad
Pilih Tools | [WinAVR] Make All
Apabila pada listing program tersebut tidak terdapat kesalahan penulisan, maka programmer notepad akan memberikan konfirmasi bahwa proses compile berhasil



Proses Compile gagal
Proses Compile Berhasil

Apabila terdapat kesalahan pada penulisan, maka proses compile tidak akan dilanjutkan, dan programmer notepadakan memberikan konfirmasi perihal kesalahan pada listing program yang mengakibatkan proses compile di batalkan.
Setelah proses compile telah berhasil, maka WinAVR akan secara otomatis menambahkan beberapa file tambahan pada folder dimana file "main.c" diletakan, seperti :
main.hex, main.eep, main.cof, main.elf, main.map, main.sym, main.lss, main.o, main.lst, main.s, main.d, main.i, .dep.
Jika ingin melakukan proses download ke dalam mikrokontroler, maka pilih Tools | [WinAVR] Program padaprogrammer notepad. Jika proses program selesai maka programmer notepad akan memberikan konfirmasi kepada kita.


sourch ; http://rattosoft.blogspot.com/2011/12/cara-penggunaan-winavr.html
Stumble
Delicious
Technorati
Twitter
Digg
Facebook
Reddit
Feed

No comments:

Post a Comment