论坛» 嵌入式开发» MCU

[求助]请问你知道如何在ram中调试中断?如下载地址为0x1000000

菜鸟
2007-03-14 00:35 1楼
arm本身对中断向量做了规定
reset 0x00000000
undef 0x00000004
swi 0x00000008
.......
irq 0x00000018
用jtag口调试,编译器对文件进行编译时,下载到ram调试,地址为0x100000开始,则
相应的中断向量地址变为
reset 0x1000000
undef 0x1000004
....
irq 0x1000018...
中断发生时,中断标志位产生了,也进入了中断模式,但程序好象跑飞了,那应该怎样处理? (难道必须要在地址0处建立向量表吗?如:Nor Flash等)
谢谢!
菜鸟
2007-03-14 04:32 2楼
不是必须在地址0建立向量表,可以查询一下ARM的remap机制
菜鸟
2007-03-14 05:37 3楼
看是什么片子
菜鸟
2007-03-24 22:36 4楼
在选用HY29LV160时,是选用型号是T的,还是B的?就是TOP BOOT BLOCK 还是BOTTOM BOOT BLOCK 。根据什么来选择这个?
菜鸟
2007-03-26 21:34 5楼
必须在0地址建中断向量表,这是arm体系结构决定的。楼上的T和B是flash的boot块,跟楼主问题似乎无关。
菜鸟
2007-03-26 21:55 6楼

在用过S3C44B0和LPC2000之后,我是这么理解的:

ARM核只认为中断向量在0x0地址。

MMU之类的外围逻辑,可以把ARM核对0地址的访问,转换成对其他地址的访问。这大概就是REMAP。是否支持REMAP,这个由集成了ARM核的芯片厂家决定。

把ARM核和周围的内存管理单元、中断控制单元等等分开,很多事情就好理解了。

菜鸟
2007-03-27 00:42 7楼

楼上说得不差......remap可以理解为同一个逻辑地址,对应于不同的物理存储介质。同样是访问地址0,remap之前访问的是flash,之后可能就是ram。

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]