前言
EBAZ4205矿板开发过程中遇到的第一问题就是如何启动uboot和linux。其实仅仅是启动uboot和linux并不难,即使是直接使用Xilinx的Petalinux直接编译出来的uboot和kernel放入SD卡就可以成功启动。但是,网口是用不了的,因为Petalinux默认的配置文件是ZC702的,ZC702的网口是直接从PS的专用MIO连接外部PHY;而矿板的网口是通过EMIO从PL引脚连接的以太网PHY。这里经过了很多的尝试之后,终于通过修改设备树解决了uboot和linux启动后网络不可用的问题。
首先回顾一下如何启动uboot和kernel,这里有两套开发工具可以选择:
(1)使用Xilinx Petalinux;
(2)下载Xilinx在Github上的uboot和Linux Kernel源代码,通过源码配置和编译出镜像;
使用Petalinux制作uboot和kernel
在开始编译之前需要安装好Petalinux,我使用的版本是2017.4。另外需要一张4G或者8G的SD卡。petalinux提供了非常方便的镜像制作方式,只要通过几个简单的命令就可以完成。但是注意,默认的配置文件是ZC702,编译出来的设备树是和EBAZ4205不相符的,会导致网口不可用。所以,我们需要在这个基础上修改或者在配置的时候,直接指定使用外部设备树。
1. 制作设备树
获得适用于EBAZ5205的设备树,可以在petalinux编译出来的设备树上修改,也可以通过XSDK获得。
在SDK中制作设备树,可以参考这个: