ARMベースのシステムでRAMのデータ破損をテストするにはどうすればよいですか?


20

組み込みデバイスがあります。Linux 2.6.31を搭載したARMベースで、256 MBのRAMが搭載されています。

デバイスのRAMのデータ破損をテストする最も効果的な方法について、いくつかのアイデア/ヒントを得たいと思いました。誰かが提案できるテスト/ソフトウェアはありますか?

注意:

私は今メメスターを持っています。Ulrich Dangel(下)からの提案の後、私はそれを得ました。

またmtest、今はubootからセットアップしました。

私が使用できる他のテスト/アプローチはありますか?


2
これは、x86ではなくARM CPUであることに注意してください。残念ながら、この場合Memtest86 +は機能しません。
レナン

メメスターをもらった。私が使用できる他のテスト/アプローチはありますか?
アンクルアガルワル

1
@abc他に何が欲しい?これらの方法では目的の結果が得られない場合、他の問題があると思います。mtest基本的にmemtest86 +と同じです。基本的に異なるオプションがあり、Linuxのようなオペレーティングシステムからメモリテストを実行します(これはmemtester物理領域全体のテストに問題があるかもしれません)。また、あなたのメモリ(テストするために、いくつかのミニシステム(uboot)を使用することができますmtest
ウルリッヒDangel

プロセッサはマーベル製ですか?marvellネットワークプロセッサについても、あなたと同じ構成(ARM / 256MB RAM / Linux 2.6.31)と同じ質問があります。
ティム・ウー

ここで同様のスタックオーバーフローの質問が。ここでのテストはすべて、いくつかの問題を見つけることができます。彼らはすべての問題を見つけるわけではなく、実際、これを行うのは非常に困難です。これを検証できるのは、非常に優れたボードシミュレーションツールとモデリングのみです。ソフトウェアではありません。これが行われた場合、唯一の問題はDDRチップ(または場合によってはホストコントローラー)になり、memtestermtestがこれらを見つける可能性があります。しかし、もし彼らがすべてがうまくいっていると言ったら、DDRの問題を100%除外しないでください。
アートレスノイズ14

回答:


21

メモリをテストするための一般的な解決策は、特定のパターンをメモリに書き込み、0xFFFFFFFF後で読み取り、結果を比較することです。もちろん、パターンを変更して問題を発見できます。また、memtest86+ランダムパターンを生成し、メモリへの書き込みに使用する方向を変更するようなソリューションもあります。memtest86で使用されるアルゴリズムの詳細については、技術ページをご覧ください。この投稿で提供されるすべてのソリューションは、基本的に同じ基本的な考え方を使用しています。

Linux内からテストを実行する場合(投稿でLinuxについて言及しました)は、memtestermemtest スイートを見てください。どちらもarmで動作します。基本的にあなたが望むことを正確に行うので、始めるには、memtesterを使用する必要があります。

Linux内からメモリをテストすることには、カーネルもメモリを必要とするため、実際にすべての物理メモリをテストできないなどの欠点があります。uboot(Linuxカーネルよりもはるかに小さい)でメモリをテストするには、統合されたmtestコマンドを見てください。アドレス範囲、パターン、および反復を指定できます。ではMTESTあなたはオペレーティングシステムに依存せずに、かなり広範なテストを行うことができるはず。有効なメモリ範囲を使用していることを確認する必要があります。そうしないと、ubootメモリ領域が上書きされる可能性があります。

mtestが提供するテストで十分でない場合は、もちろんubootを拡張し、追加のメモリテスト機能をubootに統合できます。


了解しました。他にできるテストはありますか?
アンクルアガルワル

1
私が試すことができる他のテストアプローチはありますか?ubootからRAMをテストすることを考えています。
アンクルアガルワル

@abc [OK]を私はuboots MTESTコマンドに関する注意を追加
ウルリッヒDangel

1
私は、ubootコマンドを使用して開始し、現在、私はそのメモリ表示ubootコマンドを見ていますと、途中で立ち往生bist > md.w 0x00000023 10 00000023:
はAnkur Agarwalさん

u-bootは2つの異なるmtestをサポートしています。CONFIG_SYS_ALT_MEMTESTでコンパイルして、デフォルトよりも広範なメモリテストを行います。
m__
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.