要对LF2407A做JTAG仿真一定需要外扩SRAM吗?

[复制链接]
 楼主| herozoujie 发表于 2008-3-17 09:33 | 显示全部楼层 |阅读模式
看到有的资料上些要仿真需要外扩SRAM,我的板子上有片外扩的SRAM,但不知道会不会发生SRAM数据读写和JTAG仿真的冲突!<br /><br />另外:我用的SRAM是64K*16的,那是不是用LF2407只能访问其中的32K呢?我觉得只能访问前面的32K地址(0000H-7FFFH)&nbsp;
ainet 发表于 2008-3-17 14:17 | 显示全部楼层

-

数据和程序是由DS和PS共同控制的,与门连接,但是A15上是连了DS,也就是说低32K为程序存储区,高32K才用与数据存储区。<br /><br />以上情况至少在我买的板子上是这样的。
snakeemail 发表于 2008-3-17 14:31 | 显示全部楼层

呵呵,51单片机没有学好

  
 楼主| herozoujie 发表于 2008-3-18 09:25 | 显示全部楼层

最本质的问题是:

unsigned&nbsp;int&nbsp;*p=0x8000;<br />*p=0x1234;<br /><br />这条指令执行时A0-A15是0x8000还是0x0000?
ainet 发表于 2008-3-18 15:37 | 显示全部楼层

一点愚见,一点疑惑

首先,扩展的64k*16中的区分地址和dsp的地址定义应该是不能做比较的,因为它是由dsp外部的地址线连接的硬件情况来决定的。<br /><br />外部扩展的ram映射到data空间,所映射的地址是0x8000~0xffff,对该段地址操作将导致ds引脚发生变动,从而导致外部ram的a15为高。<br /><br />所以地址线就是1---&nbsp;----&nbsp;----&nbsp;----&nbsp;(如果仿真时是对程序存储空间进行操作,所以就不会导致ds发生变动,而是ps.<br />从而使得地址线是0---&nbsp;----&nbsp;----&nbsp;----<br /><br />至于unsigned&nbsp;int&nbsp;*p=0x8000;<br />*p=0x1234;<br /><br />个人认为,应该是对数据空间的0x8000地址进行写入操作。<br />0x8000为外部ram地址,所以ds变动,从而写入的数据为外部ram的0x8000(该地址由外部地址线路决定,与数据空间的ram地址是不可比较的)<br /><br />但是有点疑惑的就是:<br /><br />unsigned&nbsp;int&nbsp;*p=0x8000;<br />*p=0x1234;<br /><br />应该操作的就是数据空间,程序空间应该如何操作呢,io空间又该如何操作呢?<br /><br />&nbsp;<br />
 楼主| herozoujie 发表于 2008-3-19 12:58 | 显示全部楼层

同意
mr.king 发表于 2008-3-20 19:06 | 显示全部楼层

你不扩只能RAM仿真小程序,大了只好反复烧片,开发效率低

  
 楼主| herozoujie 发表于 2008-6-10 13:04 | 显示全部楼层

中断向量怎么定位?

2407的中断向量是不能重定位的,那如果我把程序定位到片外的SRAM中去了,要执行中断服务程序的话,中断向量表该分配到哪里?FLASH中的00H-3FH吗?这样要先烧写FLASH吧?能分配到片外SRAM中吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

152

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部