RE: Pointer allocation problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Richard,

Thanks a lot for all your support. I have fixed this problem.

Actually, in my scatter file the alignment was correct but the Load address
range of *.data section was overlapping with our IRAM_CODE section(code
running from RAM). So load time, the *.data section was getting corrupted. I
certified that all global data was getting corrupted. So I rectified the
load addresses & now Image is running fine on target board. 

I have successully ported my project from ADS to GNU-ARM. Anybody need any
help on this issue, mail me. 

Thanks everybody for support.
Kanwal
 

-----Original Message-----
From: Richard Earnshaw [mailto:rearnsha@xxxxxxx] 
Sent: Friday, September 01, 2006 2:00 PM
To: Kanwal Preet Singh CHANANA
Cc: gcc-help@xxxxxxxxxxx; crossgcc@xxxxxxxxxxxxxxxxxx
Subject: Re: Pointer allocation problem


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.




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux