Procyon AVRlib

Procyon AVRlib
C-Language Function Library for Atmel AVR Processors

由Pascal Stang所寫,一套AVR開發專用,非常了不起的函式庫

AVRlib和之前提過的avr-libc名字很像,不過絕對是不同的東西
avr-libc是類似C標準函式庫
AVRLib則是提供了許多較高階的函式

有多了不起?
來看看他有那些功能:


The following is a list of sub-libraries in AVRlib.

General Use:

* Byte Buffering (circular)
* Bit Buffering (linear)
* Printf and other formatted print functions
* VT100 Terminal Output
* Command Line Interface
* FAT16/32 File System (support is read-only for now)
* STX/ETX Packet Protocol
* Fixed-Point Math Library (basic operations only)

AVR Built-In Peripheral Support

* Timer(s)
* Uart(s)
* A/D Converter
* I2C Master/Slave
* SPI Interface

Device Drivers for External Hardware:

* Character LCD Modules (HD44780-based)
* I2c EEPROM Memories
* SPI EEPROM Memories
* MMC/SD Memory Cards (SPI-mode)
* Quadrature Encoders
* RC-Servos (up to 8 channels)
* STA013 MP3 Decoder Chip
* GPS Receivers (via serial port)
o NMEA-0813 Protocol
o Trimble TSIP Protocol
* Graphic LCD Modules
o KS0108/HD61202 Controller
o T6963 Controller
o LCD Fonts and Symbols

AVR Software-Emulated Devices and Interfaces

* I2c Master (Bit-Bang)
* UART (software-based, timer interrupt driven)
* Pulse Output (arbitrary-frequency continuous/counted square wave)
* Intel-type Memory Bus (Address & Data Buses + nRD,nWR)

Network Support

* Device Drivers
o Realtek RTL8019AS Ethernet Driver (10mb)
o ASIX AX88796L Ethernet Driver (10/100mb)
o Crystal CS8900 Ethernet Driver (10mb)
o PrismII 802.11b WLAN Driver
* Network Protocols
o ARP
o IP
o ICMP
o UDP
o DHCP
* Network Stack

舉凡終端機輸出、檔案系統、硬體介面操作、軟體模擬、外部裝置、網卡驅動程式、網路通訊協定…什麼鬼都有!
為什麼有人可以寫出這種玩意啊?
(這位Pascal Stang據說是個大學教授,會不會就是專搞這方面的?)

這套函式庫不只寫的很厲害,連說明文件都作的仔細,每個函式的每個參數都會有解釋,另外還附了範例程式,實在是送禮自用兩相宜的好東西。

可惜的是這套函式庫最後版本只到2006/10/29就沒再更新了,所以跟新版gcc/avr-libc可能會有不相容情形。要用的話得換用舊版的gcc/avr-libc,或是自己想辦法把函式庫改寫吧!(XD)

[網址]
http://hubbard.engr.scu.edu/embedded/avr/avrlib/

[安裝說明]
下載zip版,解壓縮到喜歡的地方
增加一個系統變數AVRLIB,值為AVRLIB的存放路徑
如:AVRLIB = c:/code/avr/avrlib
(注意:路徑中不可含有空白)

在 “Procyon AVRlib” 有 4 則留言

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *