xintf所在的区域是物理片内存储?地址和on-Chip Memory一起编址?
小白学的是DSP28335,对xintf有点不解:1.xintf所在的区域是物理片内存储?如果是物理存储,何必扩展RAM或者Flash?如果不是,图中又说:xintf接口与CPU某个存储空间相对应。2.地址和on-Chip Memory一起编址?图中编出的地址正好错开(图不清楚,麻烦看看28335的数据手册)其实对xintf访问外设的过程也有点不清楚,如何片内地址访问通过xintf实现对外设数据的访问?(某些资料上写设置好就自动完成,这个过程有点不解)。谢谢
是不是这样的?假如用Zone6外扩RAM(256k*16):首先接线 /XZCS6--/CS,XRD--OE,XWE0--WE,XA--A,XD--D;然后init_xintf()(用于配置时序和ram通信);接着在cmd文件中,声明一段存储空间给Zone6(这里给的地址是和on-Chip Memory统一编址的)(片内空间不一定实实在在存在,直接映射到外部ram中了,所以当访问超过256k,就会出现错误);这样就可以实现访问外部ram就像是访问片内ram了,当访问Zone6时,/XZCS6会自动拉低。。以上是个人猜测,不知对不对
xintf这是一个映射关系 也就是你对这些映射空间操作 对应着对外部扩展存储器的操作
从硬件角度出发 你对XINTF对应的zone地址操作 相应的CS会拉低
外扩的存储区就会被选中 zhangmangui 发表于 2015-4-8 22:22
xintf这是一个映射关系 也就是你对这些映射空间操作 对应着对外部扩展存储器的操作
从硬件角度出发 ...
非常专业正确的回答!
用示波器观察cs位,会被拉低,再高电平,说明对XINTF对应的zone地址操作,相应的CS会拉低;同时故意写超过外扩存储器的大小,会出现整个Zone区都被赋值,而存储器大小范围内时,则是写哪,那里就会被赋值,其他地方没变
还有个小疑问:看了个例程
Uint16 *ExRamStart = (Uint16 *)0x100000;
InitXintf16Gpio();
然后就可以*(ExRamStart + 0x040000) = 0x5555; 这样操作外扩了,但是还没有初始化xintf的时序啊,怎么可以访问呢?(看了对应的存储区,是被改写了) 虾米一代 发表于 2015-4-9 09:59
非常专业正确的回答!
用示波器观察cs位,会被拉低,再高电平,说明对XINTF对应的zone地址操作,相应的CS ...
这个初始化也可能在.GEL中完成 你找找看 两位的讨论让我获益很多,现在也在学Xintf lazyyjq 发表于 2015-8-10 08:57
两位的讨论让我获益很多,现在也在学Xintf
其实我也不懂的,还在学 虾米一代 发表于 2015-8-11 09:46
其实我也不懂的,还在学
边学边分享啊 zhangmangui 发表于 2015-8-15 21:58
边学边分享啊
是的是的 虾米一代 发表于 2015-4-9 09:59
非常专业正确的回答!
用示波器观察cs位,会被拉低,再高电平,说明对XINTF对应的zone地址操作,相应的CS ...
你好,最近也在做28335的xintf,如你所说,初始化是按照例程intxintf()做的,uint16 *strlartexram=(uint16*)0x4000,应该是对zone0进行的读写,但是程序中向这个地址对应的区域这数据,这不进去,memory中输入0x4000,实际值为0,请教下,除了外接存储器(fpga)和其他的控制引脚,别的还需要怎么做啊 流星402 发表于 2016-2-26 10:52
你好,最近也在做28335的xintf,如你所说,初始化是按照例程intxintf()做的,uint16 *strlartexram=(uint ...
检查所有的地址信号、控制信号。比较麻烦。
玄德 发表于 2016-2-26 11:09
检查所有的地址信号、控制信号。比较麻烦。
是比较麻烦,关键是系统最早是别人设计的,dsp和fpga远用了bga的封装,很多信号没法测
BGA会存在焊接问题。
本帖最后由 虾米一代 于 2016-3-15 17:08 编辑
流星402 发表于 2016-2-26 10:52
你好,最近也在做28335的xintf,如你所说,初始化是按照例程intxintf()做的,uint16 *strlartexram=(uint ...
好久以前的帖子了,搞忘了好多,这是调试好的程序,不知道有没有帮助
还有好多疑问啊,xintf不会搞
页:
[1]