【问题标题】:Atlas-SoC board preloader troubleshootingAtlas-SoC 板预加载器故障排除
【发布时间】:2019-03-30 19:30:59
【问题描述】:

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

  1. 生成 .rbf 文件。
  2. 我使用 EDS-SoC 的 bsp-editor 工具制作了一个预加载器。
  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 启动了更新并再次编译了整个内容。之后,preloader 和 uboot 都是用同样的步骤制作的,结果让我吃惊:在 Putty 终端上,我只有这一行

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

然后什么也没发生。我认为预加载器有问题,它与我的 Quartus 设计不匹配,或者我在构建预加载器时犯了错误。

我搜索了很多地方,提出了很多假设,并试图解决这个问题。我什至联系了 Terasic 并访问了 Intel 社区论坛,但仍然没有得到答复。

【问题讨论】:

    标签: preloader intel-fpga bare-metal


    【解决方案1】:

    如果 U-boot 没有出现,那么预加载器没有完成它的工作。在为裸机设计构建预加载器时,您需要检查一些设置(例如,必须禁用看门狗定时器)。

    如果 U-boot 启动并且您可以在其中输入命令,则表示您的预加载器工作正常。您可以首先在 u-boot 上手动输入命令来配置 FPGA(启用桥接器,加载 rbf 并转到软件应用程序的起始地址)已生成,但您需要编写必要的 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

    希望对你有帮助!

    【讨论】:

    • 抱歉回复晚了。这个问题已经有一段时间了,幸运的是,经过几周的努力,我设法解决了这个问题。我还成功地运行了我的第一个裸机应用程序(闪烁的 LED,不多),但我忘记更新我的情况(我的道歉)。但是非常感谢您的帮助。我发现你的教程真的很有帮助,所以我接受它作为最终答案,以后有问题的人可以查看。
    猜你喜欢
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多