矿板EBAZ4205之SD卡启动全流程实战

张开发
2026/6/25 23:03:06 15 分钟阅读
矿板EBAZ4205之SD卡启动全流程实战
1. 矿板EBAZ4205硬件改造指南这块售价仅30多元的矿板EBAZ4205搭载Xilinx Zynq-7010芯片性价比极高。但原设计主要用于挖矿需要经过三项关键硬件改造才能实现SD卡启动功能。首先是供电改造。板载的J4接口需要短接D24电阻来实现5V供电我用镊子轻轻刮开阻焊层用焊锡直接短接两个焊盘。实测时发现一个坑如果短接不彻底上电后PS端的1.0V电压会不稳定导致后续步骤全部失败。其次是启动模式切换。原板通过R2578电阻配置为NAND启动我们需要将其移到R2577位置。这里有个实用技巧先用热风枪300℃吹10秒软化焊锡再用镊子夹取电阻。我最初用烙铁操作时不小心把旁边的电容也带下来了后来发现用热风枪更稳妥。最后是SD卡座焊接。板子上预留了SD卡接口焊盘但需要自购卡座。推荐使用TF卡座型号PJ-202A占位更小。焊接时注意1脚方向要对准板子上的三角标记我反接过一次导致读卡异常。建议先用万用表测量各引脚通断确保没有虚焊。注意所有硬件操作前务必断电焊接时温度控制在350℃以内避免损坏周边元件。2. Vivado工程配置详解在Vivado 2017.4中新建工程时器件选择xc7z010clg400-1。创建Block Design后需要重点配置以下几个部分Zynq Processing System的核心配置DDR3选择MT41K128M16 JT-125时钟配置为33.333MHz与板载晶振一致启用MIO和EMIO其中SD0接口通过EMIO引出网络接口的配置比较特殊。由于板载PHY芯片是RTL8211E我们需要将Gem0设置为MII模式MDIO接口频率设为2.5MHz启用RX/TX延迟补偿约束文件的关键点在于引脚分配。根据原理图网口相关引脚对应关系如下set_property PACKAGE_PIN U14 [get_ports ENET0_MII_RX_CLK] set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_RXD[0]}] set_property PACKAGE_PIN Y16 [get_ports {ENET0_MII_RXD[0]}]生成bitstream时常见两个问题一是时序不满足需要降低时钟频率二是功耗估算超标建议关闭未使用的外设时钟。我遇到过生成失败的情况后来发现是DDR配置参数有误修改tRFC值为110ns后解决。3. U-Boot移植与定制使用u-boot-xlnx-xilinx-v2018.3版本源码主要修改集中在设备树文件。内存配置需要调整为memory0 { device_type memory; reg 0x0 0x10000000; };网络驱动配置要特别注意PHY地址。通过测量发现板载PHY的地址是0因此设备树中要相应修改ethernet_phy: ethernet-phy0 { reg 0; device_type ethernet-phy; };编译命令如下make zynq_ebaz4205_defconfig make CROSS_COMPILEarm-linux-gnueabihf-生成的u-boot.elf需要与FSBL和bitstream打包成BOOT.bin。我测试时发现网卡不工作后来在u-boot环境变量中添加了以下配置才解决setenv ethaddr 00:0a:35:00:00:01 setenv ipaddr 192.168.1.100 setenv serverip 192.168.1.1014. 系统启动与调试将以下文件按序放入SD卡FAT分区BOOT.bin包含FSBLbitstreamu-bootdevicetree.dtbuEnv.txturamdisk.image.gzzImageuEnv.txt的典型配置bootcmdsetenv bootargs root/dev/ram0 rw init/linuxrc consolettyPS0,115200 load mmc 0 ${ramdisk_load_address} uramdisk.image.gz load mmc 0 ${devicetree_load_address} devicetree.dtb load mmc 0 ${kernel_load_address} zImage bootz ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}上电后常见问题排查无输出检查串口线序板子是TX-RX交叉接法卡在Starting kernel通常是设备树内存地址错误网卡不工作检查PHY复位信号和MDIO通信我使用的文件系统来自米尔科技首次登录需要配置网络ifconfig eth0 192.168.1.100 netmask 255.255.255.0 route add default gw 192.168.1.1所有工程文件已开源在GitHub仓库包含测试通过的预编译固件。在实际项目中这套配置已经稳定运行超过6个月适合作为低成本嵌入式开发平台。遇到任何问题都可以查看仓库中的FAQ文档或者提交issue讨论。

更多文章