Teknik Elektro LinksThermostat, Panel Bel, Board Mikro, Driver Relay.

Skrip Kompilasi (AVR-GCC) dan Upload (AVRDUDE) Untuk Program AVR Single-File

Proses mengubah kode program bahasa C menjadi bahasa mesin memerlukan beberapa perintah. Nah, biar gak bolak-balik ngetik perintah yang sama atau pencet tombol panah atas untuk scrolling perintah pada shell prompt selama mengerjakan program mikrokontroler, maka sebaiknya kita membuat skrip sederhana untuk meningkatkan efisiensi kerja.

Sebagai gambaran, berikut adalah beberapa perintah yang saya gunakan pada proses kompilasi kode program hingga proses upload kode mesin ke mikrokontroler. Sebagai contoh, kode program yang saya kompilasi adalah ser-4rel.c untuk mikrokontroler ATtiny2313.

  1. Kode program bahasa C menjadi Object
    avr-gcc -g -Os -mmcu=attiny2313 -c ser-4rel.c
  2. Object menjadi ELF
    avr-gcc -g -mmcu=attiny2313 -o ser-4rel.elf ser-4rel.o
  3. ELF menjadi HEX
    avr-objcopy -j .text -j .data -O ihex ser-4rel.elf ser-4rel.hex
  4. Upload ke mikrokontroler
    sudo avrdude -cavrispmkii -pattiny2313 -e -Uflash:w:ser-4rel.hex:i

cu

Untuk mengotomasi baris-baris perintah di atas, maka kita dapat membuat sebuah skrip shell sederhana untuk melakukan kompilasi dan upload file hasil kompilasi ke mikrokontroler. Skrip ini saya beri nama cu (compile-upload). :D

Seperti saya sebutkan di atas, skrip ini sederhana saja dan hanya bisa digunakan untuk melakukan kompilasi untuk proyek program dengan satu file program saja (single-file project). Jika program menggunakan file library, maka harus dimodifikasi.

Nah, dari baris-baris perintah di atas, ada beberapa variabel penting yang perlu dijadikan parameter dari skrip cu yakni:

  • tipe mikrokontroler (pada contoh di atas: attiny2313)
  • nama file kode program (pada contoh di atas: ser-4rel.c)
  • tipe programmer (uploader) yang digunakan (pada contoh di atas: avrispmkii)

Untuk itu kita tentukan saja bahwa parameter-parameter skrip cu adalah:

  • $1 = tipe mikrokontroler
  • $2 = tipe programmer
  • $3 = kode program bahasa C

Berikut adalah skrip cu (compile & upload):

echo 1. Compile C to Object
echo $(avr-gcc -g -Os -mmcu=$1 -c $3.c)
echo 2. Link Object to ELF
echo $(avr-gcc -g -mmcu=$1 -o $3.elf $3.o)
echo 3. Create HEX from ELF
echo $(avr-objcopy -j .text -j .data -O ihex $3.elf $3.hex)
echo $(sleep 1)
echo 4. Upload program
echo $(sudo avrdude -p$1 -c$2 -e -Uflash:w:$3.hex:i)
echo 5. Done.

Ketik skrip di atas menggunakan editor teks seperti vim, nano atau leafpad dan simpan dengan nama file: cu.

Selanjutnya set atribut executable dari file cu dengan perintah:

chmod +x cu

Selesai.

Berikut adalah beberapa contoh proses kompilasi dan upload menggunakan skrip cu.

./cu attiny2313 avrispmkii wlc02
./cu atmega8 stk200 dimmer
./cu atmega16 usbasp gsmctrl

Sekian dan semoga bermanfaat.

Bagi Anda pengguna Windows, skrip cu.bat dapat dibaca di halaman ini:

Skrip Kompilasi dan Uploader Versi Windows

Selamat belajar.

:D

No Comments

Add a Comment

Your email address will not be published. Required fields are marked *