Pada tutorial kali ini saya akan berbagi pengalaman tentang cara melakukan pemrograman mikrokontroler Atmel di atas OS Linux. Disini peralatan yang saya gunakan adalah :
- Trainer AVR V2.0 buatan KEI Electronic dengan uC Atmega 16A
- USBasp-Programmer, dan
- PC dengan OS Linux Ubuntu 13.10 Desktop Versi 64bit
gcc The actual C/C++ Compiler binutils A collection of tools, including the assembler, linker and some other tools to manipulate the generated binary files. libc-avr A subset of the standard C Library with some additional AVR specific functions. The libc-avr package also includes the AVR specific header files. gdb The debugger. See the Debugging section for more information about this. avrdude A Programm to download/upload/manipulate the ROM and EEPROM of an AVR MCU.
Pada Ubuntu, kita dapat melakukan penginstalan paket-paket tersebut dengan perintah ;
Setelah itu kita perlu melakukan tahapan-tahapan konfigurasi berikut :sudo apt-get install gcc-avr binutils-avr gdb-avr avr-libc avrdude
- Hubungkan USBASP-Programmer ke Port USB PC yang kita gunakan, kemudian cek berapa ID dari device tersebut :
it@it-H55M-S2:~$ lsusb Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 004: ID 16c0:05dc Van Ooijen Technische Informatica shared ID for use with libusb Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 004: ID 1c4f:0003 SiGma Micro HID controller Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
- Terlihat bahwa USBASP-Programmer memiliki ID 16c0:05dc. 16C0 adalah ID Vendor, sedangkan 05dc adalah Product ID.
- Agar USBASP-Programmer dikenali oleh komputer yang kita gunakan, maka kita harus mendefinisikan rule baru :
it@it-H55M-S2:~$ ls -l /etc/udev/rules.d/ -rw-r--r-- 1 root root 441 Des 9 11:06 70-persistent-net.rules -rw-r--r-- 1 root root 1157 Okt 12 18:01 README it@it-H55M-S2:~$ sudo gedit /etc/udev/rules.d/60-atmega.rules # USBasp ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", GROUP="plugdev", MODE="0666", SYMLINK+="usbasp" it@it-H55M-S2:~$ ls -l /etc/udev/rules.d/ total 16 -rw-r--r-- 1 root root 236 Mar 10 09:50 60-atmega.rules -rw-r--r-- 1 root root 234 Mar 10 09:44 60-atmega.rules~ -rw-r--r-- 1 root root 441 Des 9 11:06 70-persistent-net.rules -rw-r--r-- 1 root root 1157 Okt 12 18:01 README
- Pada rules diatas, kita membuat USBasp hanya bisa dijalankan oleh user yang tergabung dalam group “plugdev”. User yang saya gunakan adalah "it", dan sudah termasuk di dalam group “plugdev”.
it@it-H55M-S2:~$ id it uid=1000(it) gid=1000(it) groups=1000(it),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),112(lpadmin),124(sambashare)
- Kalau user yang anda gunakan belum termasuk kedalam group plugdev, silahkan anda modifikasi group user tersebut agar tergabung ke dalam member group "plugdev" dengan perintah berikut :
sudo usermod -a -G plugdev user_anda
- Restart udev.
it@it-H55M-S2:~$ sudo /etc/init.d/udev restart
- Setelah melakukan langkah diatas, kalau USBasp-Programmer anda sudah terhubung ke PC maka anda akan mendapatkan simlink di dalam folder /dev :
it@it-H55M-S2:~$ ls -l /dev/u* crw------- 1 root root 10, 223 Mar 10 08:17 /dev/uinput crw-rw-rw- 1 root root 1, 9 Mar 10 08:17 /dev/urandom lrwxrwxrwx 1 root root 15 Mar 10 09:46 /dev/usbasp -> bus/usb/006/005
- Namun kalau USBasp-Programmer anda belum terhubung dengan PC, maka anda tidak akan mendapatkan simlink usbasb di dalam folder /dev seperti ini :
it@it-H55M-S2:~$ ls -l /dev/u* crw------- 1 root root 10, 223 Mar 10 08:17 /dev/uinput crw-rw-rw- 1 root root 1, 9 Mar 10 08:17 /dev/urandom
OK, sampai disini kita sudah
menyelesaikan tahap awal yang cukup penting agar USBasp-Programmer kita bisa digunakan di PC Linux. Kemudian tahap selanjutnya adalah mencari
atau menginstall User Interface yang dapat digunakan untuk menjalankan avrdude, agar kita mendapatkan kemudahan dalam menggunakan
USBasp-Programmer untuk mengisikan file Hex ke dalam mikrokontroler.
Setelah melakukan browsing di google, akhirnya saya mendapatkan software GUI yang
cukup mudah digunakan untuk menjalankan avrdude, yaitu AVRDUDESS yang
saya dapat dari link berikut :
http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/.
Software ini adalah GUI untuk avrdude yang
dapat digunakan di Linux dan Mac OS X, asalkan sudah terinstall Mono.
Untuk menjalankannya di Windows kita membutuhkan .NET Framework 2.0
SP1 atau yang lebih baru. Langkah-langkah yang harus anda lakukan adalah :
- Install Mono di Ubuntu 13.10 Desktop anda. Untuk mudahnya gunakan saja synaptic
- Download AVRDUDESS di sini atau di sini
- Kemudian ekstrak file avrdudess yang telah di download :
it@it-H55M-S2:~$ mkdir gui-atmega it@it-H55M-S2:~$ mv avrdudess_20140102.zip gui-atmega/ it@it-H55M-S2:~$ cd gui-atmega/ it@it-H55M-S2:~/gui-atmega$ unzip avrdudess_20140102.zip Archive: avrdudess_20140102.zip AVRDUDESS - A GUI for AVRDUDE http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ inflating: TODO.txt inflating: avrdude.conf inflating: avrdude.exe inflating: avrdudess.exe inflating: avr-size.exe inflating: bits.xml inflating: Changelog.txt inflating: config.xml inflating: Credits.txt inflating: License.txt inflating: presets.xml inflating: Readme.txt
- Kemudian anda dapat langsung menjalankan AVRDUDESS :
it@it-H55M-S2:~/gui-atmega$ mono avrdudess.exe
- Sesaat setelah itu akan tampil Jendela aplikasi AVRDUDESS :
- Hubungkan pin-pin / kabel usbasp dengan mikrokontroler :
USBasp Programmer Mikrokontroler Atmega MOSI MOSI MISO MISO SCK SCK Reset Reset Ground Ground
- Pilih jenis Programmer yang digunakan (usbasp) dan file hex yang akan diisikan ke mikrokontroler. Kemudian tentukan tipe mikrokontroler yang digunakan, atau klik tombol "Detect" untuk mendeteksi secara otomatis tipe mikrokontroler yang digunakan.
- Terakhir tekan tombol Program!. Kalau berhasil maka anda akan mendapatkan tampilan seperti berikut :
Selamat mencoba !!!
Tidak ada komentar:
Posting Komentar