1、同样采用的是IAR,目标芯片型号MSP430F5438
2、需要事先了解IAR的linker文件结构,不作描述,请自行参考文档《IAR C/C++ Compiler Reference Guide for Texas Instruments’MSP430 Microcontroller Family.pdf》和《IDE Project Management and Building Guide.pdf》直接点击IDE中的help栏选择即可。
3、变量定位很简单格式如下:
__no_init unsigned char XXX[50]@0x5000;
4、函数定位方法很多,这里给出常用的一种:
1)修改xcl文件中添加-P(CODE)MyFuncSeg=25B00-26000
2)函数声明:void Function(void)@"MyFuncSeg";函数形式不定,可以有参数也可以无参数
5、编译即可,无其他特别说明。
STEP1:
STEP2:
注意变量定位需要使用__no_init,不可省略,且未被初始化的变量记得在程序开始,自行初始化一下,未初始化的数据是随机的。
我这里使用一个排序的函数测试,定位的地址正确,可以通过仿真看出。
都是基础知识的分享,后面会分享一个高级的应用,如何实现中断向量表重定位,可以Boot程序和App程序分别使用中断相互不影响。