如何将xilinx官方移植到自定义单板

作者:硬码农二毛哥,本文转载自:硬码农二毛哥微信公众号

在文章中如何将zcu106例程移植到自定义单板,描述了如何在自定义单板平台构建硬件平台、软件系统添加配方,运行zcu106例程。实现过程很复杂。zcu106单板的bsp不能直接用在习惯单板上呢?下面是我做的一些试点,大家可以参考。

zcu106单板使用zynqmpsoc 7ev器件,我手头的单板使用zynqmpsoc 5ev器件,都包含编解码器VCU 。在进行了如下四方面的修改后,将zcu106的bsp应用与自定义单板,自定义单板正常启动。

升修改硬件平台

升修改机器名称

升修改设备树

升删除fsbl文件夹

修改硬件平台

硬件平台中主要包含VCU相关内容和时钟模块,始终模块生成2 00Mhz和4 00Mhz,这个是为了下一步使用葡萄加入DPU做的准备。

修改Yocto MACHINE NA M E

使用zuc106的bsp在petalinux新建工程,使用如下指令:

petalinnux-create  -t project –s

新建工程后,运行指令petalinux-config,在Yo c to settings下修改M ACHINE NAME,名称设置成zynqmp -generic。

修改设备树

仍然是在petalinux -config下,在D TG Settings中将M ACHINE NAME改成模板,在Kernel Bootargs中输入如下内容。

earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk1p2 rw rootwait cma=1500M

将system-user.dtsi修改成如下内容

/include/ "system-conf.dtsi"
/{
};

&amba {
zyxclmm_drm {
compatible = "xlnx,zocl";
status = "okay";
interrupt-parent = &axi_intc_0>;
interrupts = 0 4>, 1 4>, 2 4>, 3 4>,
4 4>, 5 4>, 6 4>, 7 4>,
8 4>, 9 4>, 10 4>, 11 4>,
12 4>, 13 4>, 14 4>, 15 4>,
16 4>, 17 4>, 18 4>, 19 4>,
20 4>, 21 4>, 22 4>, 23 4>,
24 4>, 25 4>, 26 4>, 27 4>,
28 4>, 29 4>, 30 4>, 31 4>;
};
};

&axi_intc_0 {
xlnx,kind-of-intr = 0x0>;
xlnx,num-intr-inputs = 0x20>;
interrupt-parent = &gic>;
interrupts = 0 89 4>;
};

&sdhci1{
statu = "okay";
disable-wp;
no-1-8-v;
};

&gem3 {
phy-handle = &phy0>;
pinctrl-names = "default";
pinctrl-0 = &pinctrl_gem3_default>;
phy0: phy@5 {
reg = 0x5>;
ti,rx-internal-delay = 0x8>;
ti,tx-internal-delay = 0xa>;
ti,fifo-depth = 0x1>;
ti,dp83867-rxctrl-strap-quirk;
};
};

&pinctrl0 {
status = "okay";
pinctrl_gem3_default: gem3-default {
mux {
function = "ethernet3";
groups = "ethernet3_0_grp";
};
conf {
groups = "ethernet3_0_grp";
slew-rate = 1>;
io-standard = 1>;
};
conf-rx {
pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",
"MIO75";
bias-high-impedance;
low-power-disable;
};
conf-tx {
pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",
"MIO69";
bias-disable;
low-power-enable;
};
mux-mdio {
function = "mdio3";
groups = "mdio3_0_grp";
};
conf-mdio {
groups = "mdio3_0_grp";
slew-rate = 1>;
io-standard = 1>;
bias-disable;
};
};
};

对。./project-spec/meta-user/recipes-bsp/device-tree /中的device-tree.bbappend进行修改,file://中只目录system-user.dtsi。

删除fsbl文件夹

删除/ project-spec/meta-user/recipes-bsp中的fsbl文件夹

完成以上步骤就可以build,生成BOOT,进行测试了,单板可以正常启动。

最新文章