IAR Project Configuration

The examples are all configured as IAR projects, with each group of examples in its own workspace. To see all the examples in a particular workspace, open IAR and then navigate to File:Open:Workspace... and select the workspace you want to open. In the Workspace pane (usually far left side) click on the Overview tab at the bottom of the pane. This will list all the examples in this group.

The files are organized into folders corresponding to their location in the file structure, e.g: Other files (not in directories) will be located in the Module Examples directory. IAR automatically creates an additional directory, Output, that contains any debug files or list files.
 * HAL - this contains all the Hardware Abstraction Library files that interface with the hardware.
 * Module - the Zigbee Module interface files
 * Common - this contains miscellaneous utilities

ZigBee Modules Project Configuration
The project configurations are all fairly simple to ease the transition to other platforms. The IAR default project configuration was used with the following changes: (in project options dialog - Project : Options)
 * General Options : Target - change Device to MSP430G2553 or whatever processor you're using.
 * Debugger : Setup - change Driver to Automatic. Note: change this to your USB dongle - should be something like "HID0003" or so.
 * Optional: Linker : List - check "Generate Linker Listing", Under File Format, check "HTML", and check "Module summary". This is helpful for seeing how much code each file is generating.
 * Optional: C/C++ Compiler : Preprocessor : Under "Additional include directories" the relative paths for all files are added. Otherwise IAR will display a warning if the project directory changes, since IAR by default uses absolute paths in its project configuration.

Compiler Intrinsic Functions
The project uses a few compiler intrinsic functions. These will need to be changed if using a different compiler. It is recommended to surround each with #ifdef __IAR_SYSTEMS_ICC__ if using IAR, or the corresponding function to allow the compiler to automatically select which intrinsic to use during compilation. * __interrupt for defining interrupt service routines. * __bis_SR_register for setting bits in the MSP430 Status Register. Only used for End-Device low power mode. * __bic_SR_register_on_exit for clearing bits in the MSP430 Status Register upon function return. Only used for End-Device low power mode. * _EINT for enabling interrupts * _DINT for disabling interrupts
 * hal_launchpad.c
 * hal_launchpad.h

