答疑解惑 | DE25-Nano开发板Uboot阶段与FPGA外设交互失败

近日测试友晶官网提供的de25_nano_revA_sdcard_console_v1.1.zip镜像(下载地址:https://www.terasic.com.cn/cgi-bin/page/archive.pl?Language=China&CategoryNo=69&No=1392&PartNo=4#contents),想在该镜像的 U-Boot 阶段通过内存映射的方式来读写 FPGA 外设(如 LED、开关、按键)对应的寄存器,从而实现在操作系统启动前快速验证FPGA逻辑是否正确。

下面选择测试FPGA端外设LED。首先,查阅资料https://www.intel.com/content/www/us/en/programmable/hps/agilex5/hps.html 可知Agilex 5的 lwHPS-to-FPGA基地址是0x2000000:

另外,友晶科技提供的 GHRD工程 (即de25_nano_revA_sdcard_console_v1.1.zip镜像对应的底层硬件设计工程)的 LED 组件偏移地址是0x00010080:

所以使用uboot命令mw写外设LED对应的寄存器时,其命令格式是:

复制代码
mw.l 0x20010080 0x00

0x00是写入寄存器的值,查看DE25-Nano的schematic file(或者直接查看manual说明)可以知道其LED是低电平点亮,高电平熄灭:

在DE25-Nano开发板上启动de25_nano_revA_sdcard_console_v1.1.zip镜像,在Uboot阶段按键盘任意键进入Uboot命令行输入环境,当使用mw.l 0x20010080 0x00命令写寄存时遇到这些提示:

友晶官方发布的de25_nano_revA_sdcard_console_v1.1.zip 制作步骤https://github.com/johnnyfan1979/public_doc/blob/main/documentation/DE25_Nano/DE25%20Nano%20Build%20Linux%20image%20from%20scratch.md中,Uboot脚本有如下这些内容:

但是在uboot命令行阶段这个脚本还没有被执行,所以要想在uboot阶段能够访问FPGA 端的外设,就需要手动执行bridge enable, 具体操作如下截图:

从上面截图可以看到, 手动执行了bridge enable以后mw命令就可以成功执行了,这时候可以看到DE25-Nano上的LED灯先灭(0xff),然后再亮(0x00)。

相关推荐
Riwuarua2 小时前
从近似0基础开始FPGA开发 -- part.11 AXI总线协议与工程应用
fpga开发
自小吃多3 小时前
高云 FPGA 添加时序约束笔记
笔记·fpga开发
学习FPGA的电气小兴兴9 小时前
基于FPGA的CORDIC旋转模式实现sin和cos运算
fpga开发·信号处理·数字信号处理·verilog·fpga·verilog hdl·cordic
blue_ice .12 小时前
DDS原理及简易实现
开发语言·经验分享·笔记·嵌入式硬件·fpga开发
明德扬12 小时前
AD9653采集模块怎样连接FPGA底板?从ADC采样到数据处理
学习·fpga开发·fpga
上海芯聚电子1 天前
ADC与FPGA之间,如何减少板级设计复杂度?
fpga开发·adc
自小吃多1 天前
高云FPGA ModelSim中的仿真
笔记·嵌入式硬件·fpga开发
通信王661 天前
适用于 FPGA 和 SoC 的UltraFast 设计方法指南(1)-UG949
fpga开发
明德扬1 天前
AD9653采集模块、PCIe采集卡和完整采集系统怎么选?
fpga开发·fpga
智塑未来1 天前
FPGA开发板选型:研发交付能力怎么看
人工智能·fpga开发