SLAA534A June 2013 – June 2020
Some MSP family devices support multiple data and code memory models. These models differ by the allowed size of objects and pointers. The compiler uses different instructions and relocations to implement these models.
The MSP430 has only one memory model, the small memory model. In this memory model, both code and data are restricted to the lower 64 KB of memory (16-bit address space), which is all that exists on MSP430. This means that the size of both code and data pointers are 16 bits.
The MSP430X supports the MSP430 small memory model for backward compatibility and introduces several more models to take advantage of the larger memory. Code and data memory models may be set independently, except that using the small code model requires use of the small data model. The various memory models are mutually incompatible; that is, object files with differing memory models may not be linked together.
For more about memory models and placement conventions, see Section 4.4.2.1. For information about how pointers differ depending on the memory model, see Section 2.5.