AVR Libc Home Page | ![]() |
AVR Libc Development Pages | ||
Main Page | FAQ | Library Reference | Additional Documentation | Example Projects |
このドキュメントの最終バージョン(英語版オリジナル)はhttp://savannah.nongnu.org/projects/avr-libc/ から得ることができます。
AVR Libcパッケージは、Atmel AVR 8bitRISCマイクロコントローラ専用の、スタンダードCライブラリのサブセットを提供します。さらに、ほとんどのアプリケーションに必要な基本的なスタートアップコードも提供します。
このドキュメントには単なるライブラリの説明を越えた価値があります。我々はこのドキュメントが新しいAVR開発者が自由に使えるこれらの開発ツール( binutils, gcc avr-libc等)を速やかに習得するのに役立つ充分な情報を与えてくれることを期待します。
もしもあなたが行き詰まった問題で、本ドキュメントがお役に立てなかった場合は、avr-gcc maling listに投稿してください。AVR-LibC開発者に加えて、多くのavr-binutils/gccの開発者はavr-libcの開発者リストにも名を連ねていますので、あなたは問題を解決できると思います。 http://lists.nongnu.org/mailman/listinfo/avr-gcc-listでこのMLに参加申請することもできます。投稿をする前に、このドキュメントの Frequently Asked Questions の章をお読みください。
大まかには、ライブラリ実装でスタンダード化を達成実現することが目標になっています。これは一般的にはANSI X3.159-1989 やISO/IEC 9899:1990 ("ANSI-C") スタンダードで解説されているCライブラリを指します。ISO/IEC 9899:1999 ("C99")の一部や、 IEEE Std 1003.1-1988 ("POSIX.1")などのその他のスタンダードからもいくらか取り入れています。その他の拡張はもっぱらAVR独特なものです(プログラムスペース文字列インタフェースなど)
このライブラリの関数は、リエントラント可能を保証されていません。特に、ローカルな状態(グローバル変数のように1つしかない変数や状態など)を保存する関数、EEPROMアクセスルーチンなどIOレジスタを扱う関数などはリエントラントでないことが知られています。これらの関数がメインルーチンと割り込みルーチン両方で使われた場合、両者の挙動は予測できないものになります。
以下は現在このライブラリでサポートされているAVRデバイスのリストです。いくつかの最新デバイスのサポートは実際にはコンパイラ・アセンブラがそれらデバイスをサポートできるかどうかにかかっていることに注意してください。(※ライブラリだけ対応できてもだめ)