FLASH 0x30002000
{
FLASH 0x30002000
{
head.o (BOOT,+First)//启动代码,执行remap
* (+RO,+RW,+ZI)
}
32bitRAM 0x00000000
{
int.o (INT,+First) //异常中断向量表
}
}
存储器是这样分布的:FLASH 20000000 SDRAM30000000,启动的时候地址0指向FLASH
我想问的是:在AXD load image的时候,int.o被放到哪里去了,因为这个时候0是FLASH。
但我执行remap之后(把0指向3000000),int.o马上被放到30000000了,执行remap之前,0地址还是没有东西的。这些都可以从AXD的内存观察。
请解释一下,load image的时候int.o被放在哪里了?以及为什么remap执行之后(几乎是立马触发),int.o被放到30000000,也就是地址0了。
或者可以解释一些ADS的调试原理
谢谢