zynq 以太网和SD卡不能正常工作

Posted 为了维护世界和平_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zynq 以太网和SD卡不能正常工作相关的知识,希望对你有一定的参考价值。

前言

在以往修改内核驱动时,一般在源码里 arch/arm/boot/dts/文件下,有相应的设备树文件
而使用petalinux后,在哪里修改,内核源码在哪里?

在使用petalinux-build后,会自动生成文件project-spec/meta-user/recipes-bsp/device-tree/files文件,在此文件夹下有system-user.dtsi,这个就是设备树

常见的问题

1、以太网不能使用

系统启动后,打印输出

Could not find eth0

并且用命令行ifconfig -a 查看,没有发现eth0

2、SD卡在启动阶段提示错误,并且不支持动态插拔

现象一:

mmc1: error -110 whilst initialising SD card

现象二:
在选择使用SD卡启动时显示一下错误,找不到mmcblk1p2

root@ZYNQ:/mnt# [ 2639.610797] mmc1: new high speed SDHC card at address e624
[ 2639.616678] mmcblk1: mmc1:e624 SU04G 3.69 GiB (ro)
[ 2639.632772]  mmcblk1: p1 p2
[ 2639.908276] /dev/mmcblk1p1: Can't open blockdev
[ 2639.916043] EXT4-fs (mmcblk1p2): INFO: recovery required on readonly filesystem
[ 2639.923362] EXT4-fs (mmcblk1p2): write access unavailable, cannot proceed (try mounting with noload)
[ 2639.932709] /dev/mmcblk1p2: Can't open blockdev
[ 2639.998528] EXT4-fs (mmcblk1p2): INFO: recovery required on readonly filesystem
[ 2640.005836] EXT4-fs (mmcblk1p2): write access unavailable, cannot proceed (try mounting with noload)
[ 2640.015281] /dev/mmcblk1p2: Can't open blockdev

现象三:

[    3.772317] VFS: Cannot open root device "mmcblk0p2" or unknown-block(179,2): error -6

解决方法,

在设备树system-user.dtsi添加驱动

aliases {
                ethernet0 = "&gem3";
                mmc0 = &sdhci1;
        };
…

&gem3 {
        status = "okay";
        phy-handle = <&phy0>;
        phy-mode = "rgmii-id";
        phy0: phy@21 {
                reg = <5>;
                ti,rx-internal-delay = <0x8>;
                ti,tx-internal-delay = <0xa>;
                ti,fifo-depth = <0x1>;
                ti,dp83867-rxctrl-strap-quirk;
        };
};

&sdhci1 {
        status = "okay";
        no-1-8-v;
        xlnx,mio_bank = <1>;
};

以上是关于zynq 以太网和SD卡不能正常工作的主要内容,如果未能解决你的问题,请参考以下文章

SD卡声音播放代码和舵机代码烧进arduino板卡里不能正常运行?

关于ZYNQ-700是否支持大容量SD卡汇报

为zynq 格式化 SD 引导卡

6410下,能不能从SD卡启动系统?要从SD卡启动该做些啥工作

用的arduino uno板子,sd卡模块连在10,11,12,13口上,把原来的排母换成了排针,不能识别sd卡

ZYNQ7000系列学习之TF卡读写实验