Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ECE 353
Memulai WinAvrMemulai WinAvr
Akhmad HendriawanAkhmad Hendriawan
2hendri@pens.ac.id
PendahuluanPendahuluan
►WinAVR adalah tool yang dikembangkanWinAVR adalah tool yang dikembangkan
untuk ...
3hendri@pens.ac.id
Install ProgramInstall Program
►Instalasi cukup mudahInstalasi cukup mudah httphttp
://winavr.sourcefor...
4hendri@pens.ac.id
Programmer’s NotepadProgrammer’s Notepad
►Programmer’s Notepad adalah tools utamaProgrammer’s Notepad a...
5hendri@pens.ac.id
Menambah tools externalMenambah tools external
► Pada Programmer’s Notepad, pilih Tools-Pada Programmer...
6hendri@pens.ac.id
Menambah tools eksternalMenambah tools eksternal
► Pilih schemePilih scheme
► pilih “Add”pilih “Add”
► ...
7hendri@pens.ac.id
Contoh Program CContoh Program C
// blinky.c// blinky.c
#include <avr/io.h>#include <avr/io.h> // Stand...
8hendri@pens.ac.id
Membangun programMembangun program
►Tulis program , simpan dengan namaTulis program , simpan dengan nam...
9hendri@pens.ac.id
MFileMFile
►Program sederhana yang menghasilkanProgram sederhana yang menghasilkan
Makefiles untuk meng...
10hendri@pens.ac.id
GNU MakeGNU Make
► WinAVR menggunakan “Makefiles” ketikaWinAVR menggunakan “Makefiles” ketika
membangu...
11hendri@pens.ac.id
MakefilesMakefiles
►Makefiles adalah tab-sensitive: tab !=Makefiles adalah tab-sensitive: tab !=
space...
12hendri@pens.ac.id
Contoh MakefileContoh Makefile
## ‘all’ and ‘clean’ targets must be defined!## ‘all’ and ‘clean’ targe...
13hendri@pens.ac.id
Debugging menggunakan AvrStudioDebugging menggunakan AvrStudio
► Gunakan editor untuk mengedit flags p...
14hendri@pens.ac.id
15hendri@pens.ac.id
Building C code for DebuggingBuilding C code for Debugging
► Go toGo to ToolsTools  OptionsOptions ...
16hendri@pens.ac.id
17hendri@pens.ac.id
Debugging dengan AvrStudioDebugging dengan AvrStudio
► Buka theBuka the AVR StudioAVR Studio
 Buka th...
18hendri@pens.ac.id
19hendri@pens.ac.id
Informasi TambahanInformasi Tambahan
►Informasi Tambahan dapat ditemukan padaInformasi Tambahan dapat ...
ECE 353
Informasi TambahanInformasi Tambahan
Instalasi winavrInstalasi winavr
21hendri@pens.ac.id
22hendri@pens.ac.id
23hendri@pens.ac.id
24hendri@pens.ac.id
25hendri@pens.ac.id
26hendri@pens.ac.id
27hendri@pens.ac.id
28hendri@pens.ac.id
Upcoming SlideShare
Loading in …5
×

Memulai AVR WINAVR

135 views

Published on

Tutorial memulai belajar AVR menggunakan winAVR

Published in: Devices & Hardware
  • Be the first to comment

  • Be the first to like this

Memulai AVR WINAVR

  1. 1. ECE 353 Memulai WinAvrMemulai WinAvr Akhmad HendriawanAkhmad Hendriawan
  2. 2. 2hendri@pens.ac.id PendahuluanPendahuluan ►WinAVR adalah tool yang dikembangkanWinAVR adalah tool yang dikembangkan untuk mikrokontroler Atmel AVR RISCuntuk mikrokontroler Atmel AVR RISC ►Program yang ditulis dengan menggunakanProgram yang ditulis dengan menggunakan C, dikompile menggunakan GCC dan avr-C, dikompile menggunakan GCC dan avr- libcclibcc ►Open source, dapat diperoleh diOpen source, dapat diperoleh di winavr.sourceforge.netwinavr.sourceforge.net
  3. 3. 3hendri@pens.ac.id Install ProgramInstall Program ►Instalasi cukup mudahInstalasi cukup mudah httphttp ://winavr.sourceforge.net/://winavr.sourceforge.net/ ►Sudah terdapat IDE, Compiler, DebuggerSudah terdapat IDE, Compiler, Debugger dan Mfile untuk mempermudah pembuatandan Mfile untuk mempermudah pembuatan programprogram
  4. 4. 4hendri@pens.ac.id Programmer’s NotepadProgrammer’s Notepad ►Programmer’s Notepad adalah tools utamaProgrammer’s Notepad adalah tools utama yang digunakan untuk menulis kode dalamyang digunakan untuk menulis kode dalam CC ►Programmers notepad mempunyaiProgrammers notepad mempunyai kemampuankemampuan  Highlight sintaksHighlight sintaks  Mendukung beberapa bahasaMendukung beberapa bahasa  Adanya integrasi dengan compilerAdanya integrasi dengan compiler (menggunakan bahasa C)(menggunakan bahasa C)
  5. 5. 5hendri@pens.ac.id Menambah tools externalMenambah tools external ► Pada Programmer’s Notepad, pilih Tools-Pada Programmer’s Notepad, pilih Tools- >Options, and pilih “Tools” pada sisi kiri layar>Options, and pilih “Tools” pada sisi kiri layar
  6. 6. 6hendri@pens.ac.id Menambah tools eksternalMenambah tools eksternal ► Pilih schemePilih scheme ► pilih “Add”pilih “Add” ► ““Name” adalah identifikasiName” adalah identifikasi dari toolsdari tools ► Command adalah perintahCommand adalah perintah yang digunakanyang digunakan ► Folder %d (Path file)Folder %d (Path file) ► Tool ini menciptakan menuTool ini menciptakan menu make extcoff pada menumake extcoff pada menu toolstools
  7. 7. 7hendri@pens.ac.id Contoh Program CContoh Program C // blinky.c// blinky.c #include <avr/io.h>#include <avr/io.h> // Standard AVR header// Standard AVR header #include <avr/delay.h>#include <avr/delay.h> // Delay loop functions// Delay loop functions int main(void)int main(void) {{ DDRA = 0xFF; // PORTA is outputDDRA = 0xFF; // PORTA is output while (1) {while (1) { for (int i=1; i<=128; i*=2) {for (int i=1; i<=128; i*=2) { PORTA = i;PORTA = i; _delay_loop_2(30000);_delay_loop_2(30000); }} for (int i=128; i>1; i/=2) {for (int i=128; i>1; i/=2) { PORTA = i;PORTA = i; _delay_loop_2(30000);_delay_loop_2(30000); }} } // end while} // end while }}
  8. 8. 8hendri@pens.ac.id Membangun programMembangun program ►Tulis program , simpan dengan namaTulis program , simpan dengan nama blinky.cblinky.c ►Jalankan MFileJalankan MFile  Makefile -> Main File Name = blinky (no .c)Makefile -> Main File Name = blinky (no .c)  Makefile -> MCU Type = atmega32Makefile -> MCU Type = atmega32 ►File -> Save As ke direktori dari sourceodeFile -> Save As ke direktori dari sourceode blinky.cblinky.c ►Pada Programmer’s Notepad: Select ToolsPada Programmer’s Notepad: Select Tools ->Make All->Make All
  9. 9. 9hendri@pens.ac.id MFileMFile ►Program sederhana yang menghasilkanProgram sederhana yang menghasilkan Makefiles untuk mengkompile kode CMakefiles untuk mengkompile kode C ►Makefile adalah file konfigurasi bagaimanaMakefile adalah file konfigurasi bagaimana sourcecode C di kompilesourcecode C di kompile  Chip apa yang digunakan (atmega16)Chip apa yang digunakan (atmega16)  Nama file target (blinky.c)Nama file target (blinky.c)
  10. 10. 10hendri@pens.ac.id GNU MakeGNU Make ► WinAVR menggunakan “Makefiles” ketikaWinAVR menggunakan “Makefiles” ketika membangun project dengan with GNU Makemembangun project dengan with GNU Make ► GNU Make membangun dependencies dan fileGNU Make membangun dependencies dan file sourcesource ► Hanya akan menyusun file dari update danHanya akan menyusun file dari update dan source baru (menghemat waktu)source baru (menghemat waktu) ► Tool yang power full: lihatTool yang power full: lihat C:WinAVRdocgnumake.html for more infoC:WinAVRdocgnumake.html for more info
  11. 11. 11hendri@pens.ac.id MakefilesMakefiles ►Makefiles adalah tab-sensitive: tab !=Makefiles adalah tab-sensitive: tab != spacespace ►Barus yang dimulai dari tab dieksekkusiBarus yang dimulai dari tab dieksekkusi sebagai perintahsebagai perintah ►Kesalahan Tab menampilkan pesanKesalahan Tab menampilkan pesan “improper separator” error“improper separator” error
  12. 12. 12hendri@pens.ac.id Contoh MakefileContoh Makefile ## ‘all’ and ‘clean’ targets must be defined!## ‘all’ and ‘clean’ targets must be defined! # ‘make’ or ‘make all’ will build dependencies in the order they are given# ‘make’ or ‘make all’ will build dependencies in the order they are given all: begin project2 endall: begin project2 end begin:begin: @echo “Starting build”@echo “Starting build” project2:project2: avr-gcc project2.cavr-gcc project2.c end:end: @echo “Build complete”@echo “Build complete” clean:clean: rm project2.orm project2.o
  13. 13. 13hendri@pens.ac.id Debugging menggunakan AvrStudioDebugging menggunakan AvrStudio ► Gunakan editor untuk mengedit flags padaGunakan editor untuk mengedit flags pada makefile:makefile: DEBUG = stabsDEBUG = stabs // mengijinkan debugging// mengijinkan debugging OPT = 0OPT = 0 // mematikan optimasi// mematikan optimasi ► SimpanSimpan makefilemakefile AVR Studio menyediakan debugging program dalam Cdan assembly yang dilakukan dengan menyediakan file COF yang dibangkitkan oleh kompiler (lihat Makefile)
  14. 14. 14hendri@pens.ac.id
  15. 15. 15hendri@pens.ac.id Building C code for DebuggingBuilding C code for Debugging ► Go toGo to ToolsTools  OptionsOptions  ToolsTools ► Pull down thePull down the SchemesSchemes window and click onwindow and click on C/C++C/C++ optionoption ► AA make extcoffmake extcoff option will appear; clickoption will appear; click OKOK ► Click onClick on ToolsTools againagain ► Click onClick on make extcoffmake extcoff to generate the COF fileto generate the COF file (this will generate the correct debug file for AVR(this will generate the correct debug file for AVR Studio that includes the C code information)Studio that includes the C code information) In the Programmer’s Notepad (WinAVR):
  16. 16. 16hendri@pens.ac.id
  17. 17. 17hendri@pens.ac.id Debugging dengan AvrStudioDebugging dengan AvrStudio ► Buka theBuka the AVR StudioAVR Studio  Buka the COF fileBuka the COF file (Anda akan dibantu untuk memilih platform debug(Anda akan dibantu untuk memilih platform debug dan device )dan device )  SourcecodeSourcecode CC akan muncul pada window utamaakan muncul pada window utama  Optional (Berguna!) untuk melihat code assembly:Optional (Berguna!) untuk melihat code assembly: go togo to ViewView  DissassemblerDissassembler  Anda dapat meletakkan kode assembly di sampingAnda dapat meletakkan kode assembly di samping kode Ckode C
  18. 18. 18hendri@pens.ac.id
  19. 19. 19hendri@pens.ac.id Informasi TambahanInformasi Tambahan ►Informasi Tambahan dapat ditemukan padaInformasi Tambahan dapat ditemukan pada situssitus winavr.sourceforge.netwinavr.sourceforge.net
  20. 20. ECE 353 Informasi TambahanInformasi Tambahan Instalasi winavrInstalasi winavr
  21. 21. 21hendri@pens.ac.id
  22. 22. 22hendri@pens.ac.id
  23. 23. 23hendri@pens.ac.id
  24. 24. 24hendri@pens.ac.id
  25. 25. 25hendri@pens.ac.id
  26. 26. 26hendri@pens.ac.id
  27. 27. 27hendri@pens.ac.id
  28. 28. 28hendri@pens.ac.id

×