官方工程代码SDRAM,想请教下这个是代码问题还是硬件问题?

2019-07-20 02:53发布

    2,标准例程-HAL库版本   ->  实验14 SDRAM实验  
    指示将LCD相关代码注释掉

串口答应数据:
testsram[5439]:65535
testsram[5440]:65535
testsram[5441]:65535
testsram[5442]:65535
testsram[5443]:65023
相关代码:

        Stm32_Clock_Init(160,5,2,4);                      //设置时钟,400Mhz
        delay_init(400);                                                //延时初始化
        uart_init(115200);                                                //串口初始化
        LED_Init();                                                                //初始化LED
        KEY_Init();                                                                //初始化按键
        SDRAM_Init();                                   //初始化SDRAM
   // LCD_Init();                                     //初始化LCD
    POINT_COLOR=RED;                                //设置字体为红 {MOD}
   // LCD_ShowString(30,50,200,16,16,"APOLLO STM32H7");       
//        LCD_ShowString(30,70,200,16,16,"SDRAM TEST");       
//        LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
//        LCD_ShowString(30,110,200,16,16,"2017/8/12");   
//        LCD_ShowString(30,130,200,16,16,"KEY0:Test Sram");
//        LCD_ShowString(30,150,200,16,16,"KEY1:TEST Data");
        POINT_COLOR=BLUE;       //设置字体为蓝 {MOD}

    for(ts=0;ts<250000;ts++)
        {
                testsram[ts]=ts;//预存测试数据         
          }
    while(1)
    {
                key=KEY_Scan(0);//不支持连按       
                if(key==KEY0_PRES)fsmc_sdram_test(30,170);//测试SRAM容量
                else if(key==KEY1_PRES)//打印预存测试数据
                {
                        for(ts=0;ts<250000;ts++)
                        {
                        //        LCD_ShowxNum(30,190,testsram[ts],6,16,0);//显示测试数据       
                                printf("testsram[%d]:%d ",ts,testsram[ts]);
                        }
                }else delay_ms(10);   
                i++;
                if(i==20)//DS0闪烁.
                {
                        i=0;
                        LED0_Toggle;
                }
        }
}



代码中  testsram[ts]=ts;//预存测试数据   和打印数据   testsram[5443]:65023  明显 不相等  ,想问价原子 是否是我的板子硬件有问题?一直在移植UBOOT总是不成功,想用官例测试下内存但是答应数据是错的这是为啥,请原子帮忙测试下这个例子是否和我的打印结果一致。如果不一致可以断定是板子硬件问题了吧!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
Quency
2019-07-21 10:40
正点原子 发表于 2019-3-27 02:15
是我们开发板么?
下载例程,不做修改,测试正常么?

SDRAM Capacity:16KB
SDRAM Capacity:32800KB
SDRAM Capacity:32816KB
SDRAM Capacity:32832KB
SDRAM Capacity:32848KB
SDRAM Capacity:32864KB
SDRAM Capacity:32880KB
SDRAM Capacity:32896KB
SDRAM Capacity:32912KB
SDRAM Capacity:32928KB
SDRAM Capacity:32944KB
SDRAM Capacity:32960KB
SDRAM Capacity:32976KB
SDRAM Capacity:32992KB
SDRAM Capacity:33008KB
SDRAM Capacity:33024KB
SDRAM Capacity:33040KB
SDRAM Capacity:33056KB
SDRAM Capacity:33072KB
SDRAM Capacity:33088KB
SDRAM Capacity:33104KB
SDRAM Capacity:33120KB
SDRAM Capacity:33136KB
SDRAM Capacity:33152KB
SDRAM Capacity:33168KB
SDRAM Capacity:33184KB

、、、、、、、、、、、
、、、、、、、、、、、
、、、、、、、、、、、
SDRAM Capacity:65360KB
SDRAM Capacity:65376KB
SDRAM Capacity:65392KB
SDRAM Capacity:65408KB
SDRAM Capacity:65424KB
SDRAM Capacity:65440KB
SDRAM Capacity:65456KB
SDRAM Capacity:65472KB
SDRAM Capacity:65488KB
SDRAM Capacity:65504KB
SDRAM Capacity:65520KB
SDRAM Capacity:65536KB

容量显示为原来的2倍,读取的测试数据也不对

testsram[0]:2048
testsram[1]:2048
testsram[2]:2050
testsram[3]:2051
testsram[4]:2052
testsram[5]:2053
testsram[6]:2054
testsram[7]:2055
testsram[8]:2056
testsram[9]:2057
testsram[10]:2058
testsram[11]:2059
testsram[12]:2060
testsram[13]:2061
testsram[14]:2062
testsram[15]:2063
testsram[16]:2064
testsram[17]:2065
testsram[18]:2066
testsram[19]:2067
testsram[20]:2068
testsram[21]:2069
testsram[22]:2070
testsram[23]:2071
testsram[24]:2072
testsram[25]:2073
testsram[26]:2074
testsram[27]:2075
testsram[28]:2076

用的SDRAM的芯片是IS42S16160J,板子自己做的,请问原子哥,这是什么原因造成的?软件还是硬件?把原子的例程注释了部分代码,修改个别参数之后下载测试的。

一周热门 更多>