はじめに
FPGAの部屋を読んでいると,Xilinx SDKでDeviece Tree Source (DTS)を生成できることがわかりました. 下記の記事が参考になりましたが,開発環境が異なるほか,ファイルの取得方法が変わっていましたので,私の作業メモを残しておきます.
Xilinx Wikiの該当ページは下記のとおりです.開発環境
DTSの生成に使用するXilinx SDK 2014.4は,Windowsにインストールしています.
OS | Microsoft Windows 7 Professional x64 Service Pack 1 |
---|---|
SDK | Xilinx SDK 2014.4 |
ファイル取得に使用するgitクライアントやDTSからDevice Tree Blob (DTB)を生成する環境は,VMware Player上のUbuntuにインストールしています. Windowsとのファイル共有には,WinSCPを使用しています.
OS | Ubuntu 14.04 LTS 32bit |
---|
Device Tree Generatorのセットアップ
Ubuntu環境でDevice Tree Generatorのgitリポジトリを取得しました. その後,ディレクトリごとWindows環境の「C:\work」にコピーしました. これにより,「C:\work\device-tree-xlnx」ができたことになります.
1 | ~$ git clone git: //github .com /Xilinx/device-tree-xlnx .git |
Vivadoでプロジェクトを開き,「File」 - 「Launch SDK」からXilinx SDKを起動しました. Xilinx SDKのツールバーから「Xilinx Tools」 - 「Repositories」をクリックし,「Preferences」ウィンドウを開きました. 「Local Repositories」に,「C:\work\device-tree-xlnx」を追加しました.
DTSの生成
Xilinx SDKの「File」 - 「New」 - 「Board Support Package」をクリックしました. 「New Board Support Package Project」ウィンドウが開きましたので,「Board Support Package OS」を「device-tree」に変更して「Finish」しました.
「Board Support Package Settings」ウィンドウが開きましたので,「bootargs」の「Value」に下記を入力しました. これは一例ですので,各自の環境に合わせる必要があります.
1 | console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=1 |
「Board Support Package Settings」ウィンドウを「OK」で閉じると,自動的に「device-tree_bsp_0」プロジェクトのビルドが開始され,DTSが生成されました.
DTBの生成
「device-tree_bsp_0」ディレクトリごとUbuntu環境にコピーし,DTBを作成しました. ほとんどGUI操作だけでdevicetree.dtbが生成でき,タイプミス起因のエラーを回避できるのは良さそうですね.
1 2 | ~$ cd zybo_bsd_linux /device_tree_bsp_0/ ~ /zybo_bsd_linux/device_tree_bsp_0 $ .. /Linux-Digilent-Dev/scripts/dtc/dtc -I dts -O dtb -o . /devicetree .dtb . /system .dts |
0 件のコメント:
コメントを投稿