页次: 1
谢谢回复。SD1的WP本来就是关闭的。
今天看了下面这个帖子,还是不知道改怎么做。
https://forums.xilinx.com/t5/Processor-System-Design/Zynq-SDIO-via-EMIO/td-p/327479
还好现在这个问题已经绕过了,不会block下一步,可以慢慢想办法。
在Vivado的Block Diagram中双击Zynq的IP核,按照图示关闭SD1的WP即可。
https://whycan.cn/files/members/1510/(11).png
如果不介意的话,也可以用我之前做好的xsa和bit。不过现在板子不在身边,没法测试是否有你说的问题。
注明一下,xsa和bit是用最新的Vivado 2019.2生成的,不知道会不会有兼容性问题。
你说的对,我也觉得Vivado项目里应该有办法。但是我本人是软件背景的,Vivado不大会用,做这个用的Vivado项目是淘宝卖家给的。网上找的的资料也是改设备树的,就这样先这样绕过这个问题。
如果有人只读怎么怎么改Vivado,在这里讲一下。
感谢分享,不过我还没试过把rootfs放在SD卡。。
不过如果我没记错的话,应该是可以在Vivado关闭WP的,不需要在设备树进行额外操作。所以要么是原本的Vivado工程有问题,要么就是PetaLinux的bug了。
自己找到办法了。这个问题比较典型,网上资料也比较少,贴出来可能其他人会有用。我自己折腾了好几天。
主要参考了这个帖子:http://www.zedboard.org/content/ultrazed-iocc-sd-card-ro
简单说一下原因。SD卡是有写保护的,但是TF卡是没有写保护的。根据AR#61064 (https://www.xilinx.com/support/answers/61064.html),硬件设计的时候应该把SDIO的WP脚拉低,但是EdgeBoard并没有这么做。
解决办法是在project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi文件中增加以下内容:
&sdhci1 {
status = "okay";
max-frequency = <50000000>;
no-1-8-v; /* for 1.0 silicon */
disable-wp;
};
我也买了EdgeBoard。在楼主的基础上,我想把根文件系统放到SD卡的第二个分区,参考ug1144总是出现下面的错误。
VFS: Cannot open root device "mmcblk1p2" or unknown-block(179,26): error -30
看起来好像是SD卡写保护了。
mmcblk1: mmc1:0001 00000 1.89 GiB (ro)
楼主知道怎么回事吗?
启动串口输出见这里: start_msg.txt
页次: 1