AVRA adalah sebuah program assembler untuk keluarga Mikrokontroler Atmel AVR yang kompatibel dengan AVRASM32 keluaran Atmel. Versi awal AVRA dirilis oleh John Anders Haugum. Setelah versi 0.7, AVRA dilanjutkan oleh Tobias Weber dan terakhir oleh Burkhard Arenfeld.

Berbeda dengan GAVRASM yang dibuat menggunakan Free Pascal, AVRA dibuat dengan bahasa C berstandar ANSI. Jadi eksekusinya lebih cepat dibandingkan GAVRASM. Sebagai perbandingan saja, pada versi Windows, ukuran file executable AVRA adalah 109 KB sementara GAVRASM 2,71 MB.

AVRA dirancang untuk dapat menggantikan AVRASM32, meskipun belum semua fitur yang dimiliki AVRASM32 telah diadopsikan ke AVRA, namun AVRA telah dapat digunakan dengan Atmel AVR Studio. AVRA memiliki beberapa perbedaan dengan AVRASM32, antara lain:

  • AVRA mendukung beberapa direktif tambahan antara lain .define, .undef, .ifdef, .if, .else, .endif, .elif, .elseif, dan .warning.
  • Tidak semua command line yang dimiliki AVRASM32 dimiliki oleh AVRA. Parameter -e untuk menentukan file EEPROM. AVRA menyimpan data EEPROM dalam file program.eep.hex, AVRA tidak mendukung format selain Intel Hex.
  • AVRA memiliki beberapa fitur baru dalam penulisan makro (lebih fleksibel) sehingga semakin mendukung konsep penggunaan kembali kode program. Hal ini cocok untuk pengembangan library program.
  • AVRA menciptakan file coff setiap kali proses assembling sukses. File coff ini dapat digunakan dengan program debugger seperti AVR Studio atau program debugger lain yang mendukung tipe file ini.
  • AVRA memiliki Meta Tag untuk mencatat waktu kompilasi. Selain itu, Meta Tag ini juga dapat digunakan untuk membangkitkan serial number.

AVRA merupakan software open-source yang dapat dikompilasi pada sistem operasi apapun. Saat ini tersedia dua macam paket download yang tersedia di SourceForge.Net, yakni paket untuk Win32 dan paket Source Code. Dalam paket untuk Win32 disertakan juga source code-nya. Anda dapat mendownload keduanya melalui download link yang telah saya sediakan.

Perlu saya sampaikan sekali lagi bahwa AVRA dirancang untuk menggantikan AVRASM32 dengan beberapa fitur tambahan yang tidak dimiliki oleh AVRASM32. Dalam kerjanya, AVRA membutuhkan file-file include yang berisi definisi-definisi untuk masing-masing tipe AVR, namun bukan suatu keharusan. Kita dapat membuat sendiri file include atau cukup mendefinisikan register-register yang kita butuhkan saja dalam program kita. Akan tetapi, jauh lebih praktis untuk menggunakan file-file include dari Atmel AVRASM32.

Download

Instalasi AVRA

Pada sistem operasi Linux, lakukan langkah-langkah sebagai berikut:

  • bunzip2 avra-1.2.3a-src.tar.bz2
  • tar -xvf avra-1.2.3a-src.tar
  • cd avra-1.2.3
  • cp Makefiles/Makefile.linux Makefile
  • make
  • Sebagai root: make install
  • Testing: avra –devices
  • unzip avr000.zip
  • mkdir /home/chandra/attiny2313
  • mkdir /home/chandra/atmega8
  • cp tn2313def.inc /home/chandra/attiny2313
  • cp m8def.inc /home/chandra/atmega8

Perhatian! Subdirektori user (chandra) harus diganti dengan nama subdirektori user Anda sendiri.

Prosedur di atas akan menginstal AVRA dan membuat subdirektori attiny2313 dan atmega8 yang berisi file tn2313def.inc dan m8def.inc, respectively. Saya memisahkan file-file program untuk proyek mikrokontroler menggunakan ATtiny2313 dan ATmega8.

Anda boleh saja menempatkan file-file include di mana saja. Yang perlu diingat hanyalah, AVRA membutuhkan file-file include tersebut. Jadi pastikan saja path-nya pada direktif .include dalam source code benar.

Pada sistem operasi Windows, file distribusi avra-1.2.3-win32.zip menyediakan file executable AVRA.EXE pada subdirektori bin.

Jika Anda ingin menggantikan AVRASM32, maka hapus saja file AVRASM32.EXE dan ganti dengan AVRA.EXE, jangan lupa untuk me-rename lho ya… πŸ˜€

Tapi jika Anda seperti saya, lebih suka menulis program menggunakan fasilitas editor console semacam EDIT dan menjalankan proses kompilasi melalui command line, maka Anda bisa letakkan file AVRA.EXE di direktori utama C:\ atau di C:\AVRA beserta file-file include yang ada dalam file AVR000.ZIP.

Okey, sekian dulu. Lebih lanjut tentang AVRA kapan-kapan kita ngobrol lagi.

Selamat belajar!

πŸ˜€