DeviceTreeについて

デバイスツリーリファレンス 

内容 
 1 はじめに 
 2 デバイスツリーの使い方 
 3 デバイスツリーとは 
 4 ドキュメント提案の要請 
 5 歴史 
 6 未来 
 7 デバイスツリー関連の通信  7.1 デバイスツリーのIRC 
 7.2 デバイスツリーメーリングリスト 
 7.3 コアデバイスバインディング/デバイスツリー仕様メーリングリスト 
 7.4 デバイスツリーコンパイラとツールメーリングリスト 

 8 プレゼンテーション、論文、および記事 
 9 デバイスツリーの謎 
 10 Linux特有のもの 
 11 規格 
 12 デバイスツリーのソース形式 
 13 バインディング 
 Linuxカーネルソースツリーの 14 バインディングドキュメント 
 15 Linuxカーネルソースツリーの他のドキュメント 
 16 サブシステム固有 
 17 オーバーレイ  17.1 メインラインのLinuxサポート 
 17.2 ブートローダのサポート 
 17.3 オーバーレイソースフォーマット 

 18 デバイスツリーソースの検証 
 19 ソースを.dtbにコンパイルする（FDTバイナリBLOB）  19.1 Linuxカーネルメークシステム経由  19.1.1 すべての設定済み.dtb 
 19.1.2 特定の.dtb 

 19.2 ビルドディレクトリに生成されたスクリプトを介して 

 20 FDTフォーマット 
 21 インストール 
 22 ブートローダ 
 23 起動中 
 24 デバッグ 
 25 デバッグ - ランダムなヒント 
 26 Linuxカーネルソースツリーのツール  26.1 dtc（カーネル内） 
 26.2 dtx_diff 
 26.3 dt_to_config 

 27 Linuxカーネルソースツリー外部のツール  27.1 dtc（上流プロジェクト） 
 27.2 dtsモード 
 27.3 EDK 
 27.4 fdtdump 

 28 テスト  28.1 Linuxカーネルフレームワーク 
 28.2 dtc 

 29 デバイスツリーを使用したその他のプロジェクト  29.1 BSD 
 29.2 Uブート 
 29.3 ゼファー 

 30 用語集  30.1 定義 


 前書き 

 デバイスツリーの使用法 

デバイスツリーが初めての場合は、[ デバイスツリーの使用方法]ページから始めます 。 そのページは、デバイスツリーのソースがどのように見えるかを説明しています。 それは新しいマシンのためのソースを構築することを通して歩きます。 基本的な概念を説明し、具体的な例を示し、そしていくつかの高度な機能について説明します。 

 デバイスツリーの使用状況ページは、以前devicetree.orgにありました。 

 デバイスツリーとは 

 Linuxにおけるデバイスツリーの主な目的は、発見不可能なハードウェアを記述する方法を提供することです。 この情報は、以前はソースコードでハードコードされていました。 

デバイスツリーとは何か、その利点、そして競合するソリューションについてのもう少しの背景は、 このページを見てください。 このページのコンテンツの大部分は、以前はDevice_Treeにありましたが、現在はDevice_Tree_Referenceにリダイレクトされています。 

 ドキュメントの提案を求める 

 elinux.orgのデバイスツリーに関するドキュメントについてのコメントや提案がある場合は、frowand（dot）list（at）に送信してください。gmail（dot）com 

私は現在、情報をより体系的に、より包括的に、そしてより完全な情報の索引を他の場所で利用できるようにしようとしています。 不正確、不完全、または欠落しているものについてのコメントを探しています。 私がリンクすることができるよいドキュメンテーション、チュートリアルなどへのポインターに感謝します。 

 歴史 
 デバイスツリーがどのようにLinuxに組み込まれ、どのように進化したか 

 未来 
 デバイスツリーの変化とその方向  Linux配管工会議、カーネルサミットなど 

 基本的なオーバーレイサポートを完成するために何が必要かについてのFrankの考え 

 デバイスツリー関連の通信 

 デバイスツリーIRC 

デバイスツリーのircチャンネルはfreenode.netの#devicetreeです。 

あなたはチャネルに接続している多くの人々を見つける可能性がありますが、彼らの多くは積極的にトラフィックを監視していません。 質問またはコメントが承認されるまでに数日または数週間の遅れがあるかもしれません。 
  18/28/18現在： "スパムが続いているため、すべての新しい接続が
 + R（未確認ユーザーからのメッセージをブロック）を設定しています... "

これは、 "/ join"コマンドはあなたが成功するまで成功しないことを意味します。
 freenodeであなたのニックネームを登録してください。 方法についての説明
登録するには、 https：//freenode.net/kb/answer/registrationを参照してください。


 デバイスツリーメーリングリスト 

このリストには、2014年2月までのすべてのdevicetree関連のディスカッションが含まれていました。当時、devicetree.specおよびdevicetree.compilerリストは、それらの特定のトピック分野のためのより少ない量のリストを提供するために作成されました。 

 2013年7月以降： 
  http://vger.kernel.org/vger-lists.html#devicetree
 アーカイブ： http : //www.spinics.net/lists/devicetree/
 アーカイブ： http : //dir.gmane.org/gmane.linux.drivers.devicetree


 2013年7月まで： 
  https://lists.ozlabs.org/listinfo/devicetree-discuss
 アーカイブ： https : //lists.ozlabs.org/pipermail/devicetree-discuss/
 アーカイブ： http : //news.gmane.org/gmane.linux.drivers.devicetree


  コアデバイスバインディング/デバイスツリー仕様メーリングリスト 

 2014年2月に作成されました。 

 devicetree.specリストは「コア」バインディングディスカッション用です。 サブシステム全体に影響を与えるもの、またはePAPRデバイスツリー仕様に追加することが意味をなすものの種類。 

個々のデバイスバインディングは引き続きdevicetree@vger.kernel.orgに投稿されますが、サブシステムまたは一般的なパターンに影響を与えるものはすべてこのリストに投稿する必要があります。 

 2016年4月28日以降： 

 Devicetree Specificationの作成と更新もこのリストで説明されています。 
  http://vger.kernel.org/vger-lists.html#devicetree-spec

 アーカイブ： http : //dir.gmane.org/gmane.comp.devicetree.spec
 アーカイブ： https : //www.spinics.net/lists/devicetree-spec/


 デバイスツリーコンパイラとツールメーリングリスト 

 2014年2月に作成されました。 

 devicetree.compilerリストは、dtcや他のツールに関する議論のためのものです。 

これは、dtツールのトピック（構文解析、スキーマ検証、データ形式など）を説明するためのものです。 
  http://vger.kernel.org/vger-lists.html#devicetree-compiler

 アーカイブ： https : //www.spinics.net/lists/devicetree-compiler/





  プレゼンテーション、論文、記事 

 [ デバイスツリー]のプレゼンテーション、論文、および記事のページは、トピック領域および日付ごとにまとめられています。 

 デバイスツリーの謎 

他の場所に特定の情報が見つからない場合は、 Device_Tree_Mysteriesページにある可能性があります。 

 Linux固有 

 デバイスツリーLinux 

 規格 

 devicetree.org WebサイトにあるDevicetree Specification Release 0.2 は、LinuxカーネルのePAPRに取って代わりました 。 この仕様はOSに依存しないように意図されています。  Linuxカーネルデバイスツリーメンテナは、仕様策定プロセスに積極的に参加しています。 

 Devicetree Specification は今後も更新されます。 

 Open Power Foundation Linux on Powerアーキテクチャプラットフォームリファレンス（LoPAPR）、v1.1、2016年3月24日 
ソース： https : //members.openpowerfoundation.org/document/dl/469 

 組み込み電源アーキテクチャプラットフォーム要件（ePAPR）v1.1に関するPower.org標準 
ソース： https : //www.power.org/documentation/power-org-standard-for-embedded-power-architecture-platform-requirements-epapr-v1-1-2/ 

 デバイスツリーのソース形式 
 Devicetree Specification Release 0.2 第2章「The Devicetree」 
第6章「Devicetreeのソース形式（バージョン1）」 

 組み込み電源アーキテクチャプラットフォーム要件（ePAPR）v1.1に関するPower.org標準  Devicetree Specificationに置き換えられました 
第2章「デバイスツリー」 
付録A「デバイスツリーのソース形式（バージョン1）」 

 dtcコンパイラリポジトリのドキュメント  Documentation / dts-format.txtデバイスツリーのソース形式 

 ePAPRとLinuxのdtcコンパイラの違い 
プレゼンテーション  「ダミーのためのデバイスツリー」、ELC 2014 by Thomas Petazzoni  PDF 
 YouTubeビデオ 


文書化されていない  Device_Tree_Source_Undocumentedには、他に記載されていない情報がいくつか含まれています。 


 バインディング 

バインディングはに文書化されています 
 規格書 
 Linuxカーネルのソースツリー 

 Linuxカーネルソースツリーのバインディングドキュメント 

デバイスツリーに関するドキュメントファイルは、LinuxカーネルソースのDocumentation / devicetreeにあります。 

特定のバインディング仕様は、LinuxカーネルソースのDocumentation / devicetree / bindingsにあります。 

特に便利なファイル（アルファベット順）は次のとおりです。 
 ABI / testing / sysfs-firmware-ofw ターゲットシステム上の/ sys / firmware / devicetree / *の説明 

 デバイスツリー/バインディング  bindingsディレクトリには、dtsで表現でき、カーネルフレームワークやドライバで使用される各デバイスタイプの構文と予想される要素に関する詳細が記載されています。 

 devicetree / bindings / ABI.txt 安定束縛と一般束縛の規則についてのコメント 

 devicetree / bindings / property-units.txt 測定単位を持つプロパティに名前を付ける方法 

 devicetree / bindings / resource-names 別のプロパティに対応する名前の順序付きリストを含む* -nameプロパティ 

 devicetree / bindings / submitting-patches.txt  パッチの提出者とカーネル管理者のための重要な詳細 

 devicetree / bindings / vendor-prefixes.txt ベンダープレフィックスレジストリ 


一部のサブシステムでは、devicetree / bindings /の下に概要バインディングの説明があります。 
 バス/ mvebu.bus 
 バス/ simple-pm-bus.txt 
 clock / clock-bindings.txt 
 display / mipi-dsi-bus.txt 
 dma / dma.txt 
 gpio / gpio.txt 
 hwlock / hwlock.txt 
 iio / iio.txt 
 割り込みコントローラ/ interrupts.txt 
 iommu / iommu.txt 
 lpddr2 / lpddr2.txt 
 mailbox / mailbox.txt 
 memory-controllers / mvebu-devbus.txt 
 mfd / mfd.txt 
 ミップス/ cavium / bootbus.txt 
 mmc / mmc.txt 
 pci / pci.txt 
 phy / phy-bindings.txt 
 pinctrl / pinctrl-bindings.txt 
 power_supply / power_supply.txt 
 pwm / pwm.txt 
 regmap / regmap.txt 
 レギュレータ/レギュレータ.txt 
 reserved-memory / reserved-memory.txt 
 reset / reset.txt 
 spi / spi-bus.txt 
 spmi / spmi.txt 
 Thermal / thermal.txt 
 xillybus / xillybus.txt 

 Linuxカーネルソースツリーの他のドキュメント 
 devicetree / booting-without-of.txt  Open Firmwareなしで起動する際のオリジナルのpowerpcドキュメント 

 devicetree / changesets.txt チェンジセットの説明。 一連の変更が正常に適用されるか、適用されないように変更を適用します。 

 devicetree / dynamic-resolution-notes.txt オーバーレイを適用するときに使用されるリゾルバの実装。 

 devicetree / of_unittest.txt デバイスツリーの単体テストのデータをカーネルに追加する方法 

 devicetree / overlay-notes.txt オーバーレイに関するカーネル内部の実装上の注意 

 devicetree / usage-model.txt 概要：Linuxとデバイスツリー 


 サブシステム固有 
 gpio / pinctrl 
割り込み 
タイマー 
等 

 オーバーレイ 

 メインラインのLinuxサポート 

ランタイムオーバーレイの適用およびランタイムオーバーレイのユーザースペースからの削除は、メインラインカーネルではサポートされていません。 オーバーレイマネージャを介してこの機能を実装するためのツリー外パッチがあります。 オーバーレイマネージャは、特定の環境とユースケースを持つ特定のボード上の特定のオーバーレイのために多くのユーザーによってうまく使用されています。 しかし、不完全で不正確なコードのために、Linuxカーネルオーバーレイ実装には多くの問題があります。 これらの問題のため、オーバーレイマネージャはメインラインに受け入れられませんでした。 これらの問題が解決したら、Linuxカーネルでランタイムオーバーレイの適用およびユーザースペースからのオーバーレイの削除のいくつかの方法がサポートされることが予想されます。 

特定の問題が解決されるため、オーバーレイの適用とオーバーレイの削除のサポートが段階的に段階的に段階的に導入される可能性があります。 
 基本的なオーバーレイサポートを完成するために何が必要かについてのFrankの考え 

 ブートローダのサポート 

 Linuxカーネルランタイムオーバーレイアプライに代わるものは、ブートローダーオーバーレイアプライです。 たとえば、U-Bootはオーバーレイ適用をサポートしています。 このオーバーレイ適用方法は、実行時のLinuxカーネルオーバーレイ適用の複雑さと問題を回避します。 この方法は、実行時にLinuxカーネルのオーバーレイを適用するよりも堅牢で問題が少ないと思われるため、推奨される手法です。 

 オーバーレイソースフォーマット 

初期のオーバーレイの頃は、オーバーレイメタデータの多くはオーバーレイソースファイルに手作業でコーディングされていました。  Linuxカーネルソースツリーの現在のdtcコンパイラでは、この手作業によるコーディングは不要です。  Linuxカーネルのオーバーレイ適用コードは、将来的には手書きのメタデータでソースからコンパイルされたオーバーレイの適用を拒否することが予想されます。 メタデータには、フラグメントノード、および__overlay__、__fixup__、__ local_fixup__、および__symbols__などの、アンダースコアで始まる名前のノードが含まれます。 

手書きのメタデータ形式からオーバーレイソースを変換する例については、 ELCE 2018 Devicetree BoF [PDF]のスライド29〜34を参照してください。 

 デバイスツリーソースの検証 

デバイスツリーの将来の検証作業を参照してください。 

最も基本的な検証はdtcコンパイラからの警告です。 ノイズチェックはデフォルトで無効になっています。  makeコマンドラインで 'W = 1'を指定して、ノイズチェックを有効にします。 

  ソースを.dtbにコンパイルする（FDTバイナリBLOB） 

 Documentation / manual.txtデバイスツリーコンパイラマニュアル 

 Linuxカーネル経由でシステムを作る 

 設定済みのすべての.dtb 
  dtbsを作る


 特定の.dtb 

これはarch / arm / boot / dts / qcom-msm8960-cdp.dtsをコンパイルする例です。 

 makeターゲットは.dtsファイルの名前で、 ".dts"は ".dtb"に変更されています。 

 dtbを有効にする設定オプションが設定されていることを確認します。次に例を示します。 
  arch / arm / boot / dts / Makefile：
 
   dtb  -  $（CONFIG_ARCH_QCOM）+ = \
          ...
          qcom-msm8960-cdp.dtb \
          ...

 $ grep CONFIG_ARCH_QCOM .config
 CONFIG_ARCH_QCOM = y


 makeコマンドで正しいアーキテクチャを指定する（またはARCHをエクスポートする） 
  ARCH = "arm"をエクスポート
 qcom-msm8960-cdp.dtbを作成します。

  ARCH = "arm" make qcom-msm8960-cdp.dtb


 ビルドディレクトリに生成されたスクリプト経由 

 Linuxカーネルのmakeシステムによって.dtbがビルドされた後、正確なビルドコマンドを含むファイルはビルドディレクトリに残ります。 
 arch / arm / boot / dts /.*。dtb.cmd 
 arch / $ {ARCH} / boot / dts /.*。dtb.cmd 

 FDTフォーマット 

 Flattened Device Tree（FDT）の他の名前は "binary blob"と ".dtb"です。 

 FDTのバージョン17のフォーマットは、 Devicetree Specification Release 0.2の第5章「Flat Devicetree Physical Structure」で説明されています。 

 FDTのバージョン17のフォーマットは、 ePAPR v1.1の第8章「フラットデバイスツリーの物理構造」（ Devicetree仕様に置き換えられています ）に記載されています。 

 booting-without-of.txtのセクション "II - DTブロックフォーマット"はFDTのフォーマットのより広範な記述です。 

 インストール 
 dtbs_installを作成します。  / boot / dtbs / <kernel version>にインストールします。 

インストールする他の多くの方法.... 

 ブートローダー 

 起動中 

 デバッグ 

 （ Device_Tree_presentations_papers_articles＃debugも参照してください。） 
チュートリアル  「デバイスツリーの問題の解決」（更新）、ELCE 2015年10月by Frank Rowand  PDFスライド 
 補助リソース（パッチなど） 


差分.dts、.dtb、/ proc / devicetree /  scripts / dtc / dtx_diff  4.6-rc1以降のLinuxカーネルソースツリー内 
ユースケース、利点、および知っておくべきことは、Frank RowandによるELCE 2015年10月の「デバイスツリーの問題の解決」 （更新）に記載されています（PDF）。 このプレゼンテーションでは、dtx_diffを「dtdiff」と呼びます。 


プロパティのソースの場所を特定する 
起動時メッセージ デバイス作成 
ドライバー登録 
ドライバをデバイスにバインドする 
遅延バインディング 


 デバッグ - ランダムなヒント 

起動後に/ proc内のデバイスツリー情報を表示できるようにCONFIG_PROC_DEVICETREEを設定できます。 このオプションを 'Y'に設定してカーネルを構築し、カーネルを起動してから 'cd / proc / device-tree' 
  / proc / device-treeはまだ存在しません。 それで？？？

 CONFIG_PROC_FSは有効になっていますか？
 CONFIG_OFは有効になっていますか？
 / sys / firmware / devicetree / baseは存在しますか？  （このパスはABIではありませんが、現在は
   / proc / devicetreeはこの場所へのソフトリンクです。）
ブートローダはデバイスツリーをロードしましたか？  （ブートコンソールを確認するか、dmesgを使ってブートメッセージを表示してください。）


 CONFIG_PROC_DEVICETREEオプションが存在しない新しいカーネルでは、CONFIG_PROC_FSが 'Y'に設定されていると/ proc / device-treeが作成されます。 

 CONFIG_DEBUG_DRIVER = Yを試すこともできます。 

また、多くの場合、 "＃define DEBUG 1"という行を個々のCファイルに設定して、そのファイル内のルーチンにdebugステートメントを追加することもできます。 これにより、そのファイルのソース内のpr_debug（）行がアクティブになります。 

あるいは、以下をdrivers / of / Makefileに追加することができます。 
  CFLAGS_base.o：= -DDEBUG
 CFLAGS_device.o：= -DDEBUG
 CFLAGS_platform.o：= -DDEBUG
 CFLAGS_fdt.o：= -DDEBUG


 Linuxカーネルソースツリーのツール 

  dtc（カーネル内） 

 dtc（Device Tree Compiler） - 人間が編集可能なデバイスツリーソースの "dts"フォーマットと、カーネルまたはアセンブラのソースが使用できるコンパクトなデバイスツリーBLOBの "dtb"表現との間の変換を行います。  dtcはdtbデコンパイラです。 
 Linux版のdtcは、カーネルソースディレクトリのscripts / dtc /にあります。 新しいバージョンは定期的に上流プロジェクトから引き出されます。  dtcは、必要に応じてLinuxカーネルのビルドプロセスによって依存関係としてビルドされます。  Linuxカーネルのソースツリーで明示的にビルドしたい場合は、次のコマンドを使用してください。make scripts 

上流プロジェクトに関する情報は近くのセクションにあります。  Documentation / manual.txtデバイスツリーコンパイラマニュアル 
 Documentation / dts-format.txtデバイスツリーのソース形式 

メンテナはREADMEファイルにリストされています 

 dtx_diff 

 dtx_diffには2つの動作モードがあります。 
 2つのdtXファイルを比較する 
単一のdtXファイルをコンパイルし（通常のLinuxインクルードと.configを使用）、それをデバイスツリーのソースファイルに逆コンパイルします。 

 dtXファイルは、デバイスツリーソースファイル、デバイスツリーコンパイルファイル（別名.dtb、FDT、またはデバイスツリーBLOB）、またはファイルシステムベースのサブツリー（ターゲットシステム上の/ proc / device-tree、または/）です。 proc / device-treeは、ターゲットシステムで起動し、dtx_diffを含むシステムで起動解除することができます。 

 dtx_diffの使用方法の例は、ELCE 2015年10月、Frank Rowandの「デバイスツリーの問題の解決」（更新）に記載されています。 このプレゼンテーションでは、dtx_diffは 'dtdiff'という名前であることに注意してください。 

 dtx_diffは4.6-rc1にマージされました。 

 dt_to_config 

 dt_to_configは、特定のデバイスツリーに必要なLinuxカーネル設定オプションに関する情報を提供するためのツールです。 

 dt_to_configは、カーネル設定オプションが正しく設定されているかどうかも報告できます。 

 dt_to_configの使用方法と注意すべきいくつかの制限の例は、LinuxCon Japan、2016年7月、Frank Rowandによる「デバイスツリー問題の解決 - パート2」にあります。 

 dt_to_configは4.8-rc1にマージされました。 

 Linuxカーネルソースツリー外部のツール 

  dtc（上流プロジェクト） 

 dtc（Device Tree Compiler）上流プロジェクトは定期的にLinuxカーネルソースツリーに取り込まれます。 上流プロジェクトは 
 https://git.kernel.org/cgit/utils/dtc/dtc.git 
 git clone git：//git.kernel.org/pub/scm/utils/dtc/dtc.git 

パッチの提出に関する情報はDocumentation / manual.txtのセクション1.1にあります。 

上流プロジェクトでのdtc、fdtdump、その他のツールの構築 
作る 

 dtsモード 

 githubのREADME.mkdから：emacsのデバイスツリー構文の基本的な強調表示を手に入れるための簡単な試み。 

発表から：今日、私はemacsのための初歩的なdevicetreeメジャーモードをまとめました。 現時点では、かなり基本的な構文の強調表示に限定されていますが、考慮されていることはすべてうまく機能します。  Github [1]にあります。 パッチはもちろん大歓迎です。 

 [ github ]上のプロジェクトの場所 

私はemacsユーザーではありませんので、このツールの有用性や、この説明に追加される可能性のある追加情報（またはこのツールからこのツールを削除する必要がある場合）についてのフィードバックをお寄せください。  frowand（dot）リスト（at）gmail（dot）comで私にEメールで知らせる 

 EDK 
ザイリンクスEDKデバイスツリージェネレーター - ザイリンクスFPGAデザインファイルからFDTを生成します。  http://xilinx.wikidot.com/device-tree-generator 

  「デバイスツリージェネレータはザイリンクスのEDKツールです。
ツールの自動BSP生成機能、XPS」


 fdtdump 

 fdtdumpはFDT（フラット化されたデバイスツリー、別名デバイスツリーBLOB）をソースに変換するためのツールです。 

 dtcコンパイラは、FDTをソースに変換するオプション（-O dts）もある代替ツールです。 

 fdtdumpは、 "dtc -O dts"といくつかの点で異なります。 
 fdtdumpはFDTヘッダをソースコメントとして表示します。 
データの形式は外観（印刷される16進数の数）が異なりますが、どちらの形式でもコンパイル時に同じFDTになります。 
 fdtdumpの--scanオプションは、FDTを埋め込むファイルを検索し、FDTを見つけようとします。 埋め込まれたFDTはdtsに変換されます。 

メンテナンスされていないバージョンのfdtdumpのソースがLinuxカーネルソースツリーに存在します。  Linuxカーネルのソースツリーにfdtdumpを構築するためのmakefileエントリはありません。  fdtdumpは将来的にLinuxカーネルのソースツリーから削除されるかもしれません。 

 fdtdumpはdtcプロジェクトにあり、そこに簡単に構築できます。 

 テスト 

 Linuxカーネルフレームワーク 

設定オプションCONFIG_OF_UNITTESTでユニットテストを有効にする 
デバイスドライバ--->デバイスツリーとOpen Firmwareのサポート--->デバイスツリーのランタイムユニットテスト 

単体テストは起動シーケンスの終わり近くに実行されます。 テストの開始は次のように示されます。 
  ### dt-test ### unittestの開始 - エラーメッセージが表示されます


テスト結果の要約の例は次のとおりです。 
  ### dt-test ### unittestの終わり -  148合格、0失敗


ユニットテストは次の場所にあります。 
 drivers / of / unittest.c 
ドライバー/の/ unittest-data / 

 DTC 

 dtcテストは上流のdtcプロジェクトにあります（dtc（上流プロジェクト）を参照）。 
  dtcをビルドします。
    DTCを作る

テストをビルドします。
   テストをする

テストを実行します。
   確認する

 valgrind --tool = memcheckでテストを実行します。
   チェックをする

冗長モードでテストを実行します。
    checkvをする


各テストは合格または不合格を報告します。 

テスト結果の要約の例は次のとおりです。 
  **********テスト概要
 *合計テストケース：1565
 *パス：1565
 * FAIL：0
 *悪い設定：0
 *奇妙なテスト結果：0
 **********