• CrossWorks for MSP430
    • Preface
      • Introduction
        • What is CrossWorks?
        • What we dont tell you...
        • Release notes
        • Activating your product
        • Text conventions
        • Standard syntactic metalanguage
        • Requesting support and reporting problems
    • CrossStudio Reference
      • CrossStudio Tutorial
        • Creating a project
        • Managing files in a project
        • Setting project options
        • Building projects
        • Exploring projects
        • Using the debugger
        • Low-level debugging
      • 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
      • Basic editing
        • 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
      • Package management
      • Linking and 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
      • MSP430 target interfaces
        • MSP430 Target Debug
        • Rowley CrossConnect
        • Flash Emulation Tool
        • TI MSP430.dll Interface
        • MSP430 core simulator
      • 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)
        • -mmpy (Enable hardware multiplier)
        • -mmpyinl (Enable inline hardware multiplier)
        • -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
      • Byte queues
      • Global interrupts control
      • Timer support
      • Interrupt service routines
      • Memory areas
    • Library Reference
      • MSP430 Library Reference
        • <ctl_api.h> - Tasking functions
          • ctl_byte_queue_init
          • ctl_byte_queue_post
          • ctl_byte_queue_post_nb
          • ctl_byte_queue_receive
          • ctl_byte_queue_receive_nb
          • ctl_current_time
          • ctl_events_init
          • ctl_events_set_clear
          • ctl_events_wait
          • ctl_get_current_time
          • ctl_get_ticks_per_second
          • 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_message_queue_receive_nb
          • ctl_semaphore_init
          • ctl_semaphore_signal
          • ctl_semaphore_wait
          • ctl_timeout_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
          • ctl_timeslice_period
        • <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_fscanf
          • 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
        • <in430.h> - MSP430 intrinsics
          • _BIC_SR
          • _BIC_SR_IRQ
          • _BIS_SR
          • _BIS_SR_IRQ
          • _DADD16
          • _DADD32
          • _DADD64
          • _DINT
          • _DNEG16
          • _DNEG32
          • _DNEG64
          • _DSUB16
          • _DSUB32
          • _DSUB64
          • _EINT
          • _LSWPB
          • _LSWPW
          • _NOP
          • _OPC
          • _SWPB
        • <inmsp.h> - MSP430 intrinsics
          • __bcd_add_long
          • __bcd_add_long_long
          • __bcd_add_short
          • __bcd_negate_long
          • __bcd_negate_long_long
          • __bcd_negate_short
          • __bcd_subtract_long
          • __bcd_subtract_long_long
          • __bcd_subtract_short
          • __bic_SR_register
          • __bic_SR_register_on_exit
          • __bis_SR_register
          • __bis_SR_register_on_exit
          • __bit_count_leading_zeros_char
          • __bit_count_leading_zeros_long
          • __bit_count_leading_zeros_long_long
          • __bit_count_leading_zeros_short
          • __bit_reverse_char
          • __bit_reverse_long
          • __bit_reverse_long_long
          • __bit_reverse_short
          • __delay_cycles
          • __disable_interrupt
          • __enable_interrupt
          • __get_register
          • __insert_opcode
          • __no_operation
          • __set_register
          • __swap_bytes
          • __swap_long_bytes
          • __swap_nibbles
          • __swap_words
      • 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
    • Command Line Tools
      • 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)
          • -mmpy (Enable hardware multiplier)
          • -mmpyinl (Enable inline hardware multiplier)
          • -msd (Treat double as float)
          • -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)
          • -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
    • Appendices
      • Legal
        • Copyright, disclaimer, and trademarks
        • Rowley Associates license statement
        • Activating your product
      • Technical
        • CrossConnect JTAG Emulator
        • File formats
          • Memory Map file format
          • Section Placement file format
          • Project file format
          • Project Templates file format
        • Build Project Property Reference
        • Compilation Project Property Reference
        • External Build Project Property Reference
        • Folder Project Property Reference
        • Library Project Property Reference
        • Linker Project Property Reference
        • Staging And Combining Project Property Reference
        • Target Project Property Reference
        • Code editor command summary
        • Binary editor command summary
      • Frequently asked questions
      • Glossary