Hi all,
I'm using the mpc5553 alongside the uC-OS\II operating system.
Due to BootLoader considerations, I have reconfigured the link command file for our project, so that the image will start from address 0x00040000, instead of 0x00002000.
Normally, the change is invisible, but once I'm trying to use the sprintf function, I get an exception (Floating-point unavailable, IVOR7).
Please note that while using the unmodified linker command file (as defined by Micrium, the developers of uC), I have no problem calling sprintf.
Please advise, regards,
Erez
Hi erez_huji,
I assume you use the same MSL library file in both cases. Does compiler/linker generates any warning?
Could you double check if the ROM image address/ RAM buffer address has been updated to 0x00040000?
If it doesn't help could you post your .lcf/.map files?
Stanish
HI Stanish,
First, thank you for replying.
I'm using the MSL library for both configurations.
I have checked the ROM image address/ RAM buffer address and it seems to be fine.
The relevant files are attached, including the EPPC_LINKER panel from the project configuration.
Please note, I'm using address 0x00040020 instead of 0x0040000, as the base address.
Once again, thank you,
Erez
Hi,
I've just checked the files you posted.
I'd suggest you to try to setup ROM image address/ RAM buffer address to 0x00040028
and modify the linker .lcf:
...
SECTIONS
{
/* ROM data */
.rcw LOAD( ADDR(flash_rcw) ) : { *(.rcw) } > flash_rcw
...
The .map file doesn't include sprintf() at all. Is the .map file the correct one?
Stanish
Hi Stanish,
I'm sorry for the late response...
The proper map file is attached.
I believe that the reason for the problem is an overloaded SRAM, which leaves no space for the heap.
I will try to spare some memory first.
Thank you for your help,
Erez