Avr Libc User Manual 1.8.1
User Manual: Pdf
Open the PDF directly: View PDF
Page Count: 368 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- 1 AVR Libc
- 2 Toolchain Overview
- 3 Memory Areas and Using malloc()
- 4 Memory Sections
- 5 Data in Program Space
- 6 avr-libc and assembler programs
- 7 Inline Assembler Cookbook
- 8 How to Build a Library
- 9 Benchmarks
- 10 Porting From IAR to AVR GCC
- 11 Frequently Asked Questions
- 11.1 FAQ Index
- 11.2 My program doesn't recognize a variable updated within an interrupt routine
- 11.3 I get `¨undefined reference to...`¨ for functions like `¨sin()`¨
- 11.4 How to permanently bind a variable to a register?
- 11.5 How to modify MCUCR or WDTCR early?
- 11.6 What is all this _BV() stuff about?
- 11.7 Can I use C++ on the AVR?
- 11.8 Shouldn't I initialize all my variables?
- 11.9 Why do some 16-bit timer registers sometimes get trashed?
- 11.10 How do I use a #define'd constant in an asm statement?
- 11.11 Why does the PC randomly jump around when single-stepping through my program in avr-gdb?
- 11.12 How do I trace an assembler file in avr-gdb?
- 11.13 How do I pass an IO port as a parameter to a function?
- 11.14 What registers are used by the C compiler?
- 11.15 How do I put an array of strings completely in ROM?
- 11.16 How to use external RAM?
- 11.17 Which -O flag to use?
- 11.18 How do I relocate code to a fixed address?
- 11.19 My UART is generating nonsense! My ATmega128 keeps crashing! Port F is completely broken!
- 11.20 Why do all my `¨foo...bar`¨ strings eat up the SRAM?
- 11.21 Why does the compiler compile an 8-bit operation that uses bitwise operators into a 16-bit operation in assembly?
- 11.22 How to detect RAM memory and variable overlap problems?
- 11.23 Is it really impossible to program the ATtinyXX in C?
- 11.24 What is this `¨clock skew detected`¨ message?
- 11.25 Why are (many) interrupt flags cleared by writing a logical 1?
- 11.26 Why have `¨programmed`¨ fuses the bit value 0?
- 11.27 Which AVR-specific assembler operators are available?
- 11.28 Why are interrupts re-enabled in the middle of writing the stack pointer?
- 11.29 Why are there five different linker scripts?
- 11.30 How to add a raw binary image to linker output?
- 11.31 How do I perform a software reset of the AVR?
- 11.32 I am using floating point math. Why is the compiled code so big? Why does my code not work?
- 11.33 What pitfalls exist when writing reentrant code?
- 11.34 Why are some addresses of the EEPROM corrupted (usually address zero)?
- 11.35 Why is my baud rate wrong?
- 11.36 On a device with more than 128 KiB of flash, how to make function pointers work?
- 11.37 Why is assigning ports in a `¨chain`¨ a bad idea?
- 12 Building and Installing the GNU Tool Chain
- 12.1 Building and Installing under Linux, FreeBSD, and Others
- 12.2 Required Tools
- 12.3 Optional Tools
- 12.4 GNU Binutils for the AVR target
- 12.5 GCC for the AVR target
- 12.6 AVR LibC
- 12.7 AVRDUDE
- 12.8 GDB for the AVR target
- 12.9 SimulAVR
- 12.10 AVaRICE
- 12.11 Building and Installing under Windows
- 12.12 Tools Required for Building the Toolchain for Windows
- 12.13 Building the Toolchain for Windows
- 13 Using the GNU tools
- 14 Compiler optimization
- 15 Using the avrdude program
- 16 Release Numbering and Methodology
- 17 Acknowledgments
- 18 Todo List
- 19 Deprecated List
- 20 Module Index
- 21 Data Structure Index
- 22 File Index
- 23 Module Documentation
- 23.1 <alloca.h>: Allocate space in the stack
- 23.2 <assert.h>: Diagnostics
- 23.3 <ctype.h>: Character Operations
- 23.4 <errno.h>: System Errors
- 23.5 <inttypes.h>: Integer Type conversions
- 23.6 <math.h>: Mathematics
- 23.7 <setjmp.h>: Non-local goto
- 23.8 <stdint.h>: Standard Integer Types
- 23.9 <stdio.h>: Standard IO facilities
- 23.10 <stdlib.h>: General utilities
- 23.11 <string.h>: Strings
- 23.12 <time.h>: Time
- 23.13 <avr/boot.h>: Bootloader Support Utilities
- 23.14 <avr/cpufunc.h>: Special AVR CPU functions
- 23.15 <avr/eeprom.h>: EEPROM handling
- 23.16 <avr/fuse.h>: Fuse Support
- 23.17 <avr/interrupt.h>: Interrupts
- 23.18 <avr/io.h>: AVR device-specific IO definitions
- 23.19 <avr/lock.h>: Lockbit Support
- 23.20 <avr/pgmspace.h>: Program Space Utilities
- 23.21 <avr/power.h>: Power Reduction Management
- 23.22 Additional notes from <avr/sfr_defs.h>
- 23.23 <avr/sfr_defs.h>: Special function registers
- 23.24 <avr/signature.h>: Signature Support
- 23.25 <avr/sleep.h>: Power Management and Sleep Modes
- 23.26 <avr/version.h>: avr-libc version macros
- 23.27 <avr/wdt.h>: Watchdog timer handling
- 23.28 <util/atomic.h> Atomically and Non-Atomically Executed Code Blocks
- 23.29 <util/crc16.h>: CRC Computations
- 23.30 <util/delay.h>: Convenience functions for busy-wait delay loops
- 23.31 <util/delay_basic.h>: Basic busy-wait delay loops
- 23.32 <util/parity.h>: Parity bit generation
- 23.33 <util/setbaud.h>: Helper macros for baud rate calculations
- 23.34 <util/twi.h>: TWI bit mask definitions
- 23.35 <compat/deprecated.h>: Deprecated items
- 23.36 <compat/ina90.h>: Compatibility with IAR EWB 3.x
- 23.37 Demo projects
- 23.38 Combining C and assembly source files
- 23.39 A simple project
- 23.40 A more sophisticated project
- 23.41 Using the standard IO facilities
- 23.42 Example using the two-wire interface (TWI)
- 24 Data Structure Documentation
- 25 File Documentation
- 25.1 assert.h File Reference
- 25.2 atoi.S File Reference
- 25.3 atol.S File Reference
- 25.4 atomic.h File Reference
- 25.5 boot.h File Reference
- 25.6 cpufunc.h File Reference
- 25.7 crc16.h File Reference
- 25.8 ctype.h File Reference
- 25.9 delay.h File Reference
- 25.10 delay_basic.h File Reference
- 25.11 errno.h File Reference
- 25.12 fdevopen.c File Reference
- 25.13 ffs.S File Reference
- 25.14 ffsl.S File Reference
- 25.15 ffsll.S File Reference
- 25.16 fuse.h File Reference
- 25.17 interrupt.h File Reference
- 25.18 inttypes.h File Reference
- 25.19 io.h File Reference
- 25.20 lock.h File Reference
- 25.21 math.h File Reference
- 25.22 memccpy.S File Reference
- 25.23 memchr.S File Reference
- 25.24 memchr_P.S File Reference
- 25.25 memcmp.S File Reference
- 25.26 memcmp_P.S File Reference
- 25.27 memcmp_PF.S File Reference
- 25.28 memcpy.S File Reference
- 25.29 memcpy_P.S File Reference
- 25.30 memmem.S File Reference
- 25.31 memmove.S File Reference
- 25.32 memrchr.S File Reference
- 25.33 memrchr_P.S File Reference
- 25.34 memset.S File Reference
- 25.35 parity.h File Reference
- 25.36 pgmspace.h File Reference
- 25.37 power.h File Reference
- 25.38 setbaud.h File Reference
- 25.39 setjmp.h File Reference
- 25.40 signature.h File Reference
- 25.41 sleep.h File Reference
- 25.42 stdint.h File Reference
- 25.43 stdio.h File Reference
- 25.44 stdlib.h File Reference
- 25.45 strcasecmp.S File Reference
- 25.46 strcasecmp_P.S File Reference
- 25.47 strcasestr.S File Reference
- 25.48 strcat.S File Reference
- 25.49 strcat_P.S File Reference
- 25.50 strchr.S File Reference
- 25.51 strchr_P.S File Reference
- 25.52 strchrnul.S File Reference
- 25.53 strchrnul_P.S File Reference
- 25.54 strcmp.S File Reference
- 25.55 strcmp_P.S File Reference
- 25.56 strcpy.S File Reference
- 25.57 strcpy_P.S File Reference
- 25.58 strcspn.S File Reference
- 25.59 strcspn_P.S File Reference
- 25.60 strdup.c File Reference
- 25.61 string.h File Reference
- 25.62 strlcat.S File Reference
- 25.63 strlcat_P.S File Reference
- 25.64 strlcpy.S File Reference
- 25.65 strlcpy_P.S File Reference
- 25.66 strlen.S File Reference
- 25.67 strlen_P.S File Reference
- 25.68 strlwr.S File Reference
- 25.69 strncasecmp.S File Reference
- 25.70 strncasecmp_P.S File Reference
- 25.71 strncat.S File Reference
- 25.72 strncat_P.S File Reference
- 25.73 strncmp.S File Reference
- 25.74 strncmp_P.S File Reference
- 25.75 strncpy.S File Reference
- 25.76 strncpy_P.S File Reference
- 25.77 strnlen.S File Reference
- 25.78 strnlen_P.S File Reference
- 25.79 strpbrk.S File Reference
- 25.80 strpbrk_P.S File Reference
- 25.81 strrchr.S File Reference
- 25.82 strrchr_P.S File Reference
- 25.83 strrev.S File Reference
- 25.84 strsep.S File Reference
- 25.85 strsep_P.S File Reference
- 25.86 strspn.S File Reference
- 25.87 strspn_P.S File Reference
- 25.88 strstr.S File Reference
- 25.89 strstr_P.S File Reference
- 25.90 strtok.c File Reference
- 25.91 strtok_P.c File Reference
- 25.92 strtok_r.S File Reference
- 25.93 strtok_rP.S File Reference
- 25.94 strupr.S File Reference
- 25.95 time.h File Reference
- 25.96 twi.h File Reference
- 25.97 wdt.h File Reference
- Index