2021/04/27

How to dump device tree from NAND flash to get dts (Zynq-7000)

In this article, I will dump the original device tree of the Zynq EBAZ4205 Board.

Since the Zynq EBAZ4205 Board is not a development board, the design information is not provided by the manufacturer. You need to get the necessary information yourself.

From the device tree source text (dts) file converted from the dumped device tree blob (dtb) file, you can get reference information when developing a custom Linux image using Vivado and PetaLinux.

Prepare

Insert the microSD card into the Zynq EBAZ4205 Board. This microSD card is used to transfer the dumped dtb file to the PC.

If you can use Ethernet, you can transfer the file by other methods.

Dump

Boot original Linux from the NAND flash on the Zynq EBAZ4205 Board.

Make sure the microSD card is mounted.

Execute the following command to dump the device tree from the NAND flash and save it as dtb file on the microSD card.

Convert

Copy the dtb file from the microSD card to your PC.

Convert dtb file to dts file. Use the device tree compiler (dtc) command for this conversion.

For Ubuntu, you can install it with the following command.

Execute the dtc command.

Now you have a dts file.

Tips

One of the information that can be obtained from the dts file is the NAND flash timing parameters and existing partition information.

For example, in the dts file, it was described as follows.

For the timing parameters nand-cycle-t0 to nand-cycle-t6, refer to the Xilinx Wiki.

If you are developing a custom Linux image using Vivado and PetaLinux, set these parameters in Vivado. At this time, you should also check the NAND flash data sheet.

Note: The parameters in the screenshot are examples and have not been tested.

Partition information can be set in PetaLinux.

This information is reflected in the device tree automatically generated by PetaLinux. The device tree is generated in the following directory when you run the petalinux-build command.

  • /components/plnx_workspace/device-tree/device-tree

My Vivado design and PetaLinux project are available on GitHub.

If there are any mistakes in the description, please let me know.

2021/04/23

Solves the warning when loading the U-Boot environment (Zynq-7000, PetaLinux 2020.2)

I have built a boot image for the Zynq EBAZ4205 Board with Xilinx PetaLinux 2020.2. Linux was able to boot normally, but the following warning was displayed when U-Boot was booted.

The Zynq EBAZ4205 Board does not have SPI Flash. In order to solve this warning, it was necessary to change the U-Boot configurations.

Open the U-Boot configuration with the following command.

Enable "Environment is not stored".

Environment-> Environment is not stored

Disable "Environment is in SPI flash".

Environment-> Environment is in SPI flash

Exit from the U-Boot configuration and rebuild the U-Boot.

The following 2 lines are added to the U-Boot settings.

An example of the PetaLinux project can be found below.

2021/04/21

忍者ホームページではGoogle Adsenseの新規利用開始は不可能な場合がある

要約
メモ

しばらくホームページやこのブログを放置していたので,その間にGoogle Adsenseの資格要件も変わったみたいですね. この記事の内容をひとまとめに把握するのに役立ったのは,下記のGoogle Adsenseコミュニティのスレッドです.他は上記の要約のリンク先を参照してください.

2021/04/10

GV-VCP3/PCIをWindows 10 64bitで使う

要約
  • I-O DATA GV-VCP3/PCI ビデオキャプチャボードは,Windows XPまで対応
  • 後継製品としてGV-VCP3R/PCIがあり,GV-VCP3/PCIのRoHS指令対応版と考えられる.Windows 7 32bitまで対応.64bit非対応
  • 同じチップを使用しているWinFast PVR2000の64bitドライバを使用すると,GV-VCP3/PCIをWindows 10 64bit 20H2で使用可能
  • ドライバはinfファイルを書き換えた上でWindows 10のテストモードでインストールする必要があり,一定の知識が必要
  • 録画はGV-VCP3R/PCI サポートソフトを使用可能なほか,OBSも使用できる.OBSがおすすめ
I-O DATA GV-VCP3/PCI ビデオキャプチャボード

GV-VCP3/PCIは,2006年4月発売のPCIカードタイプのビデオキャプチャボードです. 後継としてGV-VCP3R/PCIがあり,GV-VCP3/PCIとの違いはRoHS指令対応の有無のみとみられますが未確認です. つまり,GV-VCP3/PCIとGV-VCP3R/PCIのハードウェアはほとんど同じということで,GV-VCP3/PCIでもGV-VCP3R/PCIのサポートソフトが使えたのではないでしょうか.既にWindows 7 32bit以前のデスクトップPCが手元にないため確認できませんが…. 入力端子はコンポジット入力のRCAピンジャックが2系統とS-Video入力の4pin mini-DINが1系統です.

コンポジット出力のアナログカメラの映像をPCに取り込みたかったのですが,ちょうどこのボードが転がっていたので最新のWindows OS環境で使用可能か試してみた記録です. 結論としてはWindows 10 64bit 20H2で録画に成功して使えています.しかし,非公式な方法かつ海外サイトからのファイル入手が必要ですので,参考情報として眺めてください.最早こんなことしたい人,私以外にいないかもしれませんが….

ドライバの入手,編集,インストールの概要
ヒントは価格.comの書き込み

価格.comにはWindows 7 64bitで動作したとの報告があり,その方法が具体的に記載されていました.ご丁寧なことに,使用した代替ドライバのバージョンとMD5までありました. 私が行ったことは,この代替ドライバをインターネット上で探してきて,同じように編集して使っただけです.

代替ドライバの入手

代替ドライバも公式での配布は終了しており,インターネット・アーカイブからも入手できませんでした.このため,非公式なWebサイトからダウンロードする必要がありました. Google検索で「CX23880.5.0.18.6420_Vista_WHQL」で検索すると見つかります.ダウンロードできたら,zipファイルを展開して,その中にあるcxavsvid.sysのMD5が一致するか確認してください.

PVR2000.infの編集

代替ドライバに含まれるPVR2000.infは当然ながらGV-VCP3/PCIではありませんので,記述をGV-VCP3/PCIに合わせて書き換える必要があります. 必要な情報は,GV-VCP3R/PCI サポートソフトに含まれるWindows 7 32bitドライバのiocx88vd_7.infに記載されています. 私はWinMergeでPVR2000.infとiocx88vd_7.infを比較しながら書き換えました.

ドライバのインストール

あとは,書き換えたPVR2000.infを使用してドライバをインストールするだけですが,1つ注意点があります. このドライバは署名なしドライバのため,Windows 10をテストモードにしてインストールする必要があります. この方法については既に多数のWebページで紹介されていますので,「Windows10 ドライバ インストール テストモード」などで調べていただければと思います.

映像のキャプチャ

I-O DATA公式のGV-VCP3R/PCI サポートソフトに含まれるキャプチャソフトは,Windows 10 64bit 20H2でも使用できました. しかし,実用的にはOBSを使用するのが良いのではないでしょうか.OBSはライブ配信などに現在広く使用されているフリーウェアで,もちろんWindows 10 64bitをサポートしています.

あれ,映像がキャプチャできないぞ.というときは,設定を確認してみてください.私の場合,デフォルトではS-Video入力となっていたためコンポジット入力に切り替える必要がありました.

以上,参考になれば幸いです.