QNX---memtesterツール使用
2518 ワード
memtesterのダウンロードアドレス:http://pyropus.ca/software/memtester/ソースインストールパッケージなどがあります.QNXで使用されているバージョンは4.3.0です.
ソースをダウンロードしたらtestsを含むソースファイルを抽出します.c memtester.cなど、いくつかのパラメータを変更した後、コンパイルにより実行可能なバイナリファイルを生成します.
コマンドの実行
# memtest 1M 1 &
シリアルポートスーパーターミナル出力:memtester version 4.3.0(32-bit)Copyright(C)2001-2012 Charles Cazabon.Licensed under the GNU General Public License version 2 (only). pagesize is 4096 pagesizemask is 0xfffff000 want 1MB (1048576 bytes) got 1MB (1048576 bytes), trying mlock ...locked. Loop 1/1: Stuck Address : ok Random Value : ok Compare XOR : ok Compare SUB : ok Compare MUL : ok Compare DIV : ok Compare OR : ok Compare AND : ok Sequential Increment: ok Solid Bits : ok Block Sequential : ok Checkerboard : ok Bit Spread : ok Bit Flip : ok Walking Ones : ok Walking Zeroes : ok
Done.
不要なテスト項目についてはmemtesterを変更することができます.cファイルは、いくつかの内容を注釈して再コンパイルすればよい.次のようになります.
ソースをダウンロードしたらtestsを含むソースファイルを抽出します.c memtester.cなど、いくつかのパラメータを変更した後、コンパイルにより実行可能なバイナリファイルを生成します.
コマンドの実行
# memtest 1M 1 &
シリアルポートスーパーターミナル出力:memtester version 4.3.0(32-bit)Copyright(C)2001-2012 Charles Cazabon.Licensed under the GNU General Public License version 2 (only). pagesize is 4096 pagesizemask is 0xfffff000 want 1MB (1048576 bytes) got 1MB (1048576 bytes), trying mlock ...locked. Loop 1/1: Stuck Address : ok Random Value : ok Compare XOR : ok Compare SUB : ok Compare MUL : ok Compare DIV : ok Compare OR : ok Compare AND : ok Sequential Increment: ok Solid Bits : ok Block Sequential : ok Checkerboard : ok Bit Spread : ok Bit Flip : ok Walking Ones : ok Walking Zeroes : ok
Done.
不要なテスト項目についてはmemtesterを変更することができます.cファイルは、いくつかの内容を注釈して再コンパイルすればよい.次のようになります.
struct test tests[] = {
{ "Random Value", test_random_value },
{ "Compare XOR", test_xor_comparison },
{ "Compare SUB", test_sub_comparison },
{ "Compare MUL", test_mul_comparison },
{ "Compare DIV",test_div_comparison },
{ "Compare OR", test_or_comparison },
{ "Compare AND", test_and_comparison },
{ "Sequential Increment", test_seqinc_comparison },
{ "Solid Bits", test_solidbits_comparison },
{ "Block Sequential", test_blockseq_comparison },
{ "Checkerboard", test_checkerboard_comparison },
{ "Bit Spread", test_bitspread_comparison },
{ "Bit Flip", test_bitflip_comparison },
{ "Walking Ones", test_walkbits1_comparison },
{ "Walking Zeroes", test_walkbits0_comparison },
#ifdef TEST_NARROW_WRITES
{ "8-bit Writes", test_8bit_wide_random },
{ "16-bit Writes", test_16bit_wide_random },
#endif
{ NULL, NULL }
};