• CrossWorks for AVR
    • Introduction
      • What is CrossWorks?
      • What we don't tell you...
      • Release notes
      • Activating your product
      • Text conventions
      • Standard syntactic metalanguage
      • Requesting support and reporting problems
    • CrossStudio Tutorial
      • Creating a project
      • Managing files in a project
      • Setting project options
      • Building projects
      • Exploring projects
      • Using the debugger
      • Low-level debugging
    • CrossStudio Reference
      • Overview
        • The title bar
        • The menu bar
        • The status bar
        • The editing workspace
      • Project management
        • Project system
        • Creating a project
        • Adding existing files to a project
        • Adding new files to a project
        • Removing a file, folder, project, or project link
        • Project properties
        • Project configurations
        • Project dependencies and build order
        • Project macros
      • Building projects
      • Source code control
      • Debug expressions
      • Source code editor
        • Navigation
        • Bookmarks
        • Changing text
        • Using the clipboard
        • Drag and drop editing
        • Undo and redo
        • Indentation
        • File management
        • Find and replace
        • Regular expressions
        • Advanced editor features
        • Code templates
      • Memory map editor
      • Section placement
      • CrossStudio Windows
        • Clipboard ring window
        • Build log window
        • Breakpoints window
        • Call stack window
        • Execution counts window
        • Globals window
        • Locals window
        • Memory window
        • Register windows
        • Threads window
        • Trace window
        • Watch window
        • Help window
        • Output window
        • Project explorer
        • Properties window
        • Source navigator window
        • Symbol browser
        • Targets window
      • Target interfaces
        • Atmel JTAG ICE
        • AVR simulator target interface
        • Atmel JTAGICE mkII
        • Atmel STK500 High Voltage
        • Atmel STK500-ISP/AVRISP
      • Dialogs
        • Debug file search editor
        • Environment options
      • CrossStudio menu summary
        • File menu
        • New menu
        • Edit menu
        • Clipboard menu
        • Clipboard Ring menu
        • Macros menu
        • Edit Selection menu
        • Bookmarks menu
        • Advanced menu
        • View menu
        • Other Windows menu
        • Browser menu
        • Toolbars menu
        • Search menu
        • Project menu
        • Build menu
        • Debug menu
        • Debug Control menu
        • Breakpoint menu
        • Debug Windows menu
        • Target menu
        • Tools menu
        • Window menu
        • Help menu
    • C Compiler Reference
      • Command line options
        • -D (Define macro symbol)
        • -g (Generate debugging information)
        • -I (Define user include directories)
        • -J (Define system include directories)
        • -msd (Treat double as float)
        • -o (Set output file name)
        • -O (Optimize code generation)
        • -Or- (Disable register allocation)
        • -Org (Register allocation of locals and global addresses)
        • -Orl (Register allocation of locals)
        • -Rc (Set default code section name)
        • -Rd (Set default initialised data section name)
        • -Rk (Set default read-only data section name)
        • -Rv (Set default vector section name)
        • -Rz (Set default zeroed data section name)
        • -V (Version information)
        • -w (Suppress warnings)
        • -we (Treat warnings as errors)
      • Functions
        • Interrupt functions
        • Monitor functions
        • Top-level functions
      • Strings
        • Code-space strings
        • GSM 03.38 strings
      • Pragmas
        • #pragma codeseg
        • #pragma dataseg
        • #pragma constseg
        • #pragma vectorseg
        • #pragma zeroedseg
        • #pragma linklib
      • Data definition
        • Type-based enumerations
      • Section reference
      • Preprocessor
        • Preprocessor predefined symbols
      • Assembly language interface
        • Data representation
        • External naming convention
        • Register usage
        • Parameter passing
        • Returning values
        • Examples
      • Customizing runtime behavior
        • Floating-point implementation
        • Customizing putchar
        • Extending I/O library functions
      • Diagnostics
        • Pre-processor warning messages
        • Pre-processor error messages
        • Compiler warning messages
        • Compiler error messages
      • Extensions summary
    • Tasking Library Tutorial
      • Overview
      • Tasks
      • Event sets
      • Semaphores
      • Message queues
      • Global interrupts control
      • Timer support
      • Interrupt service routines
      • Memory Areas
    • AVR Library Reference
      • <ctl_api.h> - Tasking functions
        • ctl_current_time
        • ctl_events_init
        • ctl_events_set_clear
        • ctl_events_wait
        • ctl_get_current_time
        • ctl_global_interrupts_disable
        • ctl_global_interrupts_enable
        • ctl_global_interrupts_re_enable_from_isr
        • ctl_global_interrupts_set
        • ctl_global_interrupts_un_re_enable_from_isr
        • ctl_handle_error
        • ctl_increment_tick_from_isr
        • ctl_libc_mutex
        • ctl_memory_area_allocate
        • ctl_memory_area_free
        • ctl_memory_area_init
        • ctl_message_queue_init
        • ctl_message_queue_post
        • ctl_message_queue_post_nb
        • ctl_message_queue_receive
        • ctl_semaphore_init
        • ctl_semaphore_signal
        • ctl_semaphore_wait
        • ctl_task_die
        • ctl_task_executing
        • ctl_task_init
        • ctl_task_list
        • ctl_task_remove
        • ctl_task_reschedule
        • ctl_task_run
        • ctl_task_set_priority
        • ctl_timeout_wait
      • <cruntime.h> - C runtime support library
        • __int16_asr
        • __int16_asr_asgn
        • __int16_div
        • __int16_div_asgn
        • __int16_lsl
        • __int16_lsl_asgn
        • __int16_lsr
        • __int16_lsr_asgn
        • __int16_mod
        • __int16_mod_asgn
        • __int16_mul
        • __int16_mul_asgn
        • __int16_mul_8x8
        • __int16_to_float32
        • __int32_asr
        • __int32_asr_asgn
        • __int32_div
        • __int32_div_asgn
        • __int32_lsl
        • __int32_lsl_asgn
        • __int32_lsr
        • __int32_lsr_asgn
        • __int32_mod
        • __int32_mod_asgn
        • __int32_mul
        • __int32_mul_asgn
        • __int32_mul_16x16
        • __int32_to_float32
        • __int64_asr
        • __int64_asr_asgn
        • __int64_div
        • __int64_div_asgn
        • __int64_lsl
        • __int64_lsl_asgn
        • __int64_lsr
        • __int64_lsr_asgn
        • __int64_mod
        • __int64_mod_asgn
        • __int64_mul
        • __int64_mul_asgn
        • __int64_mul_32x32
        • __int64_to_float32
        • __float32_add
        • __float32_add_1
        • __float32_add_asgn
        • __float32_div
        • __float32_div_asgn
        • __float32_eq
        • __float32_eq_0
        • __float32_lt
        • __float32_lt_0
        • __float32_mul
        • __float32_mul_asgn
        • __float32_neg
        • __float32_sqr
        • __float32_sub
        • __float32_add_asgn
        • __float32_to_float64
        • __float32_to_int16
        • __float32_to_int32
        • __float32_to_int64
        • __float32_to_uint16
        • __float32_to_uint32
        • __float32_to_uint64
        • __float64_add
        • __float64_add_1
        • __float64_add_asgn
        • __float64_div
        • __float64_div_asgn
        • __float64_eq
        • __float64_eq_0
        • __float64_lt
        • __float64_lt_0
        • __float64_mul
        • __float64_mul_asgn
        • __float64_neg
        • __float64_sqr
        • __float64_sub
        • __float64_add_asgn
        • __float64_to_float32
        • __uint16_div
        • __uint16_div_asgn
        • __uint16_mod
        • __uint16_mod_asgn
        • __uint16_mul_8x8
        • __uint16_to_float32
        • __uint32_div
        • __uint32_div_asgn
        • __uint32_mod
        • __uint32_mod_asgn
        • __uint32_mul_16x16
        • __uint32_to_float32
        • __uint64_div
        • __uint64_div_asgn
        • __uint64_mod
        • __uint64_mod_asgn
        • __uint64_mul_32x32
        • __uint64_to_float32
      • <cross_studio_io.h> - Debug I/O library
        • debug_break
        • debug_clearerr
        • debug_fclose
        • debug_feof
        • debug_ferror
        • debug_fflush
        • debug_fgetc
        • debug_fgets
        • debug_filesize
        • debug_fopen
        • debug_fprintf
        • debug_fputc
        • debug_fputs
        • debug_fread
        • debug_printf
        • debug_fseek
        • debug_ftell
        • debug_fwrite
        • debug_getch
        • debug_getchar
        • debug_getd
        • debug_getf
        • debug_geti
        • debug_getl
        • debug_getll
        • debug_gets
        • debug_getu
        • debug_getul
        • debug_getull
        • debug_kbhit
        • debug_printf
        • debug_putchar
        • debug_puts
        • debug_rewind
        • debug_runtime_error
        • debug_scanf
        • debug_time
      • <ina90.h> - IAR EWA90 compability header
        • _BREAK
        • _CLI
        • _NOP
        • _OPC
        • _SEI
        • _SLEEP
        • _WDR
      • <inavr.h> - IAR EWAVR compability header
        • __bic_SR_register
        • __bis_SR_register
        • __breakpoint
        • __delay_cycles
        • __disable_interrupt
        • __enable_interrupt
        • __insert_opcode
        • __no_operation
        • __save_interrupt
        • __sleep
        • __swap_bytes
        • __swap_nibbles
        • __restore_interrupt
        • __watchdog_reset
      • <pgmspace.h> - IAR compatibility header
        • memcpy_P
        • memcmp_P
        • printf_P
        • puts_P
        • scanf_P
        • snprintf_P
        • sprintf_P
        • strcat_P
        • strcmp_P
        • strcpy_P
        • strlen_P
        • strcat_P
        • strncmp_P
        • strncpy_P
        • sscanf_P
        • vscanf_P
        • vprintf_P
        • vsnprintf_P
        • vsprintf_P
        • vsscanf_P
      • <string_c.h> - String handling
        • memcmp_c
        • memcpy_c
        • strcat_c
        • strcmp_c
        • strcpy_c
        • strlen_c
        • strncat_c
        • strncmp_c
        • strncpy_c
      • <stdio_c.h> - Input/output functions
        • printf_c
        • puts_c
        • scanf_c
        • snprintf_c
        • sprintf_c
        • sscanf_c
        • vprintf_c
        • vscanf_c
        • vsnprintf_c
        • vsprintf_c
        • vsscanf_c
    • AVR Device library
      • <AT90CAN128.h>
      • <AT90PWM2.h>
      • <AT90PWM3.h>
      • <AT90S1200.h>
      • <AT90S2313.h>
      • <AT90S2323.h>
      • <AT90S2343.h>
      • <AT90S4414.h>
      • <AT90S4433.h>
      • <AT90S4434.h>
      • <AT90S8515.h>
      • <AT90S8535.h>
      • <ATmega128.h>
      • <ATmega16.h>
      • <ATmega161.h>
      • <ATmega162.h>
      • <ATmega163.h>
      • <ATmega165.h>
      • <ATmega168.h>
      • <ATmega169.h>
      • <ATmega2560.h>
      • <ATmega2561.h>
      • <ATmega32.h>
      • <ATmega323.h>
      • <ATmega325.h>
      • <ATmega3250.h>
      • <ATmega329.h>
      • <ATmega3290.h>
      • <ATmega406.h>
      • <ATmega48.h>
      • <ATmega64.h>
      • <ATmega645.h>
      • <ATmega6450.h>
      • <ATmega649.h>
      • <ATmega6490.h>
      • <ATmega64.h>
      • <ATmega8.h>
      • <ATmega8515.h>
      • <ATmega8535.h>
      • <ATmega88.h>
      • <ATtiny11.h>
      • <ATtiny12.h>
      • <ATtiny13.h>
      • <ATtiny15.h>
      • <ATtiny22.h>
      • <ATtiny2313.h>
      • <ATtiny24.h>
      • <ATtiny26.h>
      • <ATtiny28.h>
      • <ATtiny45.h>
    • Standard C Library Reference
      • <assert.h> - Diagnostics
        • assert
      • <ctype.h> - Character handling
        • isalnum
        • isalpha
        • isblank
        • iscntrl
        • isdigit
        • isgraph
        • isupper
        • isprint
        • ispunct
        • isspace
        • isupper
        • isxdigit
        • tolower
        • toupper
      • <errno.h> - Errors
        • errno
      • <limits.h> - Integer numerical limits
        • CHAR_BIT
        • CHAR_MIN
        • CHAR_MAX
        • INT_MIN
        • INT_MAX
        • LLONG_MIN
        • LLONG_MAX
        • LONG_MIN
        • LONG_MAX
        • SCHAR_MIN
        • SCHAR_MAX
        • SHRT_MIN
        • SHRT_MAX
        • UCHAR_MAX
        • UINT_MAX
        • ULLONG_MAX
        • ULONG_MAX
        • USHRT_MAX
      • <math.h> - Mathematics
        • acos
        • acosf
        • acosh
        • acoshf
        • asin
        • asinf
        • asinh
        • asinhf
        • atan
        • atan2
        • atan2f
        • atanf
        • atanh
        • atanhf
        • cbrt
        • cbrtf
        • ceil
        • ceilf
        • cos
        • cosf
        • cosh
        • coshf
        • exp
        • expf
        • fabs
        • fabsf
        • floor
        • floorf
        • fmax
        • fmaxf
        • fmin
        • fminf
        • fmod
        • fmodf
        • frexp
        • frexpf
        • hypot
        • hypotf
        • isfinite
        • isinf
        • isnan
        • ldexp
        • ldexpf
        • log
        • log10
        • log10f
        • logf
        • modf
        • modff
        • pow
        • powf
        • scalbn
        • scalbnf
        • sin
        • sinf
        • sinh
        • sinhf
        • sqrt
        • sqrtf
        • tan
        • tanf
        • tanh
        • tanhf
      • <setjmp.h> - Non-local jumps
        • jmp_buf
        • longjmp
        • setjmp
      • <stdarg.h> - Variable arguments
        • va_arg
        • va_copy
        • va_end
        • va_end
      • <stdio.h> - Input/output functions
        • Formatted output control strings
        • Formatted input control strings
        • getchar
        • gets
        • printf
        • putchar
        • puts
        • scanf
        • snprintf
        • sprintf
        • sscanf
        • vprintf
        • vscanf
        • vsnprintf
        • vsprintf
        • vsscanf
      • <stdlib.h> - General utilities
        • atof
        • atoi
        • atol
        • atoll
        • calloc
        • div
        • div_t
        • free
        • itoa
        • ldiv
        • ldiv_t
        • lldiv
        • lldiv_t
        • lltoa
        • ltoa
        • malloc
        • rand
        • RAND_MAX
        • realloc
        • srand
        • strtol
        • strtof
        • strtol
        • strtoll
        • strtoul
        • strtoull
        • ultoa
        • ultoa
        • utoa
      • <string.h> - String handling
        • memchr
        • memcmp
        • memcpy
        • memmove
        • memset
        • strcat
        • strchr
        • strcmp
        • strcoll
        • strcpy
        • strcspn
        • strerror
        • strlen
        • strncat
        • strncmp
        • strncpy
        • strpbrk
        • strrchr
        • strspn
        • strstr
        • strtok
    • Assembler Reference
      • Command line options
        • -D (Define macro symbol)
        • -g (Generate debugging information)
        • -I (Define include directories)
        • -J (Define system include directories)
        • -o (Set output file name)
        • -Rc (Set default code section name)
        • -Rd (Set default initialized data section name)
        • -Rk (Set default read-only data section name)
        • -Rv (Set default vector section name)
        • -Rz (Set default zeroed data section name)
        • -V (Display version)
        • -we (Treat warnings as errors)
        • -w (Suppress warnings)
      • Source format
        • Comments
      • Data definition and allocation directives
        • ALIGN directive
        • DC.A directive
        • DC.B directive
        • DC.L directive
        • DC.W directive
        • EVEN directive
        • FILL directive
        • DS.B directive
        • DS.W directive
        • DS.L directive
        • DV directive
        • INCLUDEBIN directive
      • Labels, variables, and sections
        • Defining sections
        • Symbolic constants and equates
        • Labels
        • CODE directive
        • CONST directive
        • DATA directive
        • VECTORS directive
        • ZDATA directive
        • KEEP directive
      • Data types
        • Built-in types
        • Structure and union types
        • Array types
        • Pointer types
        • Combining data types
      • Expressions and operators
        • Constants
          • Integer constants
          • String constants
        • Arithmetic operators
          • + operator
          • - operator
          • * operator
          • / operator
          • % operator
          • SHL and << operators
          • SHR and >> operators
          • ASHR operator
        • Logical operators
          • LAND and && operators
          • LNOT and !! operators
          • LOR and || operators
        • Bitwise operators
          • AND and & operators
          • NOT and ~ operators
          • OR and | operators
          • XOR and ^ operators
        • Relational operators
        • Value extraction operators
          • HIGH and HBYTE operators
          • HWORD operator
          • LOW and LBYTE operators
          • LWORD operator
        • Miscellaneous operators
          • THIS operator
          • DEFINED operator
          • SIZEOF operator
          • Indexing operator
          • Retyping operator
      • Compilation units and libraries
        • INCLUDE directive
        • Exporting symbols
        • Importing symbols
      • Macros, conditions, and loops
        • Conditional assembly
        • Macros
    • Utilities Reference
      • Compiler driver reference
        • File naming conventions
        • -ansi (Warn about potential ANSI problems)
        • -ar (Archive output)
        • -c (Compile to object code, do not link)
        • -D (Define macro symbol)
        • -e (Override entry symbol)
        • -F (Set output format)
        • -g (Generate debugging information)
        • -h (Display help information)
        • -I (Define user include directories)
        • -J (Define system include directories)
        • -K (Keep linker symbol)
        • -l (Link library)
        • -L (Set library directory path)
        • -I- (Exclude standard include directories)
        • -l- (Do not link standard libraries)
        • -m8k (Generate for 8K part)
        • -m128k (Generate for128K part)
        • -m8m Generate for 8M part)
        • -M (Print linkage map)
        • -n (Dry run, no execution)
        • -o (Set output file name)
        • -O (Optimize output)
        • -Rc (Set default code section name)
        • -Rd (Set default initialised data section name)
        • -Rk (Set default read-only data section name)
        • -Rv (Set default vector section name)
        • -Rz (Set default zeroed data section name)
        • -s- (Exclude standard startup code)
        • -s (Set startup code file)
        • -v (Verbose execution)
        • -V (Version information)
        • -w (Suppress warnings)
        • -we (Treat warnings as errors)
        • -Wa (Pass option to assembler)
        • -Wc (Pass option to C compiler)
        • -Wl (Pass option to linker)
      • Linker reference
        • Command line syntax
        • -D (Define linker symbol)
        • -F (Set output format)
        • -g (Propagate debugging information)
        • -H (checksum sections)
        • -l- (Do not link standard libraries)
        • -l (Link library)
        • -L (Set library directory path)
        • -M (Display linkage map)
        • -m8k (Generate for 8K part)
        • -m128k (Generate for128K part)
        • -m8m Generate for 8M part)
        • -o (Set output file name)
        • -O (Optimize output)
        • -Obl (Enable block localization optimization)
        • -Ocm (Enable code motion optimization)
        • -Ocp (Enable copy propagation optimization)
        • -Ojc (Enable jump chaining optimization)
        • -Ojt (Enable jump threading optimization)
        • -Oph (Enable peephole optimizations)
        • -Osf (Enable flattening optimizations)
        • -Otm (Enable tail merging optimization)
        • -Oxc (Enable code factoring optimization)
        • -Oxcx (Enable extreme code factoring)
        • -Oxcp (Set maximum code factoring passes)
        • -Oxj (Enable cross jumping optimization)
        • -T (Locate sections)
        • -we (Treat warnings as errors)
        • -w (Suppress warnings)
        • -v (Verbose execution)
        • -V (Version information)
      • Hex extractor reference
        • -F (Set output format)
        • -o (Set output prefix)
        • -T (Extract named section)
        • -V (Display version)
        • -W (Set bus width)
      • Librarian reference
        • -c (Create archive)
        • -r (Add or replace archive member)
        • -d (Delete archive members)
        • -t (List archive members)
      • CrossBuild
      • CrossLoad
    • Appendicies
      • Legal
        • Copyright, disclaimer, and trademarks
        • Rowley Associates license statement
        • Activating your product
      • Technical
        • Project file format
        • Project Templates file format
        • Project property reference
        • Code editor command summary
        • Binary editor command summary
      • Linux Frequently Asked Questions
      • Glossary