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.