Program size exploded; errors prevent map file generation

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

Program size exploded; errors prevent map file generation

1,424 Views
GaryOlmstead
Senior Contributor I

Hi --

 

Last week, I had a nice program of about 7KB or thereabouts.  I added a serial port (via PE), and some code to go with it, and fixed some other stuff.  Today, the program had exploded to over 88K!!  It still compiles, but I get "segment overflow" errors from the linker. 

 

I'm assuming that something added a library, or something.  But since the linker won't make a map until it links, there isn't any obvious way to debug it.  Is there some way to force the linker to make a map, even for a corrupted file?  If not, is there some other way to figure what the memory is being allocated to?  Unfortunately, I  can't go back to Friday's code.

 

Gary Olmstead

Toucan Technology

Ventura CA

Labels (1)
Tags (1)
0 Kudos
2 Replies

226 Views
jag
Contributor IV

Hi,

 

it's possible (I don't use PE, so I'm not sure) that the PE routine for UART include some function to print messages to a console (like printf for example).

You can check the files generated by PE to see what happens.

 

Hope this helps

 

Bye Jack 

0 Kudos

226 Views
trytohelp
NXP Employee
NXP Employee

Hello Gary,

 

For the moment there are no way to generate the map file with this type of problem.

The linker should generate an error with some infomation about the overflow like:

 Link Error   : Segment overflow: .p_interrupts_RAM
  Reserved size is 0x00000010 -- Overflow 0x000000f4

 Link failed.

 

If you want get the map file you can increase the memory.

The linker doesn't check if the memory size commits the real memory.

So you can increase it or change the memory definition in order to get the map file.

 

Regards

Pascal

0 Kudos