大海3 发表于 2012-10-2 21:11:56

【求助】lpc2132中MEMMAP寄存器

下面这句不是很明白

#ifdef FLASH
MEMMAP_bit.MAP = 1;      //中断向量定义在FLASH中
#else
MEMMAP_bit.MAP = 2;      //将中断向量重新定义在RAM中
#endif

我在flash中进行仿真时,注释掉这句才能进行,不明白这是为什么?希望大家能够帮忙解释一下。下面是这个寄存器的解释,看不懂。。。

minicore 发表于 2012-10-6 12:34:04

注释掉哪句才能运行?
这个寄存器的意思是告诉ARM在中断发生的时候到哪个地方去取指令。你代码中中断向量表放的位置决定了如何设置这个寄存器。
MAP=1,在中断发生时,ARM到0x0 地址取指令,0x0地址放的是中断向量表;
MAP=2,在中断发生时,ARM到0x40000(好像是这吧,对这颗芯片不熟,反正是芯片内部RAM的空间地址),0x40000地址放的是中断向量表;

大海3 发表于 2012-10-9 15:39:21

minicore 发表于 2012-10-6 12:34 static/image/common/back.gif
注释掉哪句才能运行?
这个寄存器的意思是告诉ARM在中断发生的时候到哪个地方去取指令。你代码中中断向量表 ...

谢谢。。。。。。
页: [1]
查看完整版本: 【求助】lpc2132中MEMMAP寄存器