在SRAM实验中能不能这样写 用于测试

2019-07-20 09:36发布




        LCD_ShowString(x,y,239,y+16,16,"Ex Memory Test:   0KB");
        //每个地址写入一个数据,总共写入1024*1024个数据,刚好是1M字节
        temp =0;
        for(i=0;i<1024*1024;i++)
        {
                FSMC_SRAM_WriteBuffer(&temp,i,1);
                temp+=1;
        }
        //依次读出之前写入的数据,进行校验       
        for(i=0;i<1024*1024;i++)
        {
                  FSMC_SRAM_ReadBuffer(&temp,i,1);
                if(temp != i)
                {
                    delay_ms(10); // 如果进入这个条件,说明写入和读出的数据不一致,有异常
                }
        }       



如果把代码改成上面的,调试发现能进入异常条件中,即写入和读出的数据不一致,此时i=256
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
hehelloook
1楼-- · 2019-07-21 11:11
菜鸟一个了,大家见笑了,个人也觉得是笑话,u8 temp=0; 哈哈

现在一个疑问请教,在SRAM中定义:u32 testsram[250000] __attribute__((at(0X68000000)));//测试用数组

是不是已经可以说明数组testsram中的内容已经在SRAM中了,如果这样的话,那么读和写SRAM的功能是不是不需要了,即testsram就可以像在RAM中使用一样?

以下函数多余?
void FSMC_SRAM_WriteBuffer(u8* pBuffer,u32 WriteAddr,u32 n)
void FSMC_SRAM_ReadBuffer(u8* pBuffer,u32 ReadAddr,u32 n)

xkwy
2楼-- · 2019-07-21 16:51
 精彩回答 2  元偷偷看……
zhangyan8600
3楼-- · 2019-07-21 20:39
正点原子 发表于 2016-1-18 22:05
[mw_shl_code=c,true]//SDRAM内存测试            
void fsmc_sram_test(u16 x,u16 y)
{  

我在用STM32CUBEMX生成的代码中加入以下这句后,提示“could not stop cortex-m device”
        *(vu32*)(Bank5_SDRAM_ADDR+i)=temp;
  在网上找一些方法尝试解决不了问题,删除这句之后就正常了,这个是什么原因?

一周热门 更多>