硬件平台:XCZ7020 CLG484-1 完全适配Zedboard
开发环境:Widows下Vivado 2016.2 、 SDK2016.2 、 Linux机器:debin
材料:Xilinx Github中的U-BOOT、Kernel、Ramdisk、Config_patch等
在进行NFS启动时配置目标板网络遇到问题:执行ifconfig -a 命令没有出现eht0,也就是说我的目标板中没有对外的以太网网卡
作为一个初接触嵌入式Linux的小白在网上各种搜索,并没有结果。后来在网络上请教了解到可能与内核和设备树相关。我的内核是直接编译的官方的代码,问题应该不在此。而我的设备树是自己用sdk生成的,且在我的印象中,在我看陆佳华的《软硬件协同设计》这本书的时候,在讲设备树的生成这一章节中提到用sdk生成的设备树并不是最后完整的设备树,需要针对自己的硬件进行修改。并推荐了xilinx gihub上的xup_zed.dts 这个设备树文件。下载完xup_zed.dts并用dtc工具生成devicetree.dtb,启动,kernel panic。uboot打印的信息我也不太会看,但我明白肯定是设备树与内核不匹配。打开xup_zed.dts查看具体代码,并以此为葫芦画瓢,修改我自己用sdk生成的设备树,只针对以太网这部分修改,并最终成功。下面贴代码
对zynq-7000.dtsi的修改
gem0: ethernet@e000b000 {
compatible = "xlnx,ps7-ethernet-1.00.a";