ZYNQ Linux开发——以太网配置
来源:互联网 发布:怎么开一个淘宝店 编辑:程序博客网 时间:2024/05/08 07:52
硬件平台: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"; reg = <0xe000b000 0x1000>; status = "disabled"; clock-names = "ref_clk", "aper_clk"; clocks = <&clkc 13>, <&clkc 30>; interrupt-parent = <&intc>; interrupts = <0 22 4>; local-mac-address = [00 0a 35 00 00 00]; #address-cells = <1>; #size-cells = <0>; };
对pcw.dtsi的修改部分
&gem0 { status = "okay"; phy-handle = <&phy0>; phy-mode = "rgmii-id"; xlnx,eth-mode = <0x1>; xlnx,has-mdio = <0x1>; xlnx,ptp-enet-clock = <111111115>; mdio { #address-cells = <1>; #size-cells = <0>; phy0: phy@0 { compatible = "marvell,88e1510"; device_type = "ethernet-phy"; reg = <0>; marvell,reg-init = <0x3 0x10 0xff00 0x1e 0x3 0x11 0xfff0 0xa>; } ; } ;};
阅读全文
0 0
- ZYNQ Linux开发——以太网配置
- zynq linux 开发环境搭建
- zynq-7000学习笔记(十)——Linux下通过UIO配置FAST corner寄存器
- ZYNQ Linux驱动开发——第一个字符设备驱动
- 菜鸟搭建zynq linux开发平台
- zynq—arm
- ZYNQ QNX开发——在ZedBoard上运行QNX
- ZYNQ QNX开发——Resource Manger知识点总结
- linux学习入门16——LINUX网络配置(linuxcast.net)(以太网配置,网络测试,网络故障排查等)
- ZYNQ 开发
- zynq-7000学习笔记(三)——编译linux
- Zynq基础——linux下软件应用
- "30年---我与赛灵思FPGA的故事”:ZYNQ-7000使用总结(7) ——ZYNQ的启动和配置
- Zynq-Linux移植学习笔记之20-Zynq linux can驱动开发
- PIC以太网开发板——基于微芯最新ENC28J60以太网控制器
- zynq-7000系列基于zynq-7015的vivado初步设计之linux下控制PL扩展的光以太网(1000BASE-X)
- Linux下以太网桥防火墙的配置
- [zynq] zynq7000开发流程之Petalinux (linux开发)
- [NOIP2012]洛谷[P1080]国王游戏 贪心+高精
- JavaWeb(3)_navicat批量插入数据
- JAVA IO详解(转)
- window10下安装TensorFlow
- Xilinx SDK中指定变量的物理位置
- ZYNQ Linux开发——以太网配置
- java线程通信
- 模拟——玩具谜题
- dotnet core 做微信公众号开发时遇到的问题1
- C++--vector<>容器,List<>链表,map<>容器的用法
- 让你奶奶轻松搞懂Naive Bayes的理论与实践
- QDockWidget
- 伤情最是晚凉天
- vue-cli构建vue项目