EmbDev.net

Forum: ARM programming with GCC/GNU tools getting data abort handler error when using string application


von Ruchi S. (Company: wertecknologies) (ruchi)


Rate this post
useful
not useful
Hello All,
I'm recently implementing a C application for POS device which is based 
on ARM.
The application is basically a transaction to the webservice using POS 
and involves sending card details, amount etc and the string operations 
I use involves sprintf, strcat etc. Now when I'm using sprintf 
operations involving floating numbers, it gives dataaborthandler error. 
The same peice of code works perfectly fine on fedora linux but with the 
device, it gives this error. I suspect this has to do with the stack 
memory. I don't have much experience on ARM devices.
Here is the linker script

SECTIONS
{
  . = 0x20500000;
  .text : { *(.text) }
  Image_RO_Limit = .;
  Image_RW_Base = .;
  .data : { *(.data) }
  .rodata : { *(.rodata) }
  Image_ZI_Base = .;
  .bss : { *(.bss) }
  Image_ZI_Limit = .;
  _bss_start_ = .;
  _bss_end_ = .;
  _EH_FRAME_BEGIN_ = .;
  _EH_FRAME_END_ = .;
PROVIDE (__stack = .);
  end = .;
  _end = .;
  .debug_info     0 : { *(.debug_info)  }
   .debug_line    0 : { *(.debug_line)  }
     .debug_abbrev   0 : { *(.debug_abbrev)}
     .debug_frame    0 : { *(.debug_frame) }
}

I don't know how to increase the stack size etc. and how to tweak with 
the linker script. Also, do let me know any information you may require.
One thing more, the application i'm implementing is on top of a pilot 
software provided by the vendor of the device. I still don't know why 
the memory was initialised with 0x20500000. many of the ARM related 
stuff are transparent to me.

Your expert advice could be of great help to me.
Thanks
Ruchi

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.