Linux运行fpga,测试运行 - 将PetaLinux移植到FPGA上的原因和步骤详解

测试运行在设备上的PetaLinux

下面介绍PetaLinux的引导方式。MicroBlaze处理器可处理驻留在Block RAM中的代码。第一阶段的引导载入程序(fs-boot)将初始化基本硬件、执行fs-boot.elf、搜索通用引导载入程序或U-Boot、在闪存分区中进行寻址(因为U-Boot的地址已在配置fs-boot时设定)。随后,fs-boot将从闪存中的U-Boot分区中获取U-Boot映像,将其发送到设备的DDR3存储器并运行内核。一旦构建好所有引导所需的映像后,您就可以通过JTAG、以太网或快速仿真器在硬件上测试这些映像了。QEMU是一种仿真器和虚拟机,允许您运行PetaLinux操作系统[9]。下面讨论所有这三种解决方案的引导方法。

JTAG是编程和测试FPGA设计的传统方法。为使用JTAG对FPGA进行编程,我们使用了下拉菜单“Xilinx Tool → Program the FPGA”并下载了之前生成的download.bit文件。随后我们使用GUI(PetaLinux SDK → BOOT JTAG [Li-nux])将映像下载到了电路板上,如图2所示。您也可以在Linux终端上使用下列命令:

$ cd/opt/PetaLinux _v12.12/software/ PetaLinux-dist

$ PetaLinux-jtag-boot -i images/image.elf

此外,您还可使用U-Boot执行间接内核引导,从而引导PetaLinux。系统首先使用GUI(PetaLinux SDK → BOOT JTAG [U-Boot])或以下命令通过JTAG接口下载U-Boot来进行引导。

$ cd $PETALINUX/software/ PetaLinux-dist

$ PetaLinux-jtag-boot -i images/u -boot.elf

图6是U-Boot控制台的快照。

值得注意的是,FPGA电路板连接的是以太网接口。您必须在XPS的硬件资源部分选择以太网接口。一旦U-Boot引导成功,就要检查服务器和主机的IP地址是否相同。如果IP地址不同,请在U-Boot终端上使用下列命令设置主机IP。

u-boot》print serverip // prints 192.168.25.45(server ip)

u-boot》print ipaddr // prints IP address

of the board as // 192.168.25.68

u-boot》set serverip // Host IP 192.168.25.68

u-boot》set serverip 192.168.25.68192.168.25.68

现在服务器(PC)和主机(KC705电路板)具有相同的IP地址。请通过服务器运行网络引导命令,下载PetaLinux映像和引导程序:

u-boot》 run netboot

运行网络引导命令后,您应该能够看到PetaLinux控制台,如图5所示。

最后您可使用GUI(PetaLinux SDK → BOOT QEMU [Linux])或以下命令执行内核引导,这也很重要。

$ cd $ PETALINUX/software/ PetaLinux-dist $ PetaLinux-qemu-boot -i images/image.elf

使用这种快速方法,我们将看到图7所示信息。

测试运行在设计上的应用

完成PetaLinux引导的测试后,接下来就是测试专为PetaLinux设计的用户应用。MicroBlaze处理器将Kintex-7 FPGA电路板上的硬件外设视为一组存储寄存器。每个寄存器都有自己的基址和结束地址。要访问一个外设,用户必须知道它的基

1b3c97ce44aa3566960e4b7e7ff77b22.png

图5:确认操作系统引导成功的PetaLinux控制台快照

34bc54106ee6dbb8ac2922f5ba43c1af.png

图6:通过通用引导载入程序(U-Boot)进行的间接内核引导

址和结束地址。您可以在设备树源(*.dts)文件中找到有关地址的详细信息。就本设计而言,我们开发并测试了四款应用,分别是访问DDR3、使用/dev/mem访问GPIO、使用UIO访问GPIO和文件传输。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值