DM 6437-読み書きSRAMテストプロセス
ハードウェアプラットフォーム:DM 6437 EVM
デバッグツール:CCS 3.3
SRAM読み書きプログラムの作成:
(volatile UIT 32*)i:iを強制的に可変ポインタに変換し、startを指し、startはSRAMに書き込まれたヘッダアドレスである.
*(volatile UIT 32*)i:iがアドレスを指す値を書き換えます.
test関数の作成:
主関数の記述:
正常な動作:
失敗しやすいポイント:
①はい.cファイルでprintf関数を使用する場合はstdioを付けることに注意する.h
②テスト時にEVMボードのJP 2ジャンパーキャップをSRAMにジャンプして、SRAMのテストができます.
デバッグツール:CCS 3.3
SRAM読み書きプログラムの作成:
Uint32 memfill_print( Uint32 start, Uint32 len, Uint32 val )
{
Uint32 i;
Uint32 end = start + len;
Uint32 errorcount = 0;
/* Write Pattern */
for ( i = start; i < end; i += 4 )
{
*( volatile Uint32* )i = val;
}
// ,
/* Read Pattern */
for ( i = start; i < end; i += 4 )
{
if ( *( volatile Uint32* )i != val )
{
errorcount++;
break;
}
// ,
printf( "%x
",*( volatile Uint32* )i );
}return errorcount;
}
(volatile UIT 32*)i:iを強制的に可変ポインタに変換し、startを指し、startはSRAMに書き込まれたヘッダアドレスである.
*(volatile UIT 32*)i:iがアドレスを指す値を書き換えます.
test関数の作成:
Int16 sram_test_1( void )
{
Uint32 errors = 0;
Uint32 base = EMIF_CS2_BASE; // evmdm6437.h
// #define EMIF_CS2_BASE 0x42000000
Uint32 size = 0x00000100;
/* Initialize SRAM */
sram_init( ); //sram
/* Data tests */
memfill_print( base, size, 0xFFFAAAAA );
}
主関数の記述:
void main( void )
{
/* Initialize BSL */
EVMDM6437_init( );
sram_test_1( );
printf( "
***ALL Tests Passed***
" );
}
正常な動作:
失敗しやすいポイント:
①はい.cファイルでprintf関数を使用する場合はstdioを付けることに注意する.h
②テスト時にEVMボードのJP 2ジャンパーキャップをSRAMにジャンプして、SRAMのテストができます.