|
SDRAM Test 8Bit Data Write Start ...[2016-10-28 07:14:41.350] // 表示写入开始
SDRAM Test 8Bit Data Begin Check ...[2016-10-28 07:14:47.760] // 6.41 表示写入 完成 用时读 开始
SDRAM Check Num = 0 [2016-10-28 07:14:53.587] // 5.827 读取数据完成, 以下类同
SDRAM Test 16Bit Data Write Start ...[2016-10-28 07:14:53.587]
SDRAM Test 16Bit Data Begin Check ...[2016-10-28 07:14:57.954] // 4.367
SDRAM Check Num = 1 [2016-10-28 07:15:02.085] // 4.131
SDRAM Test 32Bit Data Write Start ...[2016-10-28 07:15:02.085]
SDRAM Test 32Bit Data Begin Check ...[2016-10-28 07:15:04.077] // 1.992
SDRAM Check Num = 2 [2016-10-28 07:15:05.959] // 1.882
---------------------------------------------------------------------
SDRAM Test 8Bit Data Write Start ...[2016-10-29 08:00:17.771]
SDRAM Test 8Bit Data Begin Check ...[2016-10-29 08:00:24.179] // 6.408
SDRAM Check Num = 0 [2016-10-29 08:00:30.009] // 5.83
SDRAM Test 16Bit Data Write Start ...[2016-10-29 08:00:30.009]
SDRAM Test 16Bit Data Begin Check ...[2016-10-29 08:00:34.377] // 4.368
SDRAM Check Num = 1 [2016-10-29 08:00:38.456] // 4
SDRAM Test 32Bit Data Write Start ...[2016-10-29 08:00:38.456]
SDRAM Test 32Bit Data Begin Check ...[2016-10-29 08:00:40.481] // 2.025
SDRAM Check Num = 2 [2016-10-29 08:00:42.379] // 1.898
----------------------------------------------------------------------------------------
SDRAM Test 8Bit Data Write Start ...[2016-10-29 08:01:06.998]
SDRAM Test 8Bit Data Begin Check ...[2016-10-29 08:01:13.421] // 6.423
SDRAM Check Num = 6 [2016-10-29 08:01:19.247] // 5.826
SDRAM Test 16Bit Data Write Start ...[2016-10-29 08:01:19.247]
SDRAM Test 16Bit Data Begin Check ...[2016-10-29 08:01:23.615] // 4.368
SDRAM Check Num = 7 [2016-10-29 08:01:27.698] // 4.083
SDRAM Test 32Bit Data Write Start ...[2016-10-29 08:01:27.698]
SDRAM Test 32Bit Data Begin Check ...[2016-10-29 08:01:29.737] // 2.039
SDRAM Check Num = 8 [2016-10-29 08:01:31.618] // 1.881
上述就是三次的读写测试时间,你看看效果如何啊 ??
测试函数如下:
void SDRAM_Test_8bit(void)
{
uint8_t *ptrSdramAddr_8Bit = (uint8_t *)SDRAM_BASE_USER_ADDR; // 吧地址转换为指针
uint32_t ii = 0;
uint32_t jj=0;
__IO uint8_t SdramDataTest = 0 ;
ptrSdramAddr_8Bit = (uint8_t *)SDRAM_BASE_USER_ADDR; // 吧地址转换为指针
SdramDataTest = 0;
printf("SDRAM Test 8Bit Data Write Start ...\r\n");
for(ii=0;ii<0x7800000;ii++)
{
*ptrSdramAddr_8Bit = ( __IO uint8_t )(SdramDataTest);
SdramDataTest++;
ptrSdramAddr_8Bit ++;
}
SdramDataTest=0;
ptrSdramAddr_8Bit = (uint8_t *)SDRAM_BASE_USER_ADDR;
printf("SDRAM Test 8Bit Data Begin Check ...\r\n");
for(ii=0;ii< 0x7800000;ii++)
{
jj = *ptrSdramAddr_8Bit++;
SdramDataTest++;
}
printf("SDRAM Check Num = %d\r\n\r\n", OkErrCnt++);
}
void SDRAM_Test_16bit(void)
{
uint16_t *ptrSdramAddr_16Bit = (uint16_t *)SDRAM_BASE_USER_ADDR;
__IO uint32_t ii = 0;
uint16_t jj=0;
__IO uint16_t SdramDataTest = 0;
ptrSdramAddr_16Bit = (uint16_t *)SDRAM_BASE_USER_ADDR; // 吧地址转换为指针
SdramDataTest = 0;
printf("SDRAM Test 16Bit Data Write Start ...\r\n");
for(ii=0;ii<0x3C00000;ii++) // 128MByte 1024*1024*32*4 = (128MByte - 8MByte) / 2 = 0x3C00000
{
*ptrSdramAddr_16Bit = ( __IO uint16_t )(SdramDataTest);
SdramDataTest++;
ptrSdramAddr_16Bit ++;
}
SdramDataTest=0;
ptrSdramAddr_16Bit = (uint16_t *)SDRAM_BASE_USER_ADDR;
printf("SDRAM Test 16Bit Data Begin Check ...\r\n");
for(ii=0;ii< 0x3C00000;ii++)
{
jj = *ptrSdramAddr_16Bit ++;
SdramDataTest++;
}
printf("SDRAM Check Num = %d\r\n\r\n", OkErrCnt++);
}
void SDRAM_Test_32bit(void)
{
uint32_t *ptrSdramAddr_32Bit = (uint32_t *)(SDRAM_BASE_USER_ADDR); // SDRAM_BASE_USER_ADDR;
uint32_t jj=0;
__IO uint32_t ii = 0, SdramDataTest = 0;
ptrSdramAddr_32Bit = (uint32_t *)(SDRAM_BASE_USER_ADDR); // 吧地址转换为指针
SdramDataTest = 0;
printf("SDRAM Test 32Bit Data Write Start ...\r\n");
for(ii=0;ii<0x1E00000;ii++) // 128MByte 1024*1024*32*4 = (128MByte - 8MByte) / 4 = 0x1E00000
{
*ptrSdramAddr_32Bit = ( __IO uint32_t )(SdramDataTest);
ptrSdramAddr_32Bit ++;
SdramDataTest++;
}
SdramDataTest=0;
ptrSdramAddr_32Bit = (uint32_t *)SDRAM_BASE_USER_ADDR;
printf("SDRAM Test 32Bit Data Begin Check ...\r\n");
for(ii=0;ii< 0x1E00000;ii++)
{
jj = *ptrSdramAddr_32Bit++;
SdramDataTest++;
}
printf("SDRAM Check Num = %d\r\n\r\n", OkErrCnt++);
} |
|