QNX---memtesterツール使用


memtesterのダウンロードアドレス:http://pyropus.ca/software/memtester/ソースインストールパッケージなどがあります.QNXで使用されているバージョンは4.3.0です.
ソースをダウンロードしたらtestsを含むソースファイルを抽出します.c memtester.cなど、いくつかのパラメータを変更した後、コンパイルにより実行可能なバイナリファイルを生成します.
QNX--- memtester 工具使用_第1张图片
コマンドの実行
# 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 }
};