I have a line in my linker control file:
But when I build it I see the following segment locations:
81E9FFH 81E9FFH 000001H --- --- **GAP**
81EA00H 81EA24H 000025H BYTE INSEG ECODE_TM
81EA25H 81EA32H 00000EH BYTE INSEG ECODE_TM
81EA33H 81EA57H 000025H BYTE INSEG ECODE_TM
81EA58H 81EA7CH 000025H BYTE INSEG ECODE_TM
81EA7DH 81EAA1H 000025H BYTE INSEG ECODE_TM
81EAA2H 81EAD9H 000038H BYTE INSEG ECODE_TM
81EADAH 81EB0EH 000035H BYTE INSEG ECODE_TM
81EB0FH 81EB3AH 00002CH BYTE INSEG ECODE_TM
81EB3BH 81EB66H 00002CH BYTE INSEG ECODE_TM
Why is the segment ?PR?PHTESTMODE_ROMSOURCEINIT?PHTESTMODE_ROMSIO0
included here in the middle? I would have thought that the wildcard
would locate all the segments in that source module one after the
other, perhaps not in order, but at least all together. ...SOURCEINIT
is not explicitly located elsewhere, it is a normal function. I have
no confidence that other segments might later appear here in the
middle and break my intended location controls. I do have a good
reason to locate all these things.
Any help with the linker controls?
that is a good question which requires detailed analysis. Can you
send all the OBJ files to support along with the linker map file.
As work-around you may use USER_CLASSES as explained here:
This also works for ECODE.
View all questions in Keil forum