网站公告列表

  没有公告

加入收藏
设为首页
联系本站
您现在的位置: AnalogCN安诺电子 >> 新闻 >> ADI问题解答 >> 新闻正文
  不解的SDRAM写操作?           ★★★ 【字体:
不解的SDRAM写操作?
作者:佚名    新闻来源:Internet    点击数:    更新时间:2008-1-7    

void Fill_Mem()
{
    short i;
    
    for(i=0; i<250; i++)
    {
    test_buffer_three[i] = i;
    }
     for(i=0; i<20; i++)
       {
       test_buffer_two[i] = i+5;                     
       }

    
}



不解的SDRAM写操作??
我用的BF561,外部SDRAM用的MT48LC8M32(32MBYTE的空间)
按地址分成了四个bank,
   MEM_SDRAM_BANK0         { TYPE(RAM) START(0x00000004) END(0x007fffff) WIDTH(8) }
   MEM_SDRAM_BANK1         { TYPE(RAM) START(0x00800000) END(0x00ffffff) WIDTH(8) }
   MEM_SDRAM_BANK2         { TYPE(RAM) START(0x01000000) END(0x017fffff) WIDTH(8) }
   MEM_SDRAM_BANK3         { TYPE(RAM) START(0x01800000) END(0x01ffffff) WIDTH(8) }

就上面一段简单的代码,数组test_buffer_three[250]放在bank3,数组test_buffer_two[250]放在bank2,(用section操作)

但是执行完上面的写操作后,test_buffer_three数组的前20项却变成了0x05,0x06,0x07...0x13

按我的想法应该是test_buffer_three所有项被赋成0x00,0x01,0x02,0x03..........
test_buffer_two的前20项被赋成0x05,0x06,0x07....0x13.


test_buffer_three怎么会随着test_buffer_two的赋值而变化????

----------------------------------------------------------------------------

首先你在ldf文件有没有定义这两个数组;
然后你在看看你这两个数组是否在bank2和bank3的地址范围内;
最后单步执行看一下。

-----------------------------------------------------------------------------

非常感谢

ldf文件是分配external memory的吧


数组是在sml3库项目中用section关键字定义的

-----------------------------------------------------------------------------

确定两个数组分别在bank2和bank3地址范围内。


肯定就是通过单步执行的,我才看出蹊跷的阿。。。。

-----------------------------------------------------------------------------

ldf里面怎么能定义数组,ldf文件只是分配存储器空间的阿

-----------------------------------------------------------------------------

这么小的数组定义在堆或栈上就可以了呀,如果实在要用的话,你定义section后,在ldf文件中必须要有相应的INPUT_SECTIONS($OBJECTS(test_buffer_two))之类,否则还是不行的

新闻录入:admin    责任编辑:admin 
  • 上一篇新闻:

  • 下一篇新闻:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    关于GUI
    blackfin toolchain 安装
    关于BF532驱动LCD
    一般在bf533上面做mpeg4的方
    关于ADSP-BF533-EZLITE评估板
    bf533 ezkit lite 跑得很慢么
    如何在uClinux下使用汇编语言
    flash programer问题
    printf( "\n test printf!\n
    当我关断放大器的电源时,其
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    版权所有:AnalogCN安诺电子 湘ICP备06016315号