On Fri, 2006-09-01 at 05:08, Kanwal Preet Singh CHANANA wrote: > Hi all, > > I am porting my project from ADS to GCC_ARM v4.0.3. I have been able to > compile & Link my source files with GCC-ARM. The image (running in Flash) > crashes on target. The reason for crash is wrong pointer allocation. > > I have used a pointer to a structure as shown below: > > typedef volatile struct UARTInfoTag > { > void (*rxInt_p) (void); > void (*txComplete_p) (void); > tUartLineStatusCallbackFunc lineStatusInt_p; > tBool NewRxData; > tBool IsTransmitting; > } UARTInfo; > > #define NUMBER_OF_UARTS 2 > > UARTInfo UARTCallBack[NUMBER_OF_UARTS]; > UARTInfo *pUARTInfo = &UARTCallBack[0]; > > UARTCallBack is located in RAM with &UARTCallBack[0]=0x000033C8, but > pUARTInfo contains the value 0x4B1D1BCA & pUARTInfo is located in RAM at > address 0x00001FCA. > ^^^^^^^^^^^ here's your problem. This isn't a 32-bit aligned address, so attempts to deference it as an aligned address will fail. Are you sure your scatter file is correctly aligning your rw and zi sections correctly? R.