The MSP430 family have (up to) 256 bytes of flash memory in an area with the name "Information Memory". If your application is made for one of the smaller MSP430 derivatives then it can be useful to place parts of the application in the "Information Memory".
You can use the quick solution Using "Function placement into named segments"
or you can use the more efficient solution Change the .xcl file.
You can either use the @-operator or the “#pragma location” directive to place a specific function in the INFO memory. It would look like:
void g(void) @ "INFO"
The above suggestion is quick and simple, but it does not allow the linker to place the code for you. To make IAR XLINK Linker optimize the placement (i.e. select and place functions to fill out the Information Memory) you need to edit (your own copy of) the .xcl file for your derivative.
(This example is based on the MSP430F1101A, Program Memory 1 kB flash, Information Memory 128 B flash, 128 B RAM.)
-Z(CODE)CODE=1080-10FF,FC00-FFDF... and save the changes.
IAR XLINK Linker will now also place CODE in the Information Memory.
( Note: If the .xcl file is not changed in any other way, then will symbols (data and/or functions) placed in the segment INFO have precedence over symbols placed in the segment CODE. The reason for this is that the -Z option for INFO is placed earlier in the .xcl file, than the -Z option for CODE.)
All product names are trademarks or registered trademarks of their respective owners.