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
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
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