Atlas-SoC板预加载器故障排除

问题描述 投票:0回答:1

我刚从Terasic(Atlas-SoC)购买了一个新的Cyclone V板,并计划建造一个裸机应用程序。起初,我使用了Terasic提供的GSRD。示例项目来自版本14.0和我的17.1 Quartus让我启动对这些14.0 IP的更新,但我看到他们已经编译了所有内容并且我有一个切换文件夹。我需要做的只是做一个preloader和uboot。然后我按照这些步骤(从火箭板和其他许多地方):

  1. 生成.rbf文件。
  2. 我使用EDS-SoC的bsp编辑器工具制作了预加载器。
  3. 成功编译预加载器并获取preloader-mkpimage.bin。
  4. 生成uboot以及uboot脚本文件。
  5. 使用alt-boot-disk-util将预加载器加载到SD卡中。
  6. 将所有rbf文件,uboot和uboot脚本复制到SD卡。此刻我没有做任何申请,因为我想检查是否加载了预加载器。
  7. 将SD卡插入电路板,然后打开电源8.在Putty中,我看到U-boot spl和Uboot工作正常。

第一次成功,我试图制作自己的HPS-FPGA设计。我基于HPS配置来制作我自己的HPS(初始化I2C,UART,没有sdram等)。对于FPGA部分,我放了一些LED PIO,JTAG UART,System ID外设等。

在完成我的平台设计器(Qsys)之后,我制作了一个VHDL顶级文件并连接所有节点(就像GSRD设计一样)。此时,我没有添加任何IP,例如HPS重置,去抖等,因为我只想查看预加载器是否工作。

然后我按照GSRD的设计完成了那些步骤,但是这次在Putty上我没有收到任何东西。 U-Boot SPL甚至没有出现。感觉很奇怪,我回到GSRD检查。我复制了GSRD设计的整个文件夹,并将其作为我自己的新项目。然后我启动了这些IP的更新并再次编译了整个事情。之后,预加载器和uboot以相同的步骤制作,结果让我感到惊讶:在Putty终端上,我只有这一行

U-Boot SPL 2013.01.01 (Mar 08 2019 - 10:28:04)

没有别的事发生。我认为预加载器出了问题,它与我的Quartus设计不匹配,或者在构建预加载器时出错了。

我在很多地方搜索过,提出了许多假设,并试图解决这个问题。我甚至联系了Terasic并访问了英特尔社区论坛,但我仍然没有得到答案。

preloader intel-fpga bare-metal
1个回答
0
投票

如果未显示U-boot,则预加载器不会执行其工作。在为裸机设计构建预加载器时,需要检查一些设置(例如,必须禁用看门狗定时器)。

如果U-boot启动并且您可以在其中输入命令,则意味着您的预加载器正常工作。您可以首先在u-boot上手动输入命令来配置FPGA(启用桥接器,加载rbf并转到软件应用程序起始地址)如果按照此方法运行应用程序并运行FPGA,则表示所有文件都正确已生成,但您需要编写必要的u-boot命令脚本并运行脚本以自动配置FPGA并从u-boot运行应用程序。

这是一个指向DE1-SoC的github存储库的链接,您可以在其中找到有关如何在裸机中启动HPS-FPGA系统的完整教程:https://github.com/sahandKashani/SoC-FPGA-Design-Guide/blob/master/DE1_SoC/SoC-FPGA%20Design%20Guide/SoC-FPGA%20Design%20Guide%20%5BDE1-SoC%20Edition%5D.pdf

我希望它有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.