发 帖  
原厂入驻New
SDRAM测试异常,256M只能测到32M
185 SDRAM STM32
分享
本帖最后由 jf_82872908 于 2020-8-27 12:39 编辑

现象:
                设计PCB,展开SDRAM,出现异常现象,初始化之后,运行测试程序,SDRAM有256Mb大小,测试到32Mb就停止了。把测试停止之后的地址作为开始地址进行再一次测试,无响应。SDRAM的起始地址为0xC000 0000,异常地址在0xC1FFFFFC,大家知道这是怎么回事吗?什么原因?
代码:
外部的定义
#define SDRAM_SIZE((uint32_t)0x1000 0000)
#define SDRAM_SIZE_MB((uint32_t)0x100)
#define RT_tiCK_PER_SECOND 1000 测试代码: int sdram_test1(void)
{
    uint32_t i = 0;
    uint32_t start_time = 0;
    volatile uint32_t time_cast = 0;
    char data_width = 4;
    uint32_t data = 0;
   
    rt_kprintf(“正在写入%d MB-%dbytes数据,正在等待... \ n”,SDRAM_SIZE_MB,SDRAM_SIZE);
   
    start_time = rt_tick_get(); //获取当前时钟
    为(i = 0; i <SDRAM_SIZE / data_width,i ++)
    {
        *(_ IO uint32_t *)(SDRAM_BANK_ADDR + i * data_width)=(uint32_t)0x5555 5555;
        
        数据= *(__ IO uint32_t *)(SDRAM_SIZE_ADDR + i *数据宽度);
        IF(data!= 0x55555555)
        {
            rt_kprintf(“ SDRAM测试失败,Data:%d \ n”,data);
            打破;
        }
        time_cast = rt_tick_get()-start_time;
        if(((i + 1)* data_width)%(1024 * 1024)== 0)
        {
            rt_kprintf(“%d Mb Data Checked!Addr:0x%X,count / sum:%d /%d,获取数据: 0x%X成本时间:%d。%03dS。\ n“,(int)((i + 1)* data_width / 1024/1024),(SDRAM_BANK_ADDR + i * data_width),i + 1,SDRAM_SIZE / data_width,data ,time_cast / RT_TICK_PER_SECOND,
                        time_cast%RT_TICK_PER_SECOND /(((RT_TICK_PER_SECOND * 1 + 999)/ 1000));
        }
        
        if(i> = SDRAM_SIZE / data_width)
        {
            rt_kprintf(“ SDRAM测试成功!\ n”);
            打破;
        }
    }
    返回RT_EOK;
}
MSH_CMD_EXPORT(sdram_test1,SDRAM测试1)控制台现象:
\ | /
-RT-线程操作系统
/ | \ 4.0.2 build 2020
年8月27 日-2019年rt-thread团队
sdram初始化成功,映射为0xC0000000,大小为256 Mb,数据宽度为32系统调度程序启动
主线程工作...
msh /> sdram_test1
编写256 Mbytes-268435456字节数据,正在等待。...
1 Mb数据已检查!地址:0xC00FFFFC,计数/总和:262144/67108864,获取数据:0x55555555花费时间:0.084S。
2 Mb数据已检查!地址:0xC01FFFFC,计数/总和:524288/67108864,获取数据:0x55555555花费时间:0.177S。
已检查3 Mb数据!地址:0xC02FFFFC,计数/总和:786432/67108864,获取数据:0x55555555花费时间:0.270S。
已检查4 Mb数据!地址:0xC03FFFFC,计数/总和:1048576/67108864,获取数据:0x55555555花费时间:0.363S。
已检查5 Mb数据!地址:0xC04FFFFC,计数/总和:1310720/67108864,获取数据:0x55555555花费时间:0.457S。
已检查6 Mb数据!地址:0xC05FFFFC,计数/总和:1572864/67108864,获取数据:0x55555555花费时间:0.550S。
已检查7 Mb数据!地址:0xC06FFFFC,计数/总和:1835008/67108864,获取数据:0x55555555花费时间:0.643S。
已检查8 Mb数据!地址:0xC07FFFFC,计数/总和:2097152/67108864,获取数据:0x55555555花费时间:0.736S。
已检查9 Mb数据!地址:0xC08FFFFC,计数/总和:2359296/67108864,获取数据:0x55555555花费时间:0.830S。
已检查10 Mb数据!地址:0xC09FFFFC,计数/总和:2621440/67108864,获取数据:0x55555555花费时间:0.923S。
已检查11 Mb数据!地址:0xC0AFFFFC,计数/总和:2883584/67108864,获取数据:0x55555555花费时间:1.016S。
已检查12 Mb数据!地址:0xC0BFFFFC,计数/总和:3145728/67108864,获取数据:0x55555555花费时间:1.109S。
已检查13 Mb数据!地址:0xC0CFFFFC,计数/总和:3407872/67108864,获取数据:0x55555555花费时间:1.203S。
已检查14 Mb数据!地址:0xC0DFFFFC,计数/总和:3670016/67108864,获取数据:0x55555555花费时间:1.296S。
15 Mb数据已检查!地址:0xC0EFFFFC,计数/总和:3932160/67108864,获取数据:0x55555555花费时间:1.389S。
已检查16 Mb数据!地址:0xC0FFFFFC,计数/和:4194304/67108864,获取数据:0x55555555花费时间:1.483S。
已检查17 Mb数据!地址:0xC10FFFFC,计数/总和:4456448/67108864,获取数据:0x55555555花费时间:1.576S。
已检查18 Mb数据!地址:0xC11FFFFC,计数/总和:4718592/67108864,获取数据:0x55555555花费时间:1.669S。
已检查19 Mb数据!地址:0xC12FFFFC,计数/总和:4980736/67108864,获取数据:0x55555555花费时间:1.763S。
已检查20 Mb数据!地址:0xC13FFFFC,计数/总和:5242880/67108864,获取数据:0x55555555花费时间:1.856S。
已检查21 Mb数据!地址:0xC14FFFFC,计数/总和:5505024/67108864,获取数据:0x55555555花费时间:1.949S。
22 Mb数据已检查!地址:0xC15FFFFC,计数/总和:5767168/67108864,获取数据:0x55555555花费时间:2.043S。
已检查23 Mb数据!地址:0xC16FFFFC,计数/总和:6029312/67108864,获取数据:0x55555555花费时间:2.136S。
已检查24 Mb数据!地址:0xC17FFFFC,计数/总和:6291456/67108864,获取数据:0x55555555花费时间:2.229S。
已检查25 Mb数据!地址:0xC18FFFFC,计数/总和:6553600/67108864,获取数据:0x55555555花费时间:2.323S。
已检查26 Mb数据!地址:0xC19FFFFC,计数/总和:6815744/67108864,获取数据:0x55555555花费时间:2.416S。
已检查27 Mb数据!地址:0xC1AFFFFC,计数/总和:7077888/67108864,获取数据:0x55555555花费时间:2.509S。
已检查28 Mb数据!地址:0xC1BFFFFC,计数/总和:7340032/67108864,获取数据:0x55555555花费时间:2.603S。
已检查29 Mb数据!地址:0xC1CFFFFC,计数/和:7602176/67108864,获取数据:0x55555555花费时间:2.696S。
30 Mb数据已检查!地址:0xC1DFFFFC,计数/和:7864320/67108864,获取数据:0x55555555花费时间:2.789S。
已检查31 Mb数据!地址:0xC1EFFFFC,计数/总和:8126464/67108864,获取数据:0x55555555花费时间:2.883S。
已检查32 Mb数据!地址:0xC1FFFFFC,计数/总和:8388608/67108864,获取数据:0x55555555花费时间:2.976S。



附件为电路连接。
0
PCB_CONNECT.JPG
奖励13积分
2020-8-27 10:53:20   评论 分享淘帖 邀请回答

相关问题

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表