以下の内容はhttps://okchan08.hateblo.jp/entry/zybo-ubuntu5より取得しました。


ZYBO-Z7-20でUbuntu 16.04 LTSを動かす(5) : Linux kernelとデバイスツリーの作成

ZYBO-Z7でUbuntu 16.04 LTSを動かす - メモ置き場
第5回目.

今回はZynq用のLinux kernelとデバイスツリーを作成する.

Linux kernelのビルド

xilinx-wiki.atlassian.net
を参考にすすめる.

まずレポジトリからコードをとってブランチを切っておく.

git clone https://github.com/Xilinx/linux-xlnx.git
cd linux-xlnx
git checkout -b zybo-z7

zynq用の設定をする.menuconfigでは設定画面が出てくるがそのままexitをしてよい.

make ARCH=arm xilinx_zynq_defconfig
make ARCH=arm menuconfig

ビルドする.

make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage

バイスツリーの作成

Device Tree Compile(dtc)を使ってデバイスツリーをコンパイルする.XilinxのレポジトリにはZYBO用のデバイスツリーが含まれているので,それを修正してZYBO-Z7で使えるようにする.
arch/arm/boot/dts/zynq-zybo.dtsがそのデバイスツリー.同じディレクトリにzynq-zyboz7.dtsという名前でコピーしておく.zynq-zyboz7.dtsを次のように修正する.

--- arch/arm/boot/dts/zynq-zybo.dts	2019-01-28 23:04:52.689682318 +0900
+++ arch/arm/boot/dts/zynq-zyboz7.dts	2019-01-28 17:00:25.583176452 +0900
@@ -4,10 +4,10 @@
  *  Copyright (C) 2012 National Instruments Corp.
  */
 /dts-v1/;
-#include "zynq-7000.dtsi"
+/include/ "zynq-7000.dtsi"
 
 / {
-	model = "Zynq ZYBO Development Board";
+	model = "Zynq ZYBO-Z7 Development Board";
 	compatible = "digilent,zynq-zybo", "xlnx,zynq-7000";
 
 	aliases {
@@ -19,11 +19,11 @@
 
 	memory@0 {
 		device_type = "memory";
-		reg = <0x0 0x20000000>;
+		reg = <0x0 0x40000000>;
 	};
 
 	chosen {
-		bootargs = "";
+		bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=0";
 		stdout-path = "serial0:115200n8";
 	};
 
@@ -35,7 +35,7 @@
 };
 
 &clkc {
-	ps-clk-frequency = <50000000>;
+	ps-clk-frequency = <33333333>;
 };
 
 &gem0 {

なぜかXilinxのレポジトリに元々あるデバイスツリーは/include/の部分が間違っている.

dtcでコンパイルする.

dtc -I dts -O dtb -o devicetree.dtb arch/arm/boot/dts/zynq-zyboz7.dts

これでdevicetree.dtbが生成される.

将来的にPSを変更した場合に,その構成に合うようデバイスツリーを修正しなければならない.例えばPSにAXIバスで何らかのモジュールを接続した場合,AXIバスのアドレスをデバイスツリーに追加していく必要がある.




以上の内容はhttps://okchan08.hateblo.jp/entry/zybo-ubuntu5より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14