This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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. -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |