1.4.6
这份文档的最新版本始终是可从http://savannah.nongnu.org/projects/avr-libc/下载。
AVR LIBC的软件包为Atmel的8位的RISC的微处理器提供标准C library 的子文件。此外,library中还提供大多数应用所涉及到的基本代码。
在此文档中所包含的大量信息已经不是简单的描述由library提供的接口与规则,我们希望这一文件提供足够的信息来使一个研究AVR的新人快速的掌握这一自由的,可用的开发工具:binutils, gcc avr-libc及其他的许多工具。如果你受限于一个在这个文档中所不能解决的问题时,你或许可以给avr-gcc mailing list发送信息。大部分利用AVR binutils 和 gcc ports 的开发员,包裹avr-libc 的开发员都可以查阅这些信息。所以通常你的问题都能够得到解决。你可以查看http://lists.nongnu.org/mailman/listinfo/avr-gcc-list .关于你的问题。在你打算发表你的问题前,你可以查看一下那些出现频率颇高的问题,也许其中就有你所需要的。
注意:如果你觉得你发现了一个bug,或者提出一些改善提高的见解,不仅针对这份文档或是针对library本身,请利用 https://savannah.nongnu.org/bugs/?group=avr-libc的 bug tracker,以保证你所提出的问题不会被疏漏。
一般说来,在应用library的过程中,尽可能的遵循已制定的标准已经成为一个目标,通俗的说,就是指C library 已经被ANSI X3.159-1989 和ISO/IEC 9899:1990 ("ANSI-C") 标准所声明了的,以及其已经成为ISO/IEC 9899:1999 ("C99"). 一个继承者。其他的补充也被其他的一些标准比如IEEE Std 1003.1-1988 ("POSIX.1")所支持,而其他的扩展是纯粹的AVR 特有的(比如全部的程序空间,字符串,接口)。
除非另有说明,library的功能不保证会有变更。存储状态的功能是被认为不会变更的,诸如操作EEprom等IO寄存器的例行访问功能。如果这些功能在标准和中断情况下一同使用,将会产生未定义的结果。
Library所支持的AVR器件包括以下的这些,请注意,对于一些新的设备的支持能力要依赖于编译器/汇编器在编译过程中的能力。
AT90S 型号器件:
· at90s1200 [1]
· at90s2313
· at90s2323
· at90s2333
· at90s2343
· at90s4414
· at90s4433
· at90s4434
· at90s8515
· at90c8534
· at90s8535
ATmega 型号器件:
· atmega8
· atmega103
· atmega128
· atmega1280
· atmega1281
· atmega16
· atmega161
· atmega162
· atmega163
· atmega164p
· atmega165
· atmega165p
· atmega168
· atmega169
· atmega169p
· atmega2560
· atmega2561
· atmega32
· atmega323
· atmega324p
· atmega325
· atmega325p
· atmega3250
· atmega3250p
· atmega329
· atmega329p
· atmega3290
· atmega3290p
· atmega48
· atmega64
· atmega640
· atmega644
· atmega644p
· atmega645
· atmega6450
· atmega649
· atmega6490
· atmega8515
· atmega8535
· atmega88
ATiny 型号器件:
· attiny11 [1]
· attiny12 [1]
· attiny13
· attiny15 [1]
· attiny22
· attiny24
· attiny25
· attiny26
· attiny261
· attiny28 [1]
· attiny2313
· attiny44
· attiny45
· attiny461
· attiny84
· attiny85
· attiny861
Misc 型号器件
· at94K [2]
· at76c711 [3]
· at43usb320
· at43usb355
· at86rf401
· at90can32
· at90can64
· at90can128
· at90pwm1
· at90pwm2
· at90pwm3
· at90usb82
· at90usb162
· at90usb646
· at90usb647
· at90usb1286
· at90usb1287
· atmega8hva
· atmega16hva
· atmega406
注意:
[1]只支持汇编方式,在C中不支持对这些器件的直接编程因为他们没有基于堆栈的RAM。然而,还是可以用C对其编程,查看FAQ选出一种选择。
[2] AT94 系列的器件是FPGA与AVR微处理器的结合 [TRoth-2002/11/12: 还不确定对于这些器件的支持程度,欢迎提供更多的信息。]
[3]AT76c117 是一种利用了AVR内核的USB快速串行接口桥接芯片。
Avr-libc可以自由使用和传播但要提供以下的许可条件。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Portions of avr-libc are Copyright (c) 1999-2007
Keith Gudger,
Bjoern Haase,
Steinar Haugen,
Peter Jansen,
Reinhard Jessich,
Magnus Johansson,
Artur Lipowski,
Marek Michalkiewicz,
Colin O'Flynn,
Bob Paddock,
Reiner Patommel,
Michael Rickman,
Theodore A. Roth,
Juergen Schilling,
Philip Soeberg,
Anatoly Sokolov,
Nils Kristian Strom,
Michael Stumpf,
Stefan Swanepoel,
Eric B. Weddington,
Joerg Wunsch,
Dmitry Xmelkov,
The Regents of the University of California.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name of the copyright holders nor the names of
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Automatically generated by Doxygen 1.4.7 on 15 May 2007.