web-dev-qa-db-ja.com

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

組み込みデバイスを持っています。これは、ARMベースで、Linux 2.6.31で、256 MBのRAMを搭載しています。

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

注意:

今、学期があります。 Ulrich Dangel(下)からの提案の後でそれを得た。

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

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

20
Ankur Agarwal

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

Linux(投稿でLinuxについて言及しました)内からテストを実行する場合は、 memtestermemtest suite を確認してください。どちらもarmで動作します。はじめに memtester を使用する必要があります。基本的には望みどおりの動作をするためです。

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

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

21
Ulrich Dangel