This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Code generation problem with Linker Code Packing (max. AJMP / ACALL )

Dear *,

Problem:- When we are compiling our code with "Linker Code Packing" then keil compiler is generating wrong code and because of this, execution of code is Erratic.

Description:-

For this project we are using
a) code banking option and we are using 4 banks for code.
b) UV v4.14.16.0

Description:- When we compiled our code and analyzed the map file then we found a strange behaviour where some functions of bank2 are not a part of "MEMORY MAP OF MODULE" section of map file and hex file as well. But these functions are the part of ""PUBLIC SYMBOLS OF MODULE:" of map file and hex file.

The detail of this problem is as follows:

map file showing 0x8FC6 address as a last address of code bank 2 in "MEMORY MAP OF MODULE:" section

------------------------------------------------------------------------------------------
008F93H 008FC6H 000034H BYTE UNIT CODE/B2 ?PR?temp?TEMP_BUFFERMANAGER

*** COMMON AREA ***
------------------------------------------------------------------------------------------

but when we further analyze the map file then "PUBLIC SYMBOLS OF MODULE:" section is also having another address for bank2.

010099FAH CODE/B2 --- _TempPrepareSequence

But if we are compiling our code without "Linker Code Packing" then correct code is generating from keil and execution of code is also as per expectation.

Could anyone please suggest us why is "Linker Code Packing" not working with our code?

0