Nand 測試

存取所需裝置

若要測試特定裝置,請不要在使用該裝置的其他裝置使用 以及系統的功能限制您可以透過以下兩種方式來達成這個目的:

  • 避免其他驅動程式繫結至裝置。這可能需要建立 系統具有修改後的驅動程式庫繫結規則,一般會將此實體繫結至該系統 到所需裝置,或是將核心指令列引數傳送給所需裝置 該驅動程式庫。

  • 解除繫結至所需裝置。

舉例來說,若要對 nandpart 使用測試工具進行 nandpart 裝置可能會遭到移除,例如:

$ unbind /dev/sys/platform/raw_nand/aml-raw_nand/nand/fvm

請注意,由 nandpart 建立的所有其他裝置也必須移除。使用 driver dump 可檢查裝置樹狀結構。

通訊協定測試

nand-test 是一項整合測試,可執行 nand 通訊協定的基本測試 驅動程式。

舉例來說,這個指令會測試現有的 ram-nand 裝置,確定 測試不會修改外部區塊的內容 [100, 109]:

$ /boot/test/sys/nand-test --device /dev/sys/platform/00:00:2e/nand-ctl/ram-nand-0 --first-block 100 --num-blocks 10

正確性測試

nand-util 是一項疑難排解工具,可以執行簡單的讀取可靠性 測試。

$ nand-util --device /dev/sys/platform/00:00:2e/nand-ctl/ram-nand-0 --check

檢查 / 操縱

$ nand-util --device /dev/sys/platform/raw_nand/aml-raw_nand/nand --info
$ nand-util --device /dev/sys/platform/raw_nand/aml-raw_nand/nand/fvm --read --block 1 --page 2

擷取圖片

nand-util 也可用來擷取 nand 內容的圖片:

$ unbind /dev/sys/platform/raw_nand/aml-raw_nand/nand/fvm/ftl/block
$ unbind /dev/sys/platform/raw_nand/aml-raw_nand/nand/fvm/ftl
$ nand-util --device /dev/sys/platform/raw_nand/aml-raw_nand/nand/fvm --save --file /tmp/image

將圖片檔轉移至主機:

$ out/default/host-tools/netcp :/tmp/image /tmp/saved_image_file

重播

您可以使用 nand-loader 將已儲存的 nand 圖像載入至 RAM 裝置上方。

首先,將映像檔轉移到執行 Zircon 的裝置。例如,在該主機上:

echo /nand.dmp=/tmp/saved_image_file > /tmp/manifest.txt
out/default/host-tools/minfs /tmp/image.dsk create --manifest /tmp/manifest.txt
fx set bringup.x64
fx build
fx qemu -k -- -hda /tmp/image.dsk

然後在 zircon 中執行下列操作:

$ mkdir data/a
$ mount /dev/class/block/000 data/a
$ nand-loader data/a/nand.dmp