MSL_C

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MSL_C

893 Views
erez_huji
Contributor I

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    

Labels (1)
0 Kudos
4 Replies

330 Views
stanish
NXP Employee
NXP Employee

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

 

0 Kudos

330 Views
erez_huji
Contributor I

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

0 Kudos

330 Views
stanish
NXP Employee
NXP Employee

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

0 Kudos

331 Views
erez_huji
Contributor I

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 

0 Kudos