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