Setting up AVR-GCC Toolchain on Linux and Mac OS X - Open Source Lab -->

Setting up AVR-GCC Toolchain on Linux and Mac OS X

Postingan kali ini saya akan membahas bagaimana cara menginstall avr-gcc toolchain dan avrdude di Linux dan Mac OS X. Jika kalian menggunakan Mac dan ingin menghemat masalah melalui langkah-langkah ini, cukup instal CrossPack untuk Pengembangan AVR dan ikuti petunjuk dalam manual. Namun jika kalian benar-benar ingin belajar cara mengatur cross-compiler, menulis Makefiles dan menggunakan alat baris perintah untuk menyelesaikan sesuatu, saya sangat menyarankan melakukan langkah-langkah berikut. 



AVR-GCC Toolchain on Linux and Mac OS X

Step 1: Install Homebrew (Mac OS X only)

Langkah ini tidak diperlukan untuk pengguna Linux karena hampir semua distribusi Linux dilengkapi dengan manajer paket. Homebrew adalah manajer paket untuk Mac OS X. Instal dengan mengetikan perintah berikut di terminal:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Step 2: Install avr-gcc toolchain

Mac OS X
Ketikan perintah :

brew tap osx-cross/avr

Kemudian install versi terbaru dari avr-libc.

brew install avr-libc

Perintah Ini akan menginstall avr-binutils dan avr-gcc secara bersamaan. Langkah kedua membutuhkan sedikit waktu untuk menginstal semuanya. Repositori Homebrew belum memiliki rumus avr-gdb. Jika kalian membutuhkan debugger avr-gdb, pergi ke website AVR CrossPack.

Linux
Langkah-langkah berikut untuk Debian / Ubuntu Linux. Untuk distribusi Linux lainnya, silahkan baca ini. Pertama ketikan perintah berikut : 

sudo apt-get update
sudo apt-get upgrade all

Kemudian install packages yang diperlukan :

sudo apt-get install gcc-avr binutils-avr avr-libc 
sudo apt-get install gdb-avr

Setelah selesai, ketik avr- di terminal dan tekan tab 2x. Kalian akan melihat beberapa tools yang telah terinstall.


Step 3: Install avrdude

AVR-GCC adalah toolchain yang akan membantu kalian untuk pengembangan perangkat lunak, tetapi tidak melakukan apa pun tentang burning file yang dapat dieksekusi (file hex) ke mikrokontroler. Untuk itu kita perlu menginstal AVR Downloader UploaDEr (avrdude).

Mac OS X
Saya akan menggunakan Homebrew untuk menginstall avrdude.

brew install avrdude --with-usb

Linux 
Langkah-langkah berikut untuk Debian / Ubuntu Linux. Untuk distribusi Linux lainnya, silahkan baca ini. Pertama ketikan perintah berikut :

sudo apt-get install avrdude

Setelah terinstal, ketik avrdude -v di terminal untuk memeriksa apakah sudah terpasang dengan benar.

Step 4: Test the toolchain

Mari kita uji apakah berhasil atau tidak. Disini saya menggunakan kode LED berkedip yang disebut led.c untuk ATmega32. Lihat post ini untuk memahami apa yang dilakukannya.

#ifndef F_CPU
#define F_CPU 16000000UL // or whatever may be your frequency
#endif
#include <avr/io.h>
#include <util/delay.h> // for _delay_ms()
int main(void){
    DDRC = 0x01; // initialize port C
   while(1){
      // LED on
      PORTC = 0b00000001; // PC0 = High = Vcc
      _delay_ms(500); // wait 500 milliseconds
     //LED off
     PORTC = 0b00000000; // PC0 = Low = 0v
     _delay_ms(500); // wait 500 milliseconds
   }
}

Dengan asumsi nama file adalah led.c, ketikan perintah berikut di terminal dan periksa apakah file led.hex dihasilkan atau tidak. Kode harus dikompilasi tanpa kesalahan apa pun.

avr-gcc -g -Os -mmcu=atmega32 -c led.c
avr-gcc -g -mmcu=atmega32 -o led.elf led.o
avr-objcopy -j .text -j .data -O ihex led.elf led.hex

Ketik cat led.hex di terminal dan lihat apakah file hex dihasilkan. Jika kalian melihat sesuatu seperti pada gambar di bawah ini, maka kalian berhasil :)


Kita akan membutuhkan perangkat keras untuk menguji avrdude, jadi lewati saja untuk saat ini. Dalam posting saya berikutnya, saya akan menunjukkan kepada Anda bagaimana Anda dapat menggunakan avrdude untuk mentransfer file hex yang dihasilkan di atas untuk berjalan pada perangkat keras yang sebenarnya. Jika Anda memiliki pertanyaan, silakan tanyakan di bawah ini. Terima kasih.


0 Response to "Setting up AVR-GCC Toolchain on Linux and Mac OS X"

Post a Comment