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

ERROR L121: IMPROPER FIXUP SEGMENT: ABSOLUTE OFFSET: 0023H

I got this error when linking with uVision version 1.24 (using <2Kb memory model):
ERROR L121: IMPROPER FIXUP
MODULE: SIO.obj (SIO)
SEGMENT: ABSOLUTE
OFFSET: 0023H


And I fixed the error by disabling "Enable variable overlaying" option in "Linking" tab of "BL51 Code Banking Linker" (Options menu).

Could anybody tell me where is this option in the latest version (uVision2 2.30), to fix the same error I have found when upgrading to the new IDE version?

Thanks.

Parents
  • The improper fixup error occurs because his code is using more than 256 bytes of data. Overlaying data space reduces data space usage and corrects the bug.

    I have seen this error pop up when a function is no longer called but is still in the code. The compiler creates a pointer in data space to the uncalled function, I think to support bank switching.

    If you are using all or most of your data (or idata) space, then don't allow any uncalled functions to remain in your code. This happens to me mostly while debugging code when I temporarily comment out the only place a function is being call from.

    Phil

Reply
  • The improper fixup error occurs because his code is using more than 256 bytes of data. Overlaying data space reduces data space usage and corrects the bug.

    I have seen this error pop up when a function is no longer called but is still in the code. The compiler creates a pointer in data space to the uncalled function, I think to support bank switching.

    If you are using all or most of your data (or idata) space, then don't allow any uncalled functions to remain in your code. This happens to me mostly while debugging code when I temporarily comment out the only place a function is being call from.

    Phil

Children
No data