如何将ZCU106例程移植到自定义单板上(3)-Petalinux构建软件系统

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

FZU5构建Linux系统过程和FZU3类似,FZU3构建过程参照前一篇文章。下面主要描述一下不同的地方。

1. Kernel配置

在petalinux工程文件夹中运行petalinux-config -c kernel

进入Device Drivers ->Generic Driver options -> DMA ContiguousMemory Allocator

将CMA设置成1500,如下图所示。

2. Rootfs配置

1. 将例程gstreamer-vcu-examples加入Rootfs中。在
/project-spec/meta-user/conf/user_rootfsconfig文件中加入CONFIG_gstreamer-vcu-examples。

2. 运行petalinux-config -crootfs

在user_packages中选中gstreamer-vcu-examples。

3. 配置gstreamer

在Filesystem Packages->multimedia中所有gstreamer全部选中。

将Petalinuxlinux_Packgae_Groups中与gstreamer相关的选项选中。

4.DP显示相关配置

packagegroup-petalinux-qt

packagegroup-petalinux-x11

packagegroup-petalinux-opencv

Filesystem Package->libs->libmail-xlnx

3. 修改设备树

上述过程完成后,重新构建镜像使用petalinux-build,生成镜像,将生成镜像和文件系统拷贝到sd卡启动。启动后使用ifconfig指令,显示如下:

找不到eth0,这是由于网口设备设置树设置有问题。

在FZU3构建软件系统过程中,并没有修改设备树,系统正常启动,网口也正常。但FZU5网口出现异常,查看原理图,两个单板使用PHY芯片不同。FZU5使用DP83867芯片,需要设置地址。如下图所示,通过设置Rhi和RIo阻值,设置不同的模式,根据RX_D0和RX_D2的值设定phy地址。FZU5的PHY地址为5,需要对设备树做如下修改,修改后网口正常工作。

&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;

};

};

};

最新文章

最新文章