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
Log in with Google account
No account? Register here.