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

running from XRAM on XC878

Hi,

I am trying to run one function from XRAM on XC878. This works on other XC800 devices where XRAM is at 0xF000 but it seems that Microvision will not allows code to run from 0x2F000 where the XRAM is located on XC878.

I have a function that copies the compiled code from Flash to XRAM for execution from there.
Any ideas?

Best Regards
Jurgen

Parents
  • Well, what little of that snippet is actually readable contains no trace of you even trying to get the compiler to call that function any differently than any other. How is the compiler to know that you don't want to just call function right there in CODE, where the linker put it, without you so much as dropping it a hint?

    And how did you even expect that copy loop to work? 0x2F000 is outside the addressable range of a plain pointer to xdata, so at the very least you'll have to make that a __far pointer or use some other XDATA paging mechanisms.

Reply
  • Well, what little of that snippet is actually readable contains no trace of you even trying to get the compiler to call that function any differently than any other. How is the compiler to know that you don't want to just call function right there in CODE, where the linker put it, without you so much as dropping it a hint?

    And how did you even expect that copy loop to work? 0x2F000 is outside the addressable range of a plain pointer to xdata, so at the very least you'll have to make that a __far pointer or use some other XDATA paging mechanisms.

Children
No data