Awal-awal pindah ke Linux, sempat bingung sebab pasti akan kesulitan dengan software-software yang biasa saya gunakan. Apalagi software-software engineering dan elektronik pasti jarang sekali. Ada sedikit pertanyaan di benak saya, “bisa gak mikrokontroler saya di program di Linux?

Hah… akhirnya terselesaikan sudah. Sebenarnya saat ini sudah ada software IDE untuk membuat, meng-compile dan men-download program (high level programming, mis : C Language) ke mikrokontroler. Nama software tersebut, KontrollerLab. Tapi di posting kali ini, saya tidak akan membahas tentang software ini.

Saya biasa menggunakan AVR-GCC (AvrLib-C) dan semua paket-paket lain yang terkait untuk memprogram uC kesayangan saya (AVR). Saya tulis dalam bahasa C menggunakan pengolah teks PICO (sebenarnya bisa yang lain). Terakhir, saya edit template MakeFile untuk me-write program yang baru saja saya buat. Jreng…jreng…..! Mikrokontroller saya sudah terprogram… ^_^

Berikut template MakeFile yang saya gunakan :

CC=/usr/bin/avr-gcc
OBJ2HEX=/usr/bin/avr-objcopy
UISP=/usr/bin/uisp
uCNAME=atmega8535
CFLAGS=-g -Os -Wall -mcall-prologues -mmcu=$(uCNAME)
TARGET=namafile
PORT=0x378
CABLEPROG=stk200

program : $(TARGET).hex
$(UISP) -dprog=$(CABLEPROG) -dlpt=$(PORT) –erase -dpart=$(uCNAME)
$(UISP) -dprog=$(CABLEPROG) -dlpt=$(PORT) –upload -dpart=$(uCNAME) \
if=$(TARGET).hex -v=2
$(UISP) -dprog=$(CABLEPROG) -dlpt=$(PORT) -dpart=$(uCNAME) \
–wr_fuse_l=0xe4

%.obj : %.o
$(CC) $(CFLAGS) $< -o $@

%.hex : %.obj
$(OBJ2HEX) -R .eeprom -O ihex $< $@

clean :
rm -f *.hex *.obj *.o

Beberapa variable yang mungkin perlu Anda sesuaikan :

uCNAME=atmega8535
Variable ini untuk menentukan tipe mikrokontroller yang akan di-write.

TARGET=namafile
Ini adalah nama file C (C File) yang akan di download ke uC

PORT=0x378
Adalah jenis koneksi ISP. Saya menggunakan koneksi paralel port. Bagi Anda yang menggunakan serial harus diubah ke /dev/ttys0 (atau serial lain yang aktif)

CABLEPROG=stk200
Jenis kabel ISP yang saya gunakan adalah STK200/300. Untuk jenis kabel ISP yang didukung bisa di lihat di manualnya paket UISP.

OK… GOOD LUCK… for LINUX & MICROCONTROLLER MANIA