nai2capp: Example for I2C device for PCA9554 I2C part.

This example shows user how to setup a I2C host device and demonstrates use of
two new APIs- NAI2cInit() and NAI2cOperation().  These two new APIs makes the 
I2C host implementation easier.  To run this example make sure you have 
following configuration in bsp_drivers.h

#define BSP_INCLUDE_I2C_EXPANDER        TRUE

This example will work on ARM9 chip with PCA9554 on I2C bus address address 0x20 
Note: We need to pass address left shifted by 1 bit to NAI2cOperation().
For all other I2C parts user may want to change the message formation based on
specific i2c device. If you are using the I2C part in different bus address 
then you need to update I2C_SLAVE_GPIO_EXP_ADDR accordingly. 

This example demonstrates the usage of NAI2CInit() and NAI2COperation() with all
possible option flags. Example checks the read and write operation by accessing
the I2C part registers. It assumes that you have loopback connector connected 
to I/O ports which connect port 0 to 1, 2 to 3, 4 to 5 and 6 to 7.  

Application does the following
1. Sets the configuration register to make port 1,3,5,7 as input ports and 
   0,2,4,6 as output ports. 
2. Sets the output port 0 and 4 and clears port 2 and 6
3. Reads the input port and checks with 0x33 (port 0,1,4,5 are at logic high) 

The following files are provided with this example:

appconf.h         sets application configuration settings
makefile          Make file for the GNU toolset.
readme            this file
root.c            contains applicationStart() function to setup different time
i2c_test.c        contains a simple I2C device application.

In addition, the following files in the BSP directory are built as part of this 
example:

reset.s         contains the reset code
appconf_api.c   contains code used to read settings in appconf.h


The build file links in the following libraries:

libbsp.a            contains the BSP library
libtcpip.a          contains the TCP/IP stack library
libtx.a             contains the ThreadX kernel library
libfilesys.a        contains the file system library
libposix.a          contains the POSIX layer library
libflash.a          contains the Flash driver library
libpppintf.a		contains the PPP Interface Library
libtelnsvr.a       	contains the Telnet server library
libaddp.a		   	contains the ADDP Library
libssh.a		   	contains the SSH Library
libdnsclnt.a        contains the DNS Client library

The application uses the following files located in the
netos\src\linkerScripts directory.

bootldr.dat     bootloader configuration file used to generate the
                file image.bin.  It controls the information placed
                in the bootloader header of the image.

image.ldr       GNU linker script used to build an image that can
                be debugged and used with the bootloader.
                
customize.ldr   Customizable GNU linker script


