转自:http://blog.sina.com.cn/s/blog_9e358f6d0102v5g8.html
在TI给的28335例程Example_2833xCodeRunFromXintf中,这个例子的目的是将定时器0和定时器1的中断服务函数的代码从SARAM的L1区搬运到外扩SRAM(ZONE7)上运行,28335有3个定时器Timer0,Timer1,Timer2,其中只有Timer0经过PIE,其他两个定时器中断直接与CPU相连,如下图
程序中将Timer0和Timer1的中断服务函数的代码搬运到外扩的SRAM上运行,Timer3的中断服务函数依然在片上SARAM上运行,Timer3作为比较,看看Timer0和Timer1的中断服务函数是否在外扩SRAM上运行正常。在程序的CMD链接文件中有如下的代码:
0x200000正好是xintffuncs段的起始地址(因为没有别的段被连接到ZONE7A里)
这里需要主要一个问题LOAD =RAML1表示加载地址是RAML1(SARAM的L1区),由于链接到RAML1区的不止一个段,所以直到0x00970A我们才找到XintffuncsLoadStart和XintffuncsLoadEnd(RAML1区的起始地址是0x009000)