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

LX51 linker syntax

We try to use LX51 instead of BL51 with new PK51 package (C51 7.0.1 etc).
If we define the linker option for BL51 DA(30H) ID(80H) ST(?STACK) XDATA(3000H), what is equivelant define in LX51. In the other way to say what is the syntax for telling the starting address to locate segment for a memory class?

Parents Reply Children
  • With V7.02b Keil seem to have changed the LX51 syntax to match BL51. Try downloading this product update.

  • Thanks for your reply. I have downloaded v702 update. I did not notice they changed the syntax for LX51, do you know where I can find the information for that?
    Actually I found LX51 v3.51p has a problem that creates big gap (3000H) at XDATA area. I use classic 8051 with code banking. It might be OK for other case.

  • We still try to understand the nature of your problem here. With RESERVE (B0:0x8000-B0:0x8FFF) you can for example prevent that the linker locates any variables to the memory space 0x8000 - 0x8FFF in Bank 0. So why does RESERVE not do what you want?

    In a similar way you can reserve any space in xdata space.

    BL51 does not handle xdata banking, but with your example you refer always to xdata memory.

    So, if you have not solved your problem, please explain it again to us. In this way we can improve our products.