目录

  • 环境
  • 准备
  • 工程
  • uboot
  • 设备树
  • 启动
  • 仓库

为了测试自制的Xilinx JTAG,弄了个矿板,灰常的便宜,在某宝上弄的,只要30多,加邮费40多。网上看了下,这个板子似乎还是比较火的,不少针对它的使用文章,今天本文也来简单描述下使用的过程。

环境

硬件: 矿板芯片为 xc7z010clg400-1
软件: Vivado 2017.4

准备

1、由于采用J4供电,故需要短接D24;
2、SD卡启动需要将 R2578 电阻换到 R2577 上;
3、焊接SD卡座,串口和JTAG口

工程

主要配置 nand 、SD卡、uart1、网口

网口配置成emio,包括mdio

网口为百兆

DDR3 为 MT41K128M16 JT-125, 大小为256M

nand 时序

网口为 百兆 MII 接口,四根数据线,

FCLK_CLK0 和 FCLK_RESET0_N 暂未使用,可以不添加,添加的话需要在生成的顶层文件 system_wrapper.v 中注释输出接口。

约束文件

set_property IOSTANDARD LVCMOS33 [get_ports ENET0_MII_RX_CLK]
set_property IOSTANDARD LVCMOS33 [get_ports ENET0_MII_TX_CLK]
set_property IOSTANDARD LVCMOS33 [get_ports FCLK_CLK0]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_TX_EN[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports ENET0_MII_RX_DV]
set_property PACKAGE_PIN U14 [get_ports ENET0_MII_RX_CLK]
set_property PACKAGE_PIN U15 [get_ports ENET0_MII_TX_CLK]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_RXD[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_RXD[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_RXD[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_RXD[0]}]
set_property PACKAGE_PIN V17 [get_ports {ENET0_MII_RXD[2]}]
set_property PACKAGE_PIN Y17 [get_ports {ENET0_MII_RXD[3]}]
set_property PACKAGE_PIN Y16 [get_ports {ENET0_MII_RXD[0]}]
set_property PACKAGE_PIN V16 [get_ports {ENET0_MII_RXD[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_TXD[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_TXD[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_TXD[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_MII_TXD[0]}]
set_property PACKAGE_PIN Y19 [get_ports {ENET0_MII_TXD[3]}]
set_property PACKAGE_PIN W18 [get_ports {ENET0_MII_TXD[0]}]
set_property PACKAGE_PIN Y18 [get_ports {ENET0_MII_TXD[1]}]
set_property PACKAGE_PIN V18 [get_ports {ENET0_MII_TXD[2]}]
set_property PACKAGE_PIN W19 [get_ports {ENET0_MII_TX_EN[0]}]
set_property PACKAGE_PIN W16 [get_ports ENET0_MII_RX_DV]
set_property IOSTANDARD LVCMOS33 [get_ports {led[0]}]
set_property PACKAGE_PIN W13 [get_ports {led[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports MDIO_ETHERNET_mdc]
set_property IOSTANDARD LVCMOS33 [get_ports MDIO_ETHERNET_mdio_io]
set_property PACKAGE_PIN W15 [get_ports MDIO_ETHERNET_mdc]
set_property PACKAGE_PIN Y14 [get_ports MDIO_ETHERNET_mdio_io]

uboot

版本 u-boot-xlnx-xilinx-v2018.3
修改 zynq-zc702.dts 文件

memory@0 {device_type = "memory";reg = <0x0 0x10000000>;
};

设备树

设备树修改添加

&gem0 {local-mac-address = [00 0a 35 00 00 00];phy-mode = "gmii";status = "okay";xlnx,ptp-enet-clock = <0x69f6bcb>;phy-handle = <&ethernet_phy>;ethernet_phy: ethernet-phy@0 {reg = <0>;device_type = "ethernet-phy";};
};&nand0 {arm,nand-cycle-t0 = <0x4>;arm,nand-cycle-t1 = <0x4>;arm,nand-cycle-t2 = <0x2>;arm,nand-cycle-t3 = <0x2>;arm,nand-cycle-t4 = <0x2>;arm,nand-cycle-t5 = <0x2>;arm,nand-cycle-t6 = <0x4>;status = "okay";pinctrl-names = "default";partition@0 {label = "nand-fsbl-uboot";reg = <0x0 0x300000>;};partition@1 {label = "nand-linux";reg = <0x300000 0x500000>;};partition@2 {label = "nand-device-tree";reg = <0x800000 0x20000>;};partition@3 {label = "nand-rootfs";reg = <0x820000 0xa00000>;};partition@4 {label = "nand-jffs2";reg = <0x1220000 0x1000000>;};partition@5 {label = "nand-bitstream";reg = <0x2220000 0x800000>;};partition@6 {label = "nand-allrootfs";reg = <0x2a20000 0x4000000>;};partition@7 {label = "nand-release";reg = <0x6a20000 0x13e0000>;};partition@8 {label = "nand-reserve";reg = <0x7e00000 0x200000>;};
};

内核编译没啥,就不说了,文件系统去官方wiki上找一个,或者用其他开发板的都可以。

将这5个文件放入SD卡中,插上SD卡,上电即可启动进入系统
BOOT.bin
devicetree.dtb
uEnv.txt
uramdisk.image.gz
zImage

uEnv.txt 文件内容

bootcmd=setenv bootargs "root=/dev/ram0 rw init=/linuxrc  console=ttyPS0,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}

文本使用的是米尔的文件系统,未作修改,进入系统需要配置ip才能使用网口。

启动

uboot网口也是ok的

仓库

相关工程及可用固件见 git 仓库
github:
https://github.com/feitingfj/EBAZ4205_PRO
码云:
https://gitee.com/feitingfj/ebaz4205_pro

矿板原理图等资料
https://github.com/feitingfj/EBAZ4205

矿板EBAZ4205之SD卡启动相关推荐

  1. 【迅为iMX6Q】开发板 u-boot 2020.04 SD卡 启动

    前言 iMX6Q 支持多种启动方式,如 emmc启动.SD 卡启动等,这里简单的记录一下 SD卡启动的流程 下载u-boot 使用 NXP 官方提供的 uboot-imx,代码地址为: https:/ ...

  2. OK6410开发板Uboot学习总结----(三)从SD卡启动分析

    前面讲了Uboot启动流程和如何修改调试串口,相信大家对Uboot已经有了初步的了解,今天来进行更深一点的分析.上篇文章 OK6410开发板Uboot学习总结----(二)修改调试打印串口 遗留一个问 ...

  3. ZYNQ-7000如何生成从Flash和SD卡启动的镜像文件

    将PL与PS部分一起使用,并且通过JTAG下载到板子运行.对于ZYNQ,有多种启动方式,比如从JTAG启动.从QSPI(即Flash)启动,从SD卡启动等.对于从JTAG启动的,我们直接运行程序就OK ...

  4. imx6 android SD卡启动

    工作中需要将imx6的android系统从SD卡启动,所以就分析了MfgTool中的脚本,分析android的分区情况,并尝试自己操作,竟然成功了,记录于此. 参考文档 http://www.kanc ...

  5. S5PV210体系结构与接口09:SD卡启动详解

    目录 1. MMC技术演进 1.1 NandFlash & NorFlash芯片 1.2 MMC卡 & SD卡 & MicroSD卡(TF卡) 1.2.1 代际关系 1.2.2 ...

  6. ubutntu 使用tftp_TI 816X开发板直接从SD卡读取内核到内存中和通过TFTP下载到内存中区别...

    用的是TI的 816X开发板,现在碰到一个问题,想不明白,请教各位. 我的开发环境是在vmware下安装的ubuntu10.04,通过网线连接到开发板的网口(J10),主机IP为192.168.0.1 ...

  7. 【TINY4412】U-BOOT移植笔记:(9)SD卡启动U-BOOT

    [TINY4412]U-BOOT移植笔记:(9)SD卡启动U-BOOT 宿主机 : 虚拟机 Ubuntu 16.04 LTS / X64 目标板[底板]: Tiny4412SDK - 1506 目标板 ...

  8. 嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210)

    嵌入式知识-ARM裸机-学习笔记(9):SD卡启动详解(S5PV210) 一.SD卡介绍 1. SD卡背景知识和特点 SD卡.MMC卡.MicroSD.TF卡:这些卡其实内部就是Flash存储颗粒,比 ...

  9. 第十一天: SD卡原理分析及SD卡启动详解

    主流的外存设备 内存和外存的区别: 一般是把这种(random access memory,随机访问存储器,特点是任意字节读写,掉电丢失)叫内存,把ROM(read only memory,只读存储器 ...

  10. SD卡启动tiny4412标准版(1306)的linux系统并挂载网络根文件系统

    uboot编译平台环境:64位win8.1的虚拟机vmware10下的ubuntu-12.04.5-64bit 交叉编译工具链为:  arm-linux-gcc-4.5.1 uboot压缩包:    ...

最新文章

  1. 随机位置显示图片不重叠前端实现详细讲解附效果图,代码可直接使用
  2. Google更新最大的带注释图像数据集,添加本地化叙述
  3. 执行python文件报错SyntaxError: Non-ASCII character '\xe8' in file, but no encoding declared
  4. leetcode2 两数相加
  5. Java 反射(练习)
  6. 基于git命令的代码统计方法
  7. CentOS RabbitMQ安装
  8. CentOS 挂载 exfat 和 FAT32格式的U盘
  9. 小姐姐给我讲,一听就懂的财务报表
  10. PJzhang:经典子域名爆破工具subdomainsbrute
  11. 基础知识:Mac上更改“字体”窗口中的字体大小
  12. VS2008中MFC界面编程Caption中文全是乱码的解决办法 -转载
  13. 【图像增强】基于matlab GSA灰度图像增强【含Matlab源码 1172期】
  14. VeryCD 电驴(easyMule) 1.1.9 稳定版
  15. 海康SDK/Ehome协议/RTSP协议/GB28181安防视频云服务EasyCVR前端音频采集流程介绍
  16. 华为手机里的计算机怎么设置,华为手机电脑发短信(华为手机怎么把短信弄到电脑上)...
  17. java logger 乱码_Log4j乱码
  18. BeanUtils.populate()用法
  19. 判定被7整除的简易方法
  20. 微软GitHub账户500G源代码被盗取,黑客声称欲免费公布

热门文章

  1. 从博客、简书的学习者,到博客分享者,角色的转变
  2. 同比 数据模型 环比_再谈Cognos利用FM模型来做同比环比
  3. The Eyes of Love
  4. Python数轴、长整型,编程练习题实例二
  5. iOS开发高仿抖音,上下切换、横竖屏播放!
  6. swift-观察者模式
  7. 【影像配准】多时相遥感影像配准结果模块化(附有完整代码)
  8. 最新综述!基于视觉的自动驾驶环境感知(单目、双目和RGB-D)
  9. Markdown测评记录
  10. uview2.0校验报错【设置rules,model必须设置!如果已经设置,请刷新页面】