getting data abort handler error when using string application

OP (Company: wertecknologies) #2608710
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

Reply

Please log in before posting.

or

Log in with Google account

Registration is free and takes only a minute.

Register now