--large_memory_model switch for the MSP430 large memory devices

Comments

6 comments

  • Avatar
    Paul Curtis

    If you compile for an MSP430X processor with >64KB of memory then the compiler automatically uses appropriate call instructions.  We do not support data >64K.

    0
    Comment actions Permalink
  • Avatar
    Bart Tormans

    If I have code in the >64k range. Should I then use 32bit variables to store function pointer?

    Does CrossStudio automatically make function pointers 32bit in this case?

    0
    Comment actions Permalink
  • Avatar
    Randy

    I am wondering the same thing.  Some code I inherited has function pointers that now point to larger than 64K addresses. Will this still work?

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    Code that spans the 1MB address range of the MSP430X works correctly, even with function pointers.

    If you have data in the >64K address space then there is no direct support for this; you can, however, use the functions in <inmsp.h> to read data beyond 64K.

    0
    Comment actions Permalink
  • Avatar
    Randy

    Thank you for your response.  I will try to use the inmsp.h functions for the data that we may have in extended memory.  Is this data limitation something that "may be" enabled in future versions or is there something inherent in the Compiler/Instruction set that makes it difficult to implement?

    0
    Comment actions Permalink
  • Avatar
    Paul Curtis

    There is no compelling reason to support large data spaces; it has such an impact on code for MSP430X that I really don't want to contemplate supporting it.  You can read that as "it's just not going to happen".

    0
    Comment actions Permalink

Please sign in to leave a comment.