avr8-gnu-toolchain-3.4.5.1522-readme.pdf

(147 KB) Pobierz
RELEASE NOTES
AVR8 GNU Toolchain 3.4.5.1522
AVR8 GNU Toolchain
The AVR 8-bit GNU Toolchain supports all AVR 8-bit devices. The AVR 8-bit
Toolchain is based on the free and open-source GCC compiler. The toolchain
includes compiler, assembler, linker and binutils (GCC and Binutils), Standard C
library (AVR-libc) and GNU Debugger (GDB).
42372-MCU-10/2014
Table of Contents
AVR8 GNU Toolchain ................................................................... 1
1. Installation Instructions ............................................................ 3
1.1.
1.2.
System requirements ............................................................. 3
1.1.1.
Hardware requirements .............................................. 3
1.1.2.
Software Requirements .............................................. 3
Downloading, Installing and Upgrading ...................................... 3
1.2.1.
Downloading/Installing on Windows .............................. 3
1.2.2.
Downloading/Installing on Linux ................................... 3
1.2.3.
Upgrading from previous versions ................................ 3
Layout ................................................................................ 3
1.3.
2. Toolset Background ................................................................ 5
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
Component Versions ............................................................ 5
Compiler .............................................................................. 5
Assembler, Linker, Librarian and More ...................................... 5
C Library ............................................................................. 6
Debugging ........................................................................... 6
Source Code ........................................................................ 6
3. Bugs and New Features ......................................................... 7
3.1.
3.2.
3.3.
New features ........................................................................ 7
Notable bugs fixed ................................................................ 7
Known issues ....................................................................... 8
4. Supported Devices .................................................................. 9
5. Contact Information and Disclaimer ...................................... 11
5.1.
Disclaimer .......................................................................... 11
AVR8 GNU Toolchain 3.4.5.1522 [RELEASE NOTES]
42372-MCU-10/2014
2
1.
1.1
1.1.1
Installation Instructions
System requirements
Hardware requirements
Minimum processor Pentium 4, 1GHz
Minimum 512 MB RAM
Minimum 500 MB free disk space
AVR 8-bit GNU Toolchain has not been tested on computers with less resources, but may run satisfactorily
depending on the number and size of the projects and the user's patience.
1.1.2
Software Requirements
Windows 2000, Windows XP, Windows Vista, Windows 7 (x86 or x86-64) or Windows 8 (x86 or x86-64)
AVR 8-bit GNU Toolchain is not supported on Windows 98, NT or ME.
The toolchain should work on the Linux distributions Fedora, RedHat Enterprise, Arch Linux and Ubuntu for
both 32-bits and 64-bits architecture. AVR 8-bit GNU Toolchain may very well work on other distributions.
However those are untested and unsupported.
1.2
1.2.1
Downloading, Installing and Upgrading
The AVR8 GNU toolchain provided by Atmel is available for download and install in one of the following ways.
®
Downloading/Installing on Windows
If you want to try the Atmel AVR8 GNU toolchain alone, you can download it from
here
®
1
If you want to try the Atmel AVR8 GNU Toolchain along with Atmel studio, you can download and install
Atmel studio 6.0 or (newer) which will also install the Atmel AVR8 GNU toolchain. See Atmel studio
release notes for more details.
1.2.2
Downloading/Installing on Linux
For Linux, the Atmel AVR8 GNU Toolchain is available as a tar.gz archive which can be extracted using the
tar utility. In order to install, simply extract to the location from where you want to run it from. Linux builds are
2
available from
here
.
®
1.2.3
Upgrading from previous versions
If the Atmel AVR8 GNU Toolchain is installed by Atmel studio installation, it can be upgraded from
Atmel
3
Gallery
If the toolchain is installed separately, upgrading is not supported. You can install the new package side-by-
side to the old package and use it.
®
1.3
Layout
Listed below are some directories you might want to know about.
`<install_dir>` = The directory where you installed AVR 8-bit GNU Toolchain.
<install_dir>\bin
The AVR software development programs. This directory should be in your `PATH` environment variable.
This includes:
1
2
GNU Binutils
http://www.atmel.com/tools/atmelavrtoolchainforwindows.aspx
http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx
3
http://gallery.atmel.com
AVR8 GNU Toolchain 3.4.5.1522 [RELEASE NOTES]
42372-MCU-10/2014
3
GCC
GDB
<install_dir>\avr\lib
avr-libc libraries, startup files, linker scripts,and stuff.
<install_dir>\avr\include
avr-libc header files for AVR 8-bit.
<install_dir>\avr\include\avr
header files specific to the AVR 8-bit MCU. This is where, for example, #include <avr/io.h> comes from.
<install_dir>\lib
GCC libraries, other libraries, headers and stuff.
<install_dir>\libexec
GCC program components
<install_dir>\doc
Various documentation.
AVR8 GNU Toolchain 3.4.5.1522 [RELEASE NOTES]
42372-MCU-10/2014
4
2.
Toolset Background
AVR 8-bit GNU Toolchain is a collection of executable, open source software development tools for the Atmel
AVR 8-bit series of microcontrollers. It includes the GNU GCC compiler for C and C++.
2.1
Component Versions
GCC: 4.8.1
binutils: 2.24
avr-libc: "1.8.0svn"
gdb: 7.8
2.2
Compiler
The compiler is the GNU Compiler Collection, or GCC. This compiler is incredibly flexible and can be hosted on
many platforms, it can target many different processors/operating systems (back-ends), and can be configured
for multiple different languages (front-ends).
The GCC included in AVR 8-bit GNU Toolchain is targeted for the AVR 8-bit microcontroller and is configured
to compile C or C++.
CAUTION:
There are caveats on using C++. See the avr-libc FAQ. C++ language is not fully supported and
has some limitations. libstdc++ is unsupported.
Because this GCC is targeted for the AVR 8-bit MCUs, the main executable that is created is prefixed with the
target name: `avr-gcc` (with '.exe' extension on MS Windows). It is also referred to as AVR GCC.
`avr-gcc` is just a "driver" program only. The compiler itself is called `cc1.exe` for C, or `cc1plus.exe` for C+
+. Also, the preprocessor `cpp.exe` will usually automatically be prepended with the target name: `avr-cpp`.
The actual set of component programs called is usually derived from the suffix of each source code file being
processed.
GCC compiles a high-level computer language into assembly, and that is all. It cannot work alone. GCC is
coupled with another project, GNU Binutils, which provides the assembler, linker, librarian and more. Since
'gcc' is just a "driver" program, it can automatically call the assembler and linker directly to build the final
program.
2.3
Assembler, Linker, Librarian and More
GNU Binutils is a collection of binary 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.
Note that while the assembler uses the same mnemonics as proposed by Atmel, the "glue" (pseudo-ops,
operators, expression syntax) is derived from the common assembler syntax used in Unix assemblers, so it is
not directly compatible to Atmel assembler source files.
Binutils is configured for the AVR target and each of the programs is prefixed with the target name. So you
have programs such as:
avr-as:
The Assembler.
avr-ld:
The 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 including disassembly.
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.
AVR8 GNU Toolchain 3.4.5.1522 [RELEASE NOTES]
42372-MCU-10/2014
5
Zgłoś jeśli naruszono regulamin