Home

Using AVR Studio 4

image

Contents

1. ELFSIZE echo fi sizeafter if f 7TARGET elf then echo echo MSG_SIZE_AFTER ELFSIZE echo fi Display compiler version information gcecversion CC version Program the device program TARGET hex TARGET eep AVRDUDE AVRDUDE_FLAGS AVRDUDE_WRITE_FLASH AVRDUDE_WRITE_EEPROM Convert ELF to COFF for use in debugging simulating in AVR Studio or VMLAB COFFCONVERT OBJCOPY debugging change section address data 0x800000 change section address bss 0x800000 change section address noinit Ox800000 change section address eeprom 0x8 10000 coff TARGET elf echo echo MSG_COFF TARGET cof COFFCONVERT O coff avr lt TARGET cof extcoff TARGET elf echo BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 9 of 11 How to use AVR Studio 4 to program the ATmegal128 echo MSG_EXTENDED_COFF TARGET cof COFFCONVERT O coff ext avr lt TARGET cof Create final output files hex eep from ELF output file hex elf echo echo MSG_FLASH OBJCOPY O FORMAT R eeprom lt eep elf echo echo MSG_EEPROM OBJCOPY j eeprom set section flags eeprom alloc load change section Ima eeprom 0 O FORMAT lt Create extended listing file from ELF output file lss elf echo echo MSG_EXTENDED_LISTING OBJDUMP h S lt gt C
2. FEB2007 Page 1 of 11 9 10 11 12 How to use AVR Studio 4 to program the ATmega128 If you want to have Studio automatically open a new file for you to begin typing your code check the box labeled Create initial file Similarly if you would like to create a folder in which to put the project files check the box labeled Create folder In the box labeled Location either enter the location you wish the new file and folder to be put or click the browse button with three dots to browse to the location Click on Next to go to the next screen Select AVR Simulator in the left column labeled Select debug platform and device and select ATmega128 from the list of devices in the right column Then click Finish Fle project Buld Edt yew Joos Debug window Help 0Sa Sa o sa Select debug platform and device Debug pistom Figure 3 AVR Studio Project Wizard Debug Platform and Device Screen The Wizard will set up the project file structure which will appear on the left window pane and if you checked Create initial file it will open a window to the right in which you can start typing or paste your C code In order to build compile your program it is recommended that you use an external makefile such as the one included in the Appendix If you want to use an external makefile click on Project from the main menu bar From the drop down menu select Configuration O
3. How to use AVR Studio 4 to program the ATmega128 The following assumes that you have already installed WinAVR http sourceforge net projects winavr and AVR Studio 4 http www atmel com dyn products tools_card asp tool_id 2725 Procedure 1 Open Studio 4 If you don t see the Project Wizard screen as shown below click on Project from the main menu bar and select Project Wizard AVR Studio Ple Project Buki Edt Yew Joos Debug Window Help Sugu Bag d T C Documerts and Settings Encoder aps Dec 2006 230519 SC Documerts and Settings Studodiestaps 18 Mar2006 192331 Jocumerts and Settings JTAGtest aps 1O Now2006 170239 Vor 412498 Show dalog at startup lt Paks Qeessage rnd n Hes Blereakponts and traceponts Figure 1 AVR Studio Project Wizard Entry Screen 2 In the Project Wizard click on New Project 3 Under Project Type select AVR GCC Ble Project Buld Eat yew Joos Debug Window Help Osha RSL CTAR AsIII sae Create new proyect Project type Amel AVR Assembler ORGS Create inital file f Create folder Intal nie e Locanon E ADocuments and SetingsiMAE 31 0G My Documents SJSU IMECHATRONICSyne1 06 Buki Message TA Find in Fies K Sreakpoints and Tracepoints Figure 2 AVR Studio Project Wizard Project Screen 4 Enter the name you want to call the project BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24
4. at this counter needs to be initialized first using Yn see avrdude manual AVRDUDE_ERASE_ COUNTER y Uncomment the following if you do not wish a verification to be performed after programming the device AVRDUDE_NO_VERIFY V Increase verbosity level Please use this when submitting bug reports about avrdude See lt http savannah nongnu org projects avrdude gt to submit bug reports AVRDUDE_VERBOSE v v AVRDUDE_FLAGS p MCU P AVRDUDE_PORT c AVRDUDE_PROGRAMMER AVRDUDE_FLAGS AVRDUDE_NO_VERIFY AVRDUDE_FLAGS AVRDUDE_VERBOSE AVRDUDE_FLAGS AVRDUDE_ERASE_COUNTER BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 7 of 11 How to use AVR Studio 4 to program the ATmegal128 Define directories if needed DIRAVR c winavr DIRAVRBIN DIRAVR bin DIRAVRUTILS DIRA VR utils bin DIRINC DIRLIB DIRAVR avr lib Define programs and commands SHELL sh CC avr gcc OBJCOPY avr objcopy OBJDUMP avr objdump SIZE avr size NM avr nm AVRDUDE avrdude REMOVE rm f COPY cp Define Messages English MSG_ERRORS_NONE Errors none MSG_BEGIN begin MSG_END end MSG_SIZE_BEFORE Size before MSG_SIZE_AFTER Size after MSG_COFF Converting to AVR COFF MSG_EXTENDED_COFF Converting to AVR Extended COFF MSG_FLASH Creating load file for Flash MSG_EEPROM Cr
5. considered source files but generated files assembler output from the compiler and will be deleted upon make clean Even though the DOS Win filesystem matches both s and S the same it will preserve the spelling of the filenames and gcc itself does care about how the name is spelled on its command line ASRC Optimization level can be 0 1 2 3 s 0 turn off optimization s optimize for size Note 3 is not always the best optimization level See avr libc FAQ OPT s Debugging format Native formats for AVR GCC s g are stabs default or dwarf 2 AVR extended COFF requires stabs plus an avr objcopy run DEBUG stabs 11FEB06 from http www avrfreaks com index php name PNphpBB2 amp file viewtopic amp t 35003 amp postdays 0 amp postorder asc amp hi ghlight include quotes amp start 15 amp sid a3b79ce2eba748c 19 10b2629249f072f List any extra directories to look for include files here Each directory must be separated by a space Use forward slashes for directory separators For a directory that has spaces enclose it in quotes EXTRAINCDIRS c WinA VR avr include EXTRAINCDIRS AVRLIB Compiler flag to set the C Standard level BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 5 of 11 How to use AVR Studio 4 to program the ATmegal128 c89 ANSI C gnu89 c89 plus GCC extensions c99 ISO C99 standard not yet fully
6. e been made and click on Connect Select AVR Programmer Tip To auto connect to the programmer used leet time press the Programmer button on the toolbar Note thet the JTAGICE connot be used for programming os long as itis connected a debugging session In that case select Stop Debugging frst Disconnected Mode Figure 4 Select AVR Programmer dialog box This window allows you to choose the platform and COM port with which to program the ATmega 128 The selection on the left side should be STK500 or AVRISP and that on the right should be Auto to auto detect for an available COM port on your PC 13 You should then see the dialog box shown in Figure 5 which shows the fuse settings In the pane at the bottom of the window you should see that AVR Studio was successful in communicating with the ATmega 128 See the Intro to the ATmega 128 laboratory for information on setting the fuses http www engr sjsu edu bjfurman courses ME106 ME106pdf intro atmel pdf STK500 with STK501 top module Program Verity Read Seting mode and device parameters OK a Ereanng programming mode OK Reading fuses OxFF WDF OxC4_ OK Leaving programming mode OK X Figure 5 Fuse dialog box This window allows you to select the fuses on the ATmega 128 14 Once you have verified that the fuse settings are correct click on the Program tab and you should see the dialog box shown in Figure 6 In the sect
7. eating load file for EEPROM MSG_EXTENDED_LISTING Creating Extended Listing MSG_SYMBOL_TABLE Creating Symbol Table MSG_LINKING Linking MSG_COMPILING Compiling MSG_ASSEMBLING Assembling MSG_CLEANING Cleaning project Define all object files OBJ SRC c 0 ASRC S 0 Define all listing files LST ASRC S st SRC c Ist Compiler flags to generate dependency files GENDEPFLAGS Wp M MP MT F 0 MF dep F d Combine all necessary flags and optional flags Add target processor to flags ALL_CFLAGS mmcu MCU I CFLAGS GENDEPFLAGS ALL_ASFLAGS mmcu MCU I x assembler with cpp ASFLAGS Default target all begin gccversion sizebefore build sizeafter finished end BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 8 of 11 How to use AVR Studio 4 to program the ATmegal128 build elf hex eep Iss sym elf TARGET elf hex TARGET hex eep TARGET eep Iss TARGET Iss sym TARGET sym Eye candy AVR Studio 3 x does not check make s exit code but relies on the following magic strings to be generated by the compile job begin echo echo MSG_BEGIN finished echo MSG_ERRORS_NONE end echo MSG_END echo Display size of file HEXSIZE SIZE target FORMAT TARGET hex ELFSIZE SIZE A TARGET elf sizebefore if f 7TARGET elf then echo echo MSG_SIZE_BEFORE
8. implemented gnu99 c99 plus GCC extensions CSTANDARD std gnu99 Place D or U options here CDEFS Place I options here CINCS Compiler flags g generate debugging information O optimization level f tuning see GCC manual and avr libc documentation Wall warning level Wa tell GCC to pass this to the assembler adhlns create assembler listing CFLAGS g DEBUG CFLAGS CDEFS CINCS CFLAGS O OPT CFLAGS funsigned char funsigned bitfields fpack struct fshort enums CFLAGS Wall Wstrict prototypes CFLAGS Wa adhins lt c Ist CFLAGS patsubst I1 EXTRAINCDIRS CFLAGS CSTANDARD Assembler flags Wa tell GCC to pass this to the assembler ahlms create listing gstabs have the assembler create line number information note that for use in COFF files additional information about filenames and function names needs to be present in the assembler source files see avr libc docs FIXME not yet described there ASFLAGS Wa adhIns lt S Ist gstabs Additional libraries Minimalistic printf version PRINTF_LIB_MIN W1 u vfprintf lprintf_min Floating point printf version requires MATH_LIB Im below PRINTF_LIB_FLOAT W1 u vfprintf lprintf_flt PRINTF_LIB Minimalistic scanf version SCANF_LIB_MIN W1 u vfscanf lscanf_min Floating point scanf version req
9. ion titled Flash the Input Hex File radio button should be checked and a path to the hex file corresponding to target filename should be in the path box You can also navigate to another folder to download an alternate hex file if desired BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 3 of 11 How to use AVR Studio 4 to program the ATmegal128 15 Click on the button labeled Program to download the hex file to the microcontroller You should see the following lines appear at the bottom of the window Reading FLASH input file OK Setting mode and device parameters OK Entering programming mode OK Erasing device OK Programming FLASH OK Reading FLASH OK FLASH contents is equal to file OK Leaving programming mode OK STK500 with STK501 top module Program Fuses LockBes Advanced Boara Auto Erase Dewce Programming mode 7 Erase Device Belore Programming SP mode fs as Verity Device A or Programming Flash inputHEXFile fu Program EEPROM Input HEX File Progam Sting mode and device parameters OK gramming mode OK leading fuses OxFF ODF OxC4 _ OK Leaving programming mode OK Figure 6 Program dialog box This window allows you to navigate to the hex file to be downloaded to the microcontroller 16 Voila Press the Reset button on the STK500 and your program is now running on the ATmega 128 Appendi
10. ll begin finish end sizebefore sizeafter gccversion build elf hex eep Iss sym coff extcoff clean clean_list program BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 11 of 11
11. ptions Under the General option click the checkbox for Use External Makefile The makefile needs to be in the same folder as the target file the program you want to compile and the target file must have the same name as the project Use the browse button to find the makefile to use or type its name There are two lines in the makefile that you will typically need to modify that for the target file name and that for the C source files which are needed in addition to the target file These two lines are highlighted in the sample makefile in the Appendix Modify these two lines accordingly before you try to compile your program Press F7 or select Build from the Build pull down menu to start the compilation process Once you have successfully built your program connect a serial cable to the STK500 RS 232 connector Turn on the STK500 then click on Tools from the main menu bar BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 2 of 11 How to use AVR Studio 4 to program the ATmegal128 select Program AVR from the drop down menu then select Connect or just click on the Connect icon on the toolbar You should then see the Select AVR Programmer dialog box as shown in Figure 4 The selection on the left side should be STK500 or AVRISP and that on the right should be Auto to auto detect for an available COM port on your PC Make sure these selections hav
12. reate a symbol table from ELF output file sym elf echo echo MSG_SYMBOL_TABLE NM n lt gt Link create ELF output file from object files SECONDARY TARGET elf PRECIOUS OBJ elf OBJ echo echo MSG_LINKING CC ALL_CFLAGS OBJ output LDFLAGS Compile create object files from C source files 0 c echo echo MSG_COMPILING lt CC c ALL_CFLAGS lt o Compile create assembler files from C source files s o c CC S ALL_CFLAGS lt o Assemble create object files from assembler source files 0 P S echo echo MSG_ASSEMBLING lt CC c ALL_ASFLAGS lt o Target clean project clean begin clean_list finished end clean_list echo BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 10 of 11 How to use AVR Studio 4 to program the ATmegal128 echo MSG_CLEANING REMOVE TARGET hex REMOVE TARGET eep REMOVE TARGET 0bj REMOVE TARGET cof REMOVE TARGET elf REMOVE TARGET map REMOVE TARGET obj REMOVE TARGET a90 REMOVE TARGET sym REMOVE TARGET Ink REMOVE TARGET Iss REMOVE OBJ REMOVE LST REMOVE SRC c s REMOVE SRC c d REMOVE dep Include the dependency files include shell mkdir dep 2 gt dev null wildcard dep Listing of phony targets PHONY a
13. uires MATH_LIB Im below SCANF_LIB_FLOAT W1 u vfscanf lscanf_flt SCANF_LIB MATH_LIB Im BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 6 of 11 How to use AVR Studio 4 to program the ATmegal128 External memory options 64 KB of external RAM starting after internal RAM ATmega128 used for variables data bss and heap malloc EXTMEMOPTS W1 Tdata 0x801 100 defsym __heap_end Ox8Offff 64 KB of external RAM starting after internal RAM ATmega128 only used for heap malloc EXTMEMOPTS WL defsym __heap_start 0x801100 defsym __heap_end 0x80ffff EXTMEMOPTS Linker flags WI tell GCC to pass this to linker Map create map file cref add cross reference to map file LDFLAGS W1 Map TARGET map cref LDFLAGS EXTMEMOPTS LDFLAGS PRINTF_LIB SCANF_LIB MATH_LIB Programming support using avrdude Settings and variables Programming hardware alf avr910 avrisp bascom bsd dt006 pavr picoweb pony stk200 sp12 stk200 stk500 Type avrdude c to get a full listing AVRDUDE_PROGRAMMER stk500v2 coml serial port Use lpt1 to connect to parallel port AVRDUDE_PORT com1 programmer connected to serial device AVRDUDE_WRITE_FLASH U flash w TARGET hex AVRDUDE_WRITE_EEPROM U eeprom w TARGET eep Uncomment the following if you want avrdude s erase cycle counter Note th
14. x Sample Makefile Hey Emacs this is a makefile WinAVR Sample makefile written by Eric B Weddington J rg Wunsch et al Released to the Public Domain Please read the make user manual Additional material for this makefile was submitted by Tim Henigan Peter Fleury Reiner Patommel Sander Pool Frederik Rouleau Markus Pfaff On command line make all Make software make clean Clean out built project files make coff Convert ELF to AVR COFF for use with AVR Studio 3 x or VMLAB BJ Furman ME 106 Intro to Mechatronics Using AVRStudio 4 doc 24FEB2007 Page 4 of 11 How to use AVR Studio 4 to program the ATmegal128 make extcoff Convert ELF to AVR Extended COFF for use with AVR Studio 4 07 or greater make program Download the hex file to the device using avrdude Please customize the avrdude settings below first make filename s Just compile filename c into the assembler code only To rebuild project do make clean then make all MCU name MCU atmegal 28 Output format can be srec ihex binary FORMAT thex Target file name without extension BlinkTestStudio List C source files here C dependencies are automatically generated AVRLIB timer c TARGET c List Assembler source files here Make them always end in a capital S Files ending in a lowercase s will not be

Download Pdf Manuals

image

Related Search

Related Contents

UF-6030 取扱説明書 (ソフトウェア編) - psn        216084 ES - Craigcat Costa Rica    取扱説明書 - 日立の家電品  TDSHーBA - 東芝ライテック  HP SuperStack Firewall Series User's Manual  CZ シリーズ  

Copyright © All rights reserved.
Failed to retrieve file