📄 eeprom_test.c
字号:
#include "stdio.h"
#include "davincievm_eeprom.h"
Uint8 buffer[EEPROM_PAGE_SIZE*4];
/* ------------------------------------------------------------------------ *
* *
* EEPROM_test( ) *
* *
* ------------------------------------------------------------------------ */
Int16 eeprom_test( )
{
Int16 retcode = 0;
Uint16 i;
Uint16 pages = 4;
Uint8 *pdata;
Uint32 src, dst, len;
/* Make pattern */
pdata = ( Uint8* )buffer;
for ( i = 0 ; i < EEPROM_PAGE_SIZE * pages ; i++)
*pdata++ = i;
/* Write pattern */
for ( i = 0 ; i < pages ; i++ )
{
src = ( ( Uint32 )buffer ) + i * EEPROM_PAGE_SIZE;
dst = i * EEPROM_PAGE_SIZE;
len = EEPROM_PAGE_SIZE;
retcode |= DAVINCIEVM_EEPROM_write( src, dst, len );
DAVINCIEVM_wait( 250000 );
}
/* Make pattern */
pdata = ( Uint8* )buffer;
for ( i = 0 ; i < EEPROM_PAGE_SIZE * pages ; i++)
*pdata++ = 0;
/* Read pattern */
for ( i = 0 ; i < pages ; i++ )
{
src = i * EEPROM_PAGE_SIZE;
dst = ( ( Uint32 )buffer ) + i * EEPROM_PAGE_SIZE;
len = EEPROM_PAGE_SIZE;
retcode |= DAVINCIEVM_EEPROM_read( src, dst, len );
DAVINCIEVM_wait( 250000 );
}
/* Print & Verify pattern */
for( i = 0 ; i < EEPROM_PAGE_SIZE * pages ; i++ )
{
if ( buffer[i] != i )
{
retcode |= i | 1;
}
if ( ( i & 0x3F ) == 0x3F )
{
if ( retcode == 0 )
printf( " Page %d: PASS\n", i >> 6 );
else
printf( " Page %d: FAIL\n", i >> 6 );
}
}
return retcode;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -