|
WinAVR 20040404
-------------------------------
WinAVR (pronounced "whenever") is a suite of executable, open source software
development tools for the Atmel AVR series of RISC microprocessors hosted on
the Windows platform. It includes the GNU GCC compiler for C and C++.
Eric Weddington
Colin O'Flynn
Contents:
--------------------------
1.0 What's New
2.0 WinAVR Installation
2.1 Manifest
2.2 PATH environment variable
2.3 Layout
3.0 Toolset Background
3.1 The Toolset and Open Source
3.2 Compiler
3.3 Assembler, Linker, Librarian and More
3.4 C Library
3.5 Making Your Software
3.6 Programming
3.7 Debugging
4.0 Setting Up a Project
4.1 Where's the GUI / IDE?
4.2 Programmers Notepad
4.3 Make, Makefiles, and the Sample Makefile
4.4 Building from AVR Studio 3.x
4.5 Debugging, Simulating, and Emulating
4.6 AVR Studio Debugging Requirements (COFF Files)
4.7 Operating Systems
5.0 Finding Help
5.1 Documentation
5.2 Online Sources
6.0 Toolset Bugs
6.1 AVR COFF Bugs
7.0 WinAVR Project
7.1 WinAVR FAQ
7.2 Build Notes
7.3 Source Code
7.4 Credits
7.5 TODO / Future
8.0 Links
1.0 What's New
--------------------------
Below is just a sample of what's new.
- Installer:
- New compression format, makes a smaller installer.
- New layout.
- Ability to select installation items.
- Beginnings of internationalisation (not complete).
- GCC 3.3.2:
- New version.
- avr-libc 1.0.3:
- New version.
- avrdude 4.3.0 (experimental native Win32):
- New version.
- uisp 20040311:
- New version.
- GNU Debugger (GDB) / Insight 6.0:
- New version.
- AVaRICE 2.2:
- New version.
- SimulAVR 0.1.2.1:
- New version.
- Programmers Notepad, 2.0.5:
- New version.
- SRecord 1.20:
- New version.
- MFile:
- New package.
- Sample makefile
- New method for generating header file dependencies. Does not require sed
and it's faster.
2.0 WinAVR Installation
-----------------------
This section describes various information and notes about the installation of
WinAVR.
2.1 Manifest
--------------------------
1. GNU Binutils 2.14 20030612 + coff-avr-patch (20030831)
Binary utilities for AVR target (including assembler, linker, etc.).
The avr-coff patch adds coff-avr and coff-ext-avr targets for avr-objcopy
and avr-objdump. This provides an ELF to COFF converter.
2. GNU GCC 3.3.2 9. SimulAVR 0.1.2.1 10. MFile 11. Programmer's Notepad 2.0.5 12. SRecord 1.20 13. TkInfo 2.6 14. The Cygwin DLL: cygwin1.dll 17. Sample makefile for you to use in your projects. 19. Documentation in many formats for the various projects. 2.2 PATH Environment Variable The The For your operating system to easily locate these directories, they must be put These programs are put into two seperate directories in case you want to use If you do not wish to use the utilities that comes with WinAVR, remove the For Windows 95 and 98 users, see the autoexec.bat file in the root drive For all other Windows users, the WinAVR installer modifies this register key: PLEASE NOTE! On Windows NT/2K/XP you must have Adminitstrator priviledges for 3.0 Toolset Background WinAVR is a collection of executable software development tools for the These software development tools include: Especially note many of these programs come from the Unix and Linux Also remember that this software is updated and improved continually by many The GCC included in WinAVR is targeted for the AVR processor, is built to Because this GCC is targeted for the AVR, the main executable that is GCC compiles a high-level computer language into assebly, and that's all. It Binutils is configured for the AVR target and each of the programs is prefixed avr-as = Assembler See the binutils user manual for more information on what each program can do. avr-libc also contains the most documentation on how to use (and build) the There is one program that brings all of this together. This program is Each of these programs are Command Line Interface (CLI) tools. They are Most commercial software development toolsets have an Integrated WinAVR is a collection of open-source, software development tools from various avrdude is a very flexible package. All the information about AVR processors uisp is new to WinAVR. It's provided as an alternative programming package. The GNU Debugger (GDB) is the main package that can be used for general To do emulation with the JTAG ICE, GDB / Insight requires a "helper" program To do simulation, GDB / Insight requires a different "helper" program called There are also alternatives for simulation. Atmel offers a free package called However, to use AVR Studio, you must convert your ELF format file to either Another simulation alternative is VMLab 4.0 Setting Up a Project 4.1 Where's the GUI / IDE? WinAVR comes with an editor / IDE called Programmers Notepad. This is an There is current work going on to continually improve the IDE capabilities Programmers Notepad Programmers Notepad (PN) contains the Open Source Scintilla PN can call any command-line tool and capture it's output. This is ideal for To set up tools, go to the Tools menu up top, select Options, then select Tools If you are using Windows NT, 2K, or XP you WILL NOT need the gcc*.bat files When you set up your project, add a makefile to control how to build your A sample makefile is included in WinAVR, which provides a lot of functionality I HIGHLY RECOMMEND THAT YOU BECOME FAMILIAR WITH THE MAKE PROGRAM For more information on the make program and writing makefiles, see the make Included in the Currently there is only 3rd party compiler support with AVR Studio To make your project from AVR Studio version 3.x: 1. Copy gcc.bat and gcc2.bat from the In general, the batch files take care of calling the make program and For Windows 95 / 98, the batch files are unnecessary. AVR Studio can call the 8. In the Command line box, write: make all Do the same thing for number 10 above. Instead of writing gcc.bat clean, write The make program executes according to your makefile. A makefile defines how To have AVR Studio automatically load COFF files after build: select target, Use AVaRICE with GDB for use with your JTAG ICE. Use SimulAVR with GDB for simulation. See each of the package's documentation for more information on usage. A NOTE ON USING AVARICE: When you specify a serial port to use with the --jtag --jtag /dev/comX where X is the COM port number you are using. This is due to the fact that The GNU Binutils program objcopy (avr-objcopy) has been patched where it can The usage of avr-objcopy to convert ELF/stabs debugging avr-objcopy \ where $(FORMAT) should either be "coff-avr" (COFF format that matches There might be some warnings when you run the above, like Warning: file {standard input} not found in symbol table, ignoring Perhaps more of them if your avr-libc has been installed with Note, that the avr-objcopy usage describe above is in the sample makefile AvrX EtherNut - Nut/OS FreeRTOS TinyOS Contiki XMK - eXtreme Minimal Kernel 5.0 Finding Help There is a large community of people who use these tools. There are a number The main places to find help is the Documenation and Online Sources. Please If you need to ask for help online, please read this first: The first and best place to find help is in the documentation! WinAVR includes The documentation for any particular package may come in different formats 1. HTML - Hyper Text Markup Language. Requires a web browser to view. Additionally many user manuals can also be found online, especially packages For packages that have HTML, PDF, and PS documentation, look under your WinAVR installs on your desktop, a shortcut to TkInfo, a graphical browser WinAVR also installs on your desktop two other shortcuts. One is to the HTML Please try and find the answer in the documentation first before asking for If you need to ask for help online, please read this first: ~~~~~~~~ Help for the AVR software development toolset (and specifically AVR GCC) can AVR Freaks All AVR, all the time! This site has several forums including a General avr-gcc-list mailing list The avr-gcc-list is intended as a forum for dicussion about the following: A place to discuss your AVR projects and experiences with other designers Mikrocontroller.net For native German speakers. They have a forum for the AVR GCC compiler. Help for other projects and tools included in WinAVR can usually be found at If you need help, do not contact the WinAVR developers personally! Use these 6.0 Toolset Bugs If there is a bug in the packaging or installation, or you would like to 1. Fill out a relevant tracker on the WinAVR SourceForge project page: 2. or, send an email to: IF THERE ARE BUGS IN THE SOFTWARE TOOLS THEMSELVES, THE MAINTAINERS OF THE Generally, if you encounter a bug with a library routine or a bug with a For bugs with the ELF to AVR [Extended] COFF conversion tools patch of For bugs with Programmer's Notepad 2, see it's SourceForge web site For bugs with avrdude see it's Project page (see Links). For bugs with GDB see it's web page (see Links). For bugs with SRecord see it's Home page (see Links). CAVEAT: If this version of WinAVR is built with experimental builds and not It is also helpful to report successfull use of these tools, especially if NOTE! Be aware that there may be problems with the debugging tool itself 7.0 WinAVR Project WinAVR Project: WinAVR Files: The WinAVR developers also monitor on a regular basis: 7.1 WinAVR FAQ Certain packages in WinAVR are built with Cygwin and are linked to their WinAVR must ship the cygwin1.dll file to support it's packages, as most people Unfortunately, the Cygwin FAQ at Nothing. These warnings can be ignored. 1. GNU Binutils: MinGW. DLL Versions: Programmer's Notepad 2 was built by it's author, Simon Steele (see Credits). The Source Code package will list where to get the source code for the various Thank you to everyone who uses WinAVR! - WinAVR software devleopment toolset distribution built by - Special Thanks to Colin O'Flynn for writing a good Installation and Configuration - Special Thanks to major contributers to the AVR toolset: - Programmer's Notepad 2 is written and built by Simon Steele - Native Win32 Unix programs from: - Thanks to the following people for additional material for the sample makefile: - Very Special Thanks to Jцrg Wunsch - Special thanks to Markus Assfalg for all his input in doing AVR COFF - Thanks to members of the AVR COFF Alpha Testing team, which include: - Thanks to Atmel and to Advanced Micro Tools (AMTools), makers of - Special thanks to Nick Moore - Special thanks to Brian Brill - And Extreme thanks to Ted Roth 7.5 TODO / Future 2. Add Project Management to Programmers Notepad. This feature would allow 3. There has been some very good work on getting the Ada front-end working for 4. There is a project for developing an open source JTAG In-Circuit Emulator 5. Build and include a Code Wizard that will let a user select options 6. Continue with internationalisation of the installer and selected tools. 7. Possibly convert this README file to some other formats. 8.0 Links WinAVR Project and Home Page avr-gcc-list mailing list avr-chat mailing list Atmel and Atmel AVR microcontrollers Atmel's AVR Tools and Software (includes AVR Studio) GNU Home Page GNU Manuals Online GNU Binutils GCC Home Page GCC Manuals Online avr-libc Project and Home Page avrdude Project and Home Page uisp Project and Home Page GNU Debugger (GDB) GDB Insight AVaRICE Project and Home Page SimulAVR Project and Home Page Programmers Notepad 2 SRecord Project and Home Page TkInfo Tofrodos OpenAVR AVR Freaks GNU Make MinGW and MSYS Cygwin Native Win32 Ports (of Unix programs) matrix AVR-Ada Project and Home Page Free ICE Project and Home Page PyMite Jargon
E-mail:
info@telesys.ru
C language and C++ language compiler for AVR target. There are
caveats for using the C++ compiler. See the installed avr-libc
User Manual in the
3. avr-libc 1.0.3
C Standard Library for AVR.
4. avrdude 4.3.0
avrdude is an open source programmer software that is user extensible.
5. uisp 20040311
uisp is another open source programmer software.
6. GNU Debugger (GDB) 6.0
It's a debugger.
7. Insight 6.0
This is GDB with a GUI!
8. AVaRICE 2.2
AVaRICE is a program for interfacing the Atmel JTAG ICE to GDB and users
can debug their AVR. Use in conjunction with GDB.
SimulAVR is used in conjunction with GDB to provide AVR simulation.
An automatic makefile generator for AVR GCC.
Programming editor and IDE. This editor includes the Scintilla editor
component.
Utilities to manipulate load files in different formats and various ways.
A graphical browser for files in the GNU hypertext "info" format,
written in Tcl/Tk.
This DLL is required for certain included packages. See the Build Notes
section in this file for which packages require which file.
15. Many native Win32 GNU programs and utilities including make and bash.
16. Tofrodos 1.6
A command-line text file line-ending convertor.
18. Sample batch files that allows you to compile from AVR Studio if you
have Windows NT / 2000 / XP and instructions if you have Windows 98 / 95.
--------------------------
There are two directories in WinAVR that contain executable programs.
If
proper. This includes GNU binutils, GCC, and other programs.
that are built for Windows. This includes sh (bash) and make among a host of
other things.
at the BEGINNING of the PATH environment variable. WinAVR can do this
automatically upon installation, if you selected this option.
a different set of utility programs than the set that comes with WinAVR.
where your OS is installed. This is usually in C:\.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path
the installer to automatically put these directories in your PATH environment
variable.
2.3 Layout
--------------------------
Some directories you might want to know about.
- GNU Binutils
- GCC
- avrdude
- uisp
- GNU Debugger (GDB)
- Insight
- AVaRICE
- SimulAVR
- SRecord
- TkInfo
- Various required DLLs
This directory should be in your PATH environment variable.
platform. The programs make and sh (bash) reside here. This directory
should be in your PATH environment variable.
and stuff.
example, #include
microprocessor. This is where, for example, #include
from.
headers and stuff.
compiling from AVR Studio (see below).
----------------------
Atmel AVR processor hosted on Windows.
- Compilers
- Assembler
- Linker
- Librarian
- File converter
- Other file utilities
- C Library
- Programmer software
- Debugger
- In-Circuit Emulator software
- Editor / IDE
- Many support utilities
3.1 The Toolset and Open Source
-------------------------------
Each of the tools included in WinAVR is Open Source. Each tool has it's own
project, usually hosted on SourceForge
who all volunteer their time and energy to creating these tools. Look in the
Links section below to find out the websites of each of these projects.
platforms. These programs have been ported to the Windows platform but
generally behave for a Unix-like environment. If you are not used to a
Unix-like environment it can possibly be frustrating. Read as much
documentation as you can. Look at examples. Search the Internet. Many links
are also provided below.
people who volunteer their precious time to provide some of the best software
for absolutely no cost or obligation to you. Volunteers are always welcome in
furthering any of these projects!
3.2 Compiler
------------
The compiler in WinAVR is the GNU Compiler Collection, or GCC
target many different different processors / operating systems, and can be
configured for multiple different languages.
execute on the Windows platform, and is configured to compile C, or C++.
(However, there are caveats on using C++. See the avr-libc FAQ.)
created is prefixed with the target name: avr-gcc. It is also referred to
as AVR GCC.
cannot work alone. GCC is coupled with another project, GNU Binutils, which
provides the assembler, linker, librarian and more. GCC is also a "driver"
program, which means it can automatically call the assembler and linker
directly to build the final program.
3.3 Assembler, Linker, Librarian and More
-----------------------------------------
GNU Binutils
utilities. This also includes the assembler, as. Sometimes you will see it
referenced as GNU as or gas. Binutils includes the linker, ld; the librarian
or archiver, ar. There are many other programs included that provide various
functionality.
with the target name. So you have programs such as:
avr-ld = Linker
avr-ar = Create, modify, and extract from archives (libraries).
avr-ranlib = Generate index to archive (library) contents.
avr-objcopy = Copy and translate object files.
avr-objdump = Display information from object files.
avr-size = List section sizes and total size.
avr-nm = List symbols from object files.
avr-strings = List printable strings from files.
avr-strip = Discard symbols.
avr-readelf = Display the contents of ELF format files.
avr-addr2line = Convert addresses to file and line.
avr-c++filt = Filter to demangle encoded C++ symbols.
3.4 C Library
-------------
avr-libc
AVR GCC. It contains many of the standard C routines, and many non-standard
routines that are specific and useful for the AVR processor.
entire toolset, including code examples. The avr-libc documentation also
contains the FAQ on using the toolset.
3.5 Making Your Software
-----------------------
GNU make
A makefile is a text file that you write
that lists and controls how something is made. It is most often used to
control how software is made.
controlled by parameters or switches that are added to the command line. Or,
in the case of make, by text files that are written and used as input.
Development Environment (IDE). This consists of a graphical user-interface
(GUI) that contains a programming editor and graphical front-ends to
compiler, assembler, linker, standard C library, and librarian programs. These
front-ends consist of dialog boxes which allow you to set build options and a
way of creating a list of files that are in a "project". These graphical
front-ends hide and encapsulate the real command-line compiler, assembler,
linker, and standard library that are in the background of any software
development toolset.
projects. WinAVR does not have a complete graphical IDE like a commerical
toolset, yet. Because of this, learning to build software under GCC means that
it would be best to learn how to use the make program and learn how to write
makefiles. Learn the common flags that are used to control GCC which in turn
can control gas and ld. You can learn a lot by looking at the sample makefile
that comes with WinAVR and looking up all the programs and flags in the
included user manuals.
3.6 Programming
---------------
After creating your software, you'll want to program your device. There are two
different software packages included that can interface with various hardware
to program your device: avrdude, and uisp.
and various hardware programmers is stored in a text database. This database
can be modified by any user to had new hardware or to add an AVR processor
if it is not already listed.
3.7 Debugging
-------------
Debugging encompasses simulation and emulation. Both are available in WinAVR.
debugging. GDB is a command-line program only. Insight is a new package in
WinAVR that is GDB plus a GUI written in Tcl/Tk. Both GDB and Insight are
configured for the AVR and the main executables that are created are prefixed
with the target name: avr-gdb, and avr-insight.
called AVaRICE which is also included.
SimulAVR which is also included. SimulAVR is a new package in WinAVR.
AVR Studio
can also do simulation. There are 2 different versions that have been
released: 3.x, and 4.x which is still in "beta". Note that AVR Studio is
currently free to the public, but it is not Open Source.
the AVR COFF format for use with AVR Studio 3.x, or to the AVR Extended COFF
format for use with AVR Studio 4.x. The GNU Binutils package in WinAVR
contains a file format converter that can convert ELF to these formats.
However, this converter is in a beta release.
However, this is a commercial package.
------------------------
--------------------------
You won't find a typical GUI / IDE like you might be used to with other
commercial cross-compilers, or like native compilers on Windows. Each of the
tools in WinAVR are from their own projects. In this case, an editor or IDE
is just another component in the toolset. And, everybody has their own
favourite they want to use. WinAVR allows flexibility.
Open Source editor with some IDE capabilites. Because the compiler and
associated utilities are all command-line driven, you are free to use
whatever editor / IDE you want to as long as it can call command-line
programs. See below for more information on Programmers Notepad.
of Programmers Notepad. Let me know if you're interested in volunteering
to help on these projects.
4.2 Programmers Notepad
-----------------------
Source editor with some IDE features. Version 2.x is still in "beta" and it is
a complete rewrite of version 1. Many new features are still being added.
calling the make utility, which executes your makefile, which in turn calls
the compiler, linker, and other utilities used to build your software. PN will
then capture the output and display it in a window. You can also click on any
GCC warning or error and PN will automatically open the file and go to the
line where the warning or error occurred.
on the left side menu. The best Scheme to add tools is under
"(None - Global Tools)". After you add your tool, it will appear in the
Main Menu under Tools.
from the WinAVR sample directory to help capture the output as you have to do
in AVR Studio 3.x.
4.3 Make, Makefiles, and the Sample Makefile
--------------------------------------------
make is a program that is widely used to build software. make reads and
executes makefiles, which are descriptions of how to build something.
Makefiles typical do things such as group files together, set lists of
compiler and linker flags, list rules of how to compile source code to
object code, how to link object files, how to convert files from one
type to another, and many other things.
software. When you use Programmers Notepad, or other IDE, set it up to
call make and have it execute your project's makefile.
already written for you. You can can copy it to your project's directory and
easily modify it to fit your project. This sample makefile can be found in the
AND WRITING MAKEFILES! PLEASE READ THE MAKE USER MANUAL!
user manual that is included or see Links below for GNU Manuals Online.
4.4 Building from AVR Studio 3.x
--------------------------------
It is not currently recommended that you use AVR Studio 3.x as a build
environment. Programmers Notedpad is better for this. But if you want to,
here's how to do it.
can be used to make your project from within the AVR Studio software
version 3.x from Atmel. These batch files are only needed if you have
Windows NT / 2000 / XP. For Windows 95 / 98 read on as well.
version 3.x. There is NO 3rd party compiler support with AVR Studio
version 4.x at the time of this writing. AFAIK, you can have both versions
of AVR Studio side-by-side on your computer.
your project directory.
2. In AVR Studio, set up a project with 2 targets: all, and clean. CAUTION!
When you create a target, in the Add New Target dialog, type in the name
of the target, and you MUST select an item from the "Copy Settings From"
drop-down list. If you do not select something from this list, AVR Studio
has been known to crash. Selecting the "Debug" item on this list is fine.
3. With the all target selected, go to menu Project > Settings. You should
get a dialog box titled Target Options.
4. The setting "Run 'compile' on each file in Source Files group" should
be unchecked.
5. The setting "Run linker/build stage tools" should be checked.
6. In the Run Stage Settings group, under the "If output contains the
following text:" heading, the edit box should have: "Errors: none".
7. Check the radiobutton "Don't run the code".
8. In the Command line box, write: gcc.bat all
9. Press OK.
10. Do the above for the clean target, except for number 7 in the Command
line box, write: gcc.bat clean
11. Save the project.
12. You can delete the targets debug and release.
redirecting the output in a way that AVR Studio can handle. The one parameter
that the batch files accept is a target of your makefile that gets passed to
the make program.
Command line directly. To make your project, follow the directions outlined
above except for number 8 change it to:
make clean.
your project is built. For more information on the make program and writing
makefiles, see the Links below for GNU Manuals Online or in the
Menu: Project > Settings, Target Options dialog, Extension of object file to
load, change obj to cof.
4.5 Debugging, Simulating, and Emulating
----------------------------------------
The GNU Debugger (GDB) can be used, with other programs, to simulate or
emulate your AVR program. Insight is GDB with a GUI (written in Tcl/TK).
Insight also has a console window which provides the traditional
command-line interface to GDB.
flag, you must specify it in the form of:
avarice is linked to the Cygwin DLL, which requires a Unix-type format for
the COM port number.
4.6 AVR Studio Debugging Requirements (COFF Files)
--------------------------------------------------
To simulate in Atmel's AVR Studio requires that you do a file conversion.
The AVR GCC linker creates an ELF format file. To simulate in
AVR Studio 3.x, you need an AVR COFF format file. To simulate in
AVR Studio 4.x, you need an AVR Extended COFF format file.
now convert from ELF to either of these formats.
information into AVR COFF debugging information is (long lines wrapped
with backslashes):
--debugging \
-O $(FORMAT) \
--change-section-address .data-0x800000 \
--change-section-address .bss-0x800000 \
--change-section-address .noinit-0x800000 \
--change-section-address .eeprom-0x810000 \
$(filename).elf $(filename).cof
the older Atmel AVR COFF documentation, as understood by AVR Studio 3,
early versions of AVR Studio 4, and also by VMLab), or "coff-ext-avr"
(current AVR Extended COFF specification, as understood by AVR
Studio 4.07; adds long filenames and structure debugging). There are
some more options dealing with the mapping of debugging source file
names for coff-ext-avr which i can explain later if you need this
(coff-avr only supports 14-char filenames, so no source file directory
information can be tranferred there).
Warning: ignoring function __vectors() outside any compilation unit
Warning: ignoring function __bad_interrupt() outside any compilation unit
debugging symbols (the default WinAVR installation strips debugging
symbols from the installed library files). There should be no other
warning normally.
that is included with WinAVR. You should only have to call 'make coff' or
'make extcoff' to convert to AVR COFF, or AVR Extended COFF respectively.
4.7 Operating Systems
---------------------
While an Operating System, or RTOS, isn't necessary to write software for
the AVR, there may be times when it is desirable. Here are some links for
free or Open Source Operating Systems / Environments for the AVR:
AvrX is a Real-Time Multitasking Kernel.
Ethernut is an Open Source Hardware and Software Project for building
Embedded Ethernet Devices. It contains Nut/OS which is an intentionally
simple RTOS for the ATmega128, which provides a minimum of services to run
Nut/Net, the TCP/IP stack.
FreeRTOS is a portable, open source, mini Real Time Scheduler (or mini
RTOS kernel).
TinyOS is a component-based runtime environment designed to provide
support for deeply embedded systems which require concurrency intensive
operations while constrained by minimal hardware resources.
Contiki is an Internet-enabled operating system and desktop environment
for a number of smallish systems.
XMK is a preemptive multitasking scheduler/kernel for 8bit
microcontrollers. Its goal is to provide a bare bones RTOS with a small
enough footprint (RAM+ROM) to run on 8bit microcontrollers.
-------------------------
WinAVR is a packaged collection of software devlopment tools built from open
source projects.
of these people who volunteer their time to help other people with problems
or questions. And then there are other people who also volunteer their time
to contribute to these open source projects.
try and find the answer in the documentation first before asking for help
online.
5.1 Documentation
-------------------------
the user manuals for many of the software tools that are shipped in the
package.
depending upon what is available from that package and available space
in the WinAVR installation. The different documentation formats that you'll
find in WinAVR are:
2. PDF - Portable Document Format. Requires a PDF viewer such as Acrobat.
3. PS - Postscript. Suitable for certain printers.
4. Info - A GNU "hypertext" format. Requires an info viewer (which is included).
that are part of the GNU project. You can find links to many of these in the
Links section below.
for info files. Many of the packages in WinAVR contain help ONLY in this
info format, especially those from the GNU project.
documentation on avr-libc that is installed locally. The other shortcut is
to the GNU Manuals online (which requires Internet connection).
5.2 Online Sources
-------------------------
I'll say it again:
help online.
be found at:
Forum and an AVR GCC Forum specifically for discussion of the GCC compiler
for the AVR. They also have an Academy which contains user projects that
you use and look through. This gives you access to a lot of sample code,
libraries, and various AVR projects.
Bugs, Programming technique, Installation and distributions, Hints and
tips, Other avr-gcc related stuff. Note that all of the developers of the
toolset are subscribed to this list!
avr-chat mailing list
and hobbyists.
the individual project's web page which usually includes links to their
mailing lists.
web sites and mailing lists first!
--------------------------
WinAVR is a packaged collection of software development tools built from open
source projects.
see another tool added to the package, or any suggestions for improvement to
the package, you can:
Eric Weddington
INDIVIDUAL SOFTWARE PROJECTS SHOULD BE NOTIFIED IN THE APPROPRIATE MANNER,
NOT ME, OR THE WINAVR PROJECT!!!!
specifc AVR processor or header file, notify the avr-libc project first
(see Links below). They will let you know if the bug is truly in the avr-libc
project, or if it should be passed on to the GCC project. If the bug is in
GCC, go to their web page (see Links below) on how to report bugs to GCC.
binutils, post a message to the avr-gcc-list mailing list (see Links).
(see Links) to issue a Bug Tracker, or email it's author (see Credits).
from a released version, there could be a possibility of more bugs in the
software. See the Manifest for version numbers and if any tools are labeled
experimental.
6.1 AVR COFF Bugs
-----------------
The AVR COFF convertor tools are in the beta testing stage. They may very
well have bugs. To report bugs about ELF to AVR COFF conversion, email them to:
you are converting a very complex project. Just email a quick note describing
the kinds of features that are working for you and on which debugger tool.
(AVR Studio 3.x, 4.x; VMLAB) and not necessarily a problem with the
conversion tool.
------------------
WinAVR Home Page:
- The avr-gcc-list mailing list (see Links section)
- Many of the included project's mailing lists
- AVR Freaks website
--------------
This FAQ is specific to the WinAVR package and installation. For a programming
issues, see the avr-libc FAQ in the avr-libc documentation included in the
WinAVR package or online at:
1. When I run a program, why do I get the error "You have multiple copies of
cygwin1.dll on your system."?
emulation library: cygwin1.dll. If you also have Cygwin installed seperately,
these programs will find the cygwin1.dll that is shipped and included with
WinAVR, and will also find the cygwin1.dll in your Cygwin installation. If
these versions are different, you will get this error.
do not have Cygwin installed on their system and it's not fair to ask people
to install such a huge package as a prerequisite.
only way around this is to remove other copies of cygwin1.dll. This would mean
either uninstalling Cygwin so the WinAVR programs work, or perhaps renaming
the cygwin1.dll found in the \bin directory so the WinAVR programs will use
the cygwin1.dll that is in the Cygwin installation. However, if you do the
latter, note that the version of cygwin1.dll you have in your Cygwin
installation is probably different than the version of cygwin1.dll that was
used to build the WinAVR programs. In this case, use at your own risk.
2. I have the following warnings when I create a COFF file:
Warning: file {standard input} not found in symbol table, ignoring
Warning: ignoring function __vectors() outside any compilation unit
Warning: ignoring function __bad_interrupt() outside any compilation unit
What should I do about it?
7.2 Build Notes
---------------
Most packages are either built with MinGW or Cygwin. If they are built
with Cygwin they may have a dependency upon one or more Cygwin DLLs,
which are included in WinAVR. Below is a listing of build environments
and any execution requirements.
2. GCC: MinGW.
3. avr-libc: MinGW.
4. avrdude: Cygwin. Requires: cygwin1.dll.
5. uisp: Cygwin. Requires: cygwin1.dll.
6. GDB: Cygwin. Requires: cygwin1.dll,tcl84.dll,tk84.dll.
7. Insight: Cygwin. Requires: cygwin1.dll,tcl84.dll,tk84.dll.
8. AVaRICE: Cygwin. Requires: cygwin1.dll,
9. SimulAVR: Cygwin. Requires: cygwin1.dll.
10. SRecord: Cygwin. Requries: cygwin1.dll.
11. TkInfo: Requires: wish84.exe,cygwin1.dll,tcl84.dll,tk84.dll.
cygwin1.dll: 1.5.10-1
tcl84.dll: 8.4
tk84.dll: 8.4
Tofrodos was built by it's author, Christopher Heng (see Credits).
7.3 Source Code
---------------
To find out more information about obtaining the source code to the software
in these projects, download the corresponding Source Code package on the
WinAVR Project page:
correct Source Code package, first look for the correct date code of the
WinAVR package you want (such as 20030913), then the Source Code package has
"src" in the file name and not "bin".
software packages that are licensed with the GPL that are included in WinAVR.
The Source Code package will also contain any patches to the source that are
used in WinAVR.
7.4 Credits
-----------
Eric B. Weddington
Colin O'Flynn
Manual for WinAVR, and for testing WinAVR.
- Thanks to SourceForge
project.
Denis Chertykov
Marek Michalkiewicz
Theodore (Ted) A. Roth
Jцrg Wunsch
Michael Stumpf
Reiner Patommel
Brian S. Dean
Scott Finneran
David Gay
Jason Kyle
Special thanks for permission to include this software in WinAVR.
- Karl M. Syring
-
- MinGW / MSYS
- Tofrodos 1.6 is written and built by Chistopher Heng
Tim Henigan
Peter Fleury
Jцrg Wunsch
Reiner Patommel
Sander Pool
Frederik Rouleau
Markus Pfaff
writing the AVR COFF patch. Portions of this README file concerning the
AVR COFF conversion were written by Jцrg Wunsch.
pre-alpha tests and to Svenn-Ivar Svendsen from Atmel Norway, who
willingly answered questions regarding Atmel's COFF specs.
Wallace White
Markus Assfalg
Volkmar Dierkes
Marc Wetzel
Andrew Ghali
Цmer Sinan KAYA
Eric Weddington
the VMLAB debugger tool, for assistance in the endeavour of writing
the AVR COFF patch.
logos!
to move around some large files for the first release; to Ted Roth
-----------------
1. Add automatic installation of WinAVR Tools in Programmers Notepad.
the user to graphically select files for a project and select various compile
and link options. There would also be a WinAVR specific build manager that
would automatically generate the makefile and launch make. This is in progress.
the AVR. See the AVR-Ada project in the Links section. This project also
includes developing an Ada library for the AVR. When this project is ready
for a wider release, it is my intent to include it in WinAVR.
(ICE). See the FreeICE project in the Links section. When this project is
further along, it is my intent to include it in WinAVR.
graphically and generate C code, for use in generating initialization code,
or other code that is usefull. This wizard will probably be written in Tcl/Tk.
Contact me if you're interested in volunteering to help on this.
Whew! It's getting long!
--------------------------
gas = GNU Assembler
gcc = GNU Compiler Collection
ld = GNU Linker
make = GNU Make
Scintilla
Ответы