• CrossWorks for ARM
    • Preface
      • 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 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
      • Target interfaces
        • Macraigor Wiggler (20 and 14 pin) Target interface
        • CrossConnect Target interface
        • Segger J-Link Target interface
        • ARM Simulator Target interface
      • ARM Target Support
        • Target startup code
        • Startup code
        • Memory map files
        • Project configurations
        • Target script file
        • Program loading
        • ARM Device Specific Target Support
      • 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
        • Tools menu
        • Window menu
        • Help menu
    • Tasking Library Tutorial
      • Overview
      • Tasks
      • Event sets
      • Semaphores
      • Message queues
      • Byte queues
      • Global interrupts control
      • Timer support
      • Programmable interrupt handling
      • Low-level interrupt handling
      • Memory areas
    • Library Reference
      • 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
      • <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_exit_isr
        • 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_interrupt_count
        • ctl_libc_mutex
        • ctl_mask_isr
        • 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_set_isr
        • 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
        • ctl_umask_isr
      • <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_scanf
        • 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
      • <libarm.h> - ARM specific library
        • libarm.h File Reference
        • libarm_dcc_read
        • libarm_dcc_write
        • libarm_disable_irq
        • libarm_disable_irq_fiq
        • libarm_disable_fiq
        • libarm_enable_irq
        • libarm_enable_irq_fiq
        • libarm_enable_fiq
        • libarm_get_cpsr
        • libarm_isr_disable_irq
        • libarm_isr_enable_irq
        • libarm_mmu_flat_initialise_level_1_table
        • libarm_mmu_flat_initialise_level_2_small_page_table
        • libarm_mmu_flat_set_level_1_cacheable_region
        • libarm_mmu_flat_set_level_2_small_page_cacheable_region
        • libarm_restore_irq_fiq
        • libarm_run_dcc_port_server
        • libarm_set_cpsr
        • libarm_set_fiq
        • libarm_set_irq
        • Data Fields
        • Data Fields
        • File Index
      • <libmem.h> - Memory Programming library
        • libmem.h File Reference
        • Using LIBMEM
        • Light version of LIBMEM
        • Writing LIBMEM drivers
        • Data Structures
        • LIBMEM_ADDRESS_IN_RANGE
        • LIBMEM_ADDRESS_IS_ALIGNED
        • LIBMEM_ALIGNED_ADDRESS
        • LIBMEM_CFI_CMDSET_AMD_EXTENDED
        • LIBMEM_CFI_CMDSET_AMD_STANDARD
        • LIBMEM_CFI_CMDSET_INTEL_EXTENDED
        • LIBMEM_CFI_CMDSET_INTEL_STANDARD
        • LIBMEM_CFI_CMDSET_MITSUBISHI_EXTENDED
        • LIBMEM_CFI_CMDSET_MITSUBISHI_STANDARD
        • LIBMEM_CFI_CMDSET_NONE
        • LIBMEM_CFI_CMDSET_RESERVED
        • LIBMEM_CFI_CMDSET_SST_PAGE_WRITE
        • LIBMEM_CFI_CMDSET_WINBOND_STANDARD
        • LIBMEM_INLINE
        • LIBMEM_RANGE_OCCLUDES_RANGE
        • LIBMEM_RANGE_OVERLAPS_RANGE
        • LIBMEM_RANGE_WITHIN_RANGE
        • LIBMEM_STATUS_CFI_ERROR
        • LIBMEM_STATUS_ERROR
        • LIBMEM_STATUS_GEOMETRY_REGION_OVERFLOW
        • LIBMEM_STATUS_INVALID_PARAMETER
        • LIBMEM_STATUS_INVALID_RANGE
        • LIBMEM_STATUS_INVALID_WIDTH
        • LIBMEM_STATUS_LOCKED
        • LIBMEM_STATUS_NOT_IMPLEMENTED
        • LIBMEM_STATUS_NO_DRIVER
        • LIBMEM_STATUS_SUCCESS
        • LIBMEM_STATUS_TIMEOUT
        • _libmem_driver_functions_t Struct Reference
        • _libmem_driver_functions_t::erase
        • _libmem_driver_functions_t::fill
        • _libmem_driver_functions_t::flush
        • _libmem_driver_functions_t::lock
        • _libmem_driver_functions_t::unlock
        • _libmem_driver_functions_t::write
        • _libmem_driver_handle_t Struct Reference
        • _libmem_driver_handle_t::driver_data
        • _libmem_driver_handle_t::driver_functions
        • _libmem_driver_handle_t::ext_driver_functions
        • _libmem_driver_handle_t::flash_info
        • _libmem_driver_handle_t::geometry
        • _libmem_driver_handle_t::next
        • _libmem_driver_handle_t::size
        • _libmem_driver_handle_t::start
        • _libmem_driver_handle_t::user_data
        • _libmem_ext_driver_functions_t Struct Reference
        • _libmem_ext_driver_functions_t::crc32
        • _libmem_ext_driver_functions_t::inrange
        • _libmem_ext_driver_functions_t::read
        • _libmem_flash_info_t Struct Reference
        • _libmem_flash_info_t::erase_chip_timeout_ticks
        • _libmem_flash_info_t::erase_sector_timeout_ticks
        • _libmem_flash_info_t::max_multi_program_bytes
        • _libmem_flash_info_t::pairing
        • _libmem_flash_info_t::primary_cmdset
        • _libmem_flash_info_t::width
        • _libmem_flash_info_t::write_timeout_ticks
        • _libmem_geometry_t Struct Reference
        • _libmem_geometry_t::count
        • _libmem_geometry_t::size
        • _libmem_sector_info_t Struct Reference
        • _libmem_sector_info_t::number
        • _libmem_sector_info_t::size
        • _libmem_sector_info_t::start
        • libmem_cfi_get_info
        • libmem_crc32
        • libmem_crc32_direct
        • libmem_driver_crc32_fn_t
        • libmem_driver_erase_fn_t
        • libmem_driver_fill_fn_t
        • libmem_driver_flush_fn_t
        • libmem_driver_functions_t
        • libmem_driver_handle_t
        • libmem_driver_inrange_fn_t
        • libmem_driver_lock_fn_t
        • libmem_driver_read_fn_t
        • libmem_driver_unlock_fn_t
        • libmem_driver_write_fn_t
        • libmem_drivers
        • libmem_enable_timeouts
        • libmem_erase
        • libmem_erase_all
        • libmem_ext_driver_functions_t
        • libmem_fill
        • libmem_flash_info_t
        • libmem_flush
        • libmem_foreach_driver
        • libmem_foreach_driver_fn_t
        • libmem_foreach_sector
        • libmem_foreach_sector_fn_t
        • libmem_foreach_sector_in_range
        • libmem_geometry_t
        • libmem_get_driver
        • libmem_get_geometry_size
        • libmem_get_number_of_regions
        • libmem_get_number_of_sectors
        • libmem_get_sector_info
        • libmem_get_sector_number
        • libmem_get_ticks
        • libmem_get_ticks_fn
        • libmem_get_ticks_fn_t
        • libmem_lock
        • libmem_lock_all
        • libmem_read
        • libmem_register_cfi_0001_16_driver
        • libmem_register_cfi_0001_8_driver
        • libmem_register_cfi_0002_16_driver
        • libmem_register_cfi_0003_16_driver
        • libmem_register_cfi_0003_8_driver
        • libmem_register_cfi_driver
        • libmem_register_cfi_intel_driver
        • libmem_register_driver
        • libmem_register_ram_driver
        • libmem_register_sst39xFx00A_16_driver
        • libmem_register_st_m28w320cb_driver
        • libmem_register_st_m28w320ct_driver
        • libmem_sector_info_t
        • libmem_ticks_per_second
        • libmem_unlock
        • libmem_unlock_all
        • libmem_write
      • <libmem_loader.h> - Loader functions
        • libmem_loader.h File Reference
        • libmem_rpc_loader_start
        • libmem_dcc_rpc_loader_start
        • libmem_dcc_loader_start
        • libmem_dcc_loader_set_param_fn_t
        • LIBMEM_RPC_LOADER_MAGIC_NUMBER
    • Command Line Tools
      • CrossBuild
      • CrossLoad
      • mkhdr - C/C++ header file generator
      • mkpkg - package creator
      • GCC Online Documentation
      • BINUTILS Online Documentation
    • Appendicies
      • Legal
        • Copyright, disclaimer, and trademarks
        • Rowley Associates license statement
        • Activating your product
      • Technical
        • 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
        • ARM Simulator Project Property Reference
        • Code editor command summary
        • Binary editor command summary
      • Frequently Asked Questions
      • Linux Frequently Asked Questions
      • Glossary