Xilinx_Zynq_QSPI启动的编译、烧写、及配置过程步骤

Xilinx_Zynq_QSPI启动的编译、烧写、及配置过程步骤

 

一、 交叉编译器:

使用xilinx提供的编译器arm-xilinx-linux-gnueabi- Version 4.6.1版本。

1. 添加交叉编译器的环境变量:

打开~/.bashrc文件,在最后添加两行(按实际情况添加具体路径)

export PATH=$PATH:~/xillinx/xilinx/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin

export CROSS_COMPILE=arm-xilinx-linux-gnueabi-

 

保存推出,并使其立即生效: source ~/.bashrc

2. 检验交叉编译器安装是否成功:

在终端输入arm-xilinx-linux-gnueabi-gcc –v  察看版本号;

 

说明安装成功。

 

 

二、 U-boot相关:

使用从xilinx viki 上下载的u-boot-xilnx-xilinx-v2014.4.tar.gz版本。

1. u-boot解压,并进入到解压目录下。

tar –jxvf u-boot-xilnx-xilinx-v2014.4.tar.gz

cd u-boot-xilnx-xilinx-v2014.4

2. 配置u-boot

u-boot配置SDRAM大小为 512M大小,添加QSPI支持。

vi u-boot-xilnx-xilinx-v2014.4/include/configs/zynq_zed.h

添加以下宏,之后保存退出。

 

 

3. 编译u-boot

如果第一步配置好了环境变量,直接执行:

make distclean

make zynq_zed_config

make

编译完成后,生成ELF格式的u-boot文件,将其重命名为”u-boot.elf”。

并注意生成mkconfig可执行文件,制作文件系统时会用到。

 

4. 制作BOOT.bin文件:

使用xilinx SDK 制作BOOT.Bin。(具体察看手册《Z-turn Board 可编程逻辑开发手册.pdf》第三章)。

 

 

三、内核kernel相关:

使用xilinx viki 上下载的linux-xlnx-xilinx-v2014.4.tar.gz 版本。

1. kernel解压,滨进入到解压目录下。

tar –jxvf linux-xlnx-xilinx-v2014.4.tar.gz

cd linux-xlnx-xilinx-v2014.4

2. 编译kernel

如果第一步配置好了环境变量,直接执行:

make distclean

make zynq_zed_config

make

编译完成后,在 arch/arm/boot 下生成uImage。

 

arch/arm/boot/dts 目录下生成zynq_zed.dts设备树文件。

 

 

 

四、设备树device tree相关:

使用编译kernel时候生成的zynq_zed.dts进行编译设备树文件 zynq_zed.dtb。

1. 配置dtc的环境变量

kernel/scripts/dtc/下有dtc命令文件,使用这个命令可以生成.dtb文件。

打开~/.bashrc文件,在最后添加:(按实际情况添加具体路径)

export PATH=$PATH:~/xillinx/linux-xlnx-xilinx-v2014.4/scripts/dtc

 

2. 按需要改写.dts文件

本例希望在QSPI内进行如下分区,共五个分区,如图:

 

保存退出。

3. 生成.dtb文件

arch/arm/boot/dts目录下

命令:dtc –I dts –O dtb –o devicetree.dtb zynq_zed.dts

生成devicetree.dtb文件。

 

 

 

 

 

 

 

 

 

 

 

 

 

五、文件系统ramdisk

 

 

 

六、 按照zynq_zed.dts中的分区,烧写BOOT.bin 、devicrtree.dtb、uImage、ramdisk:

1. 首先使用SD卡启动,进入u-boot命令行;

2. 开启TFTP服务器,使用tftp将BOOT.bin通过网络烧写道qspi的0x0地址:

tftp 0x800000 BOOT.bin  //加载到内存

sf probe 0 0 0

sf erase 0x0 0x100000 //擦除1M空间

sf write 0x800000  0x0 0x100000 //写入qspi

3. 烧写 uImage

tftp 0x800000 uImage 

sf erase 0x100000 0x600000

sf write 0x800000  0x100000 0x600000

4. 烧写 devicetree.dtb

tftp 0x800000 

sf erase 0x700000 0x100000

sf write 0x800000  0x700000 0x100000

5. 烧写 ramdisk

  tftp  0x4000000 ramdisk

  sf erase 800000 1200000

  sf write 0x4000000 800000 1200000

6. 烧写 fpga生成的 Micron_only_flash.bit程序

tftp  0x4000000 Micron_only_flash.bit

  sf erase 1A00000 500000

  sf write 0x8000000 1A00000 500000

 

 

七、 设置u-boot参数及启动方式:

将板卡启动方式改为qspi启动;

进入u-boot命令行:

输入命令:

setenv bootcmd  'sf probe 0 0 0 && echo  qspi-bitstream is loading ... ... && sf read 0x800000 0x1A00000 0x500000 && fpga loadb 0 0x800000 0x400000 && echo uIamge is loading ... ... && sf read 0x2080000 0x100000 0x600000 &&echo deviceTree is loading ... ... && sf read 0x2000000 0x700000 0x100000 && echo ramdisk.image is loading ... ... && sf read 0x4000000 0x800000 0x1200000 && bootm 0x2080000 0x4000000 0x2000000'

saveenv

 

八、 重启板卡,顺利从qspi启动:

 

 

  • 9
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
xilinx_zynq7020 自定义 IP 开发文档是一份描述如何开发和使用自定义 IP(Intelligent Property)的技术文档。Zynq-7020 是 Xilinx 公司生产的一款可编程逻辑器件,搭载了 ARM 处理器和 FPGA 芯片,能够同时实现软件和硬件设计,为嵌入式系统开发提供一种更灵活的解决方案。 在自定义 IP 开发文档中,我们将了解如何使用 Vivado 设计套件来开发自己的 IP。首先,我们需要对 IP 的功能和硬件架构进行规划和设计。可以选择将已有的硬件模块集成为 IP 核,也可以通过硬件描述语言(HDL)从零开始编写 IP 核。然后,我们将详细说明如何使用 Vivado 的 IP Integrator 工具集成 IP 核到我们的设计中,并进行连接和配置。 在自定义 IP 开发文档中,我们还将了解如何为 IP 核创建适当的接口,包括输入输出端口和控制寄存器等。可以通过使用 AXI 或者其他总线协议来定义接口。此外,我们还将学习如何为 IP 核编写相应的测试代码,并在仿真和实际硬件中进行验证和调试。 除了基础的 IP 开发知识,这份文档还提供了一些高级话题,如如何优化 IP 核的性能,如何编写可重用的 IP 代码等。另外,文档还包含了一些实际案例,以帮助读者更好地理解和应用这些知识。 总之,xilinx_zynq7020 自定义 IP 开发文档详细介绍了如何使用 Vivado 设计套件开发和使用自定义 IP 核。通过学习这份文档,读者可以了解到 IP 开发的基础知识,掌握相关工具的使用方法,并具备开发和优化 IP 核的能力,从而更好地应用于各种嵌入式系统开发中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值