打印

请教一下合众达5509 访问sdram 的程序疑问?

[复制链接]
1377|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dram 片选ce0,4M*16
以下是部分程序:

main()
{
/*初始化CSL库*/
    CSL_init();

    /*EMIF为全EMIF接口*/
    CHIP_RSET(XBSR,0x0a01);

    /*设置系统的运行速度为144MHz*/
    PLL_config(&myConfig);

    /*初始化DSP的外部SDRAM*/
    EMIF_config(&emiffig);
    /*向SDRAM中写入数据*/
    souraddr =  (int *)0x40000;
    deminaddr = (int *)0x41000;
    while(souraddr<deminaddr)
    {
     *souraddr++ = datacount;
     datacount++ ;
    }
,,,,,,,,,,
.........


以上程序读写sdram 都是正确的 如图1
但是 如果我把字地址 改成     
souraddr =  (int *)0x200000;
deminaddr = (int *)0x201000;

memory空间数据 如图2






问题   1:  请问这是什么原因呢,如上?
问题   2 :因为sdram是4M*16的 占用了 ce0 ce1空间(好像也占用了点ce2),硬件片选是接的ce0, 当读写占用的ce1空间地址的时候  此刻emif的配置函数中 不用管ce1?ce0一直是使能的吗?
问题  3:  ce0,ce1,ce2  是不是可以同时使能呢?

QQ图片1.jpg (49.51 KB )

QQ图片1.jpg

QQ图片2.jpg (50.44 KB )

QQ图片2.jpg

相关帖子

沙发
NWPU_CHEN| | 2014-7-16 15:10 | 只看该作者
朋友好好看看《TMS320VC5509 DSP Extenal Memory Interface(EMIF) Reference Guide(SPRU670)》这个文档吧

使用特权

评论回复
板凳
zhangmangui| | 2014-7-17 23:53 | 只看该作者
你要确认SDRAM是外扩到那个CEx区的    然后确定他的起始地址和最大寻址范围
记得0x200000是不是已经到了下一个区了   这个基地址开始应该不是对SDRAM操作了吧
还有就是在CCS中要注意区分字地址和字节地址之分

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上。

28

主题

193

帖子

1

粉丝