|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
关于5509访问外部SDRAM |
作者:game2004 栏目:DSP技术 |
本人正在学习TMS320C5509的EVM板,其他外设都能用,就是外部的SDRAM好想访问不到。我在ccs里面的dsp/bios下的mem设置了外部SDRAM的地址0x40000~0x400000,EMIF里面也设置了ce0空间使用16bit的SDRAM。cmd文件里面已经把.bss段映射到外部SDRAM的地址。用的SDRAM芯片是MT48LC4M16,4M x16bit的。 看MT48LC4M16的pdf文件,它的行列地址是复用的,但是dsp的14条地址线是直接连接到SDRAM的地址线上的(如果不复用,最多寻址空间就为64k)可能问题就出在这里,不能直接对它寻址。希望高手们帮忙看看,我已经快疯掉啦,这个问题已经困扰了我几天了。谢谢~~ |
2楼: | >>参与讨论 |
作者: iversonma 于 2006/9/2 13:55:00 发布:
不能用具体是个怎么不能用 gel文件修改以后直接在ccs里面就可以简单检查SDRAM的功能。 |
3楼: | >>参与讨论 |
作者: game2004 于 2006/9/2 22:31:00 发布:
回 我将.bss段对应我设置的外部SDRAM地址,然后编译,编译通过,再load program,运行就出错了。也不知道是什么错误,然后它强制中止硬件仿真。 但是我把程序写在内部的ram就可以成功运行。 |
4楼: | >>参与讨论 |
作者: game2004 于 2006/9/2 22:41:00 发布:
再问 还有,ram如果超过64k,是否要分页访问?要编程序还是器件在硬件方面会自动翻页? |
5楼: | >>参与讨论 |
作者: iversonma 于 2006/9/3 12:19:00 发布:
不能load说明肯定是硬件出了问题 在MEMORY里面修改数据看一下是否正常 |
6楼: | >>参与讨论 |
作者: game2004 于 2006/9/3 21:27:00 发布:
能load,但是运行时程序没反应,停止时出现错误 编程序试过,整片SDRAM读写都正常,就是将它映射到.bss段时,运行程序,然后按中止按钮时就出现错误。 还有一个搞不懂的问题,就是写SDRAM一次最多写到64k,我就是用以64k为单位,一块一块的从0x40000到0x400000进行读写测试,结果读写正常。但是用怎样的方法才可以一次访问超过64k的数据呢? 我用data_section的方法定义一个x[]数组,初始地址对应的是0x40000,这样读写这个数组,最多能访问128K,比我用*(int *)(地址)的访问方法多出一倍,为什么? iversonma,是否能加你qq说?或者你加我qq:10455090 ,谢谢~ |
7楼: | >>参与讨论 |
作者: timjoan 于 2006/9/4 12:28:00 发布:
请教game2004 game2004,你好, 我也遇到了外部的DRAM无法读写,显示的都是0XFFFF,你说你先也无法读写外部的SDRAM,后来是怎么弄好的啊,谢谢指教。 |
8楼: | >>参与讨论 |
作者: fatbaby 于 2006/9/4 13:16:00 发布:
回timjoan dsp/bios里的EMIF那里的设置要设置好,假如你有4Mx16bit的SDRAM,分配在 ce0和ce1空间,那ce0根ce1那里都设置成32bit的同步ram。然后在SDRAM页面 把“initalization”(好像是)这个选项选上就可以了。读写是没问题的。 |
9楼: | >>参与讨论 |
作者: game2004 于 2006/9/4 13:23:00 发布:
回timjoan dsp/bios里的EMIF那里的设置要设置好,假如你有4Mx16bit的SDRAM,分配在 ce0和ce1空间,那ce0根ce1那里都设置成32bit的同步ram。然后在SDRAM页面 把“initalization”(好像是)这个选项选上就可以了。读写是没问题的。 |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |