答疑解惑 | 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)。

相关推荐
雨霁初曦3 小时前
VHDL设计-基于四状态Moore型状态机
fpga开发
liuluyang5305 小时前
clk_mux_seq sv改进
fpga开发·uvm
cmc10286 小时前
222.ila窗口不出来----如果ad9361相连的rx_data_clk_in_p没有接匹配电阻,出来的时钟会不会很差,导致ila不正常工作呀
fpga开发
ALINX技术博客6 小时前
【黑金云课堂】FPGA技术教程Vitis开发:RTC中断讲解
单片机·嵌入式硬件·fpga开发
unicrom_深圳市由你创科技7 小时前
FPGA开发中的“时序约束“是什么?怎么写约束文件?
fpga开发
发发就是发10 小时前
资源管理:I/O端口与内存映射
linux·服务器·驱动开发·单片机·嵌入式硬件·fpga开发
Soari1 天前
Ziggo-CaaS-Switch软件配置: undefined reference to pthread_create
java·开发语言·fpga开发·tsn·zynq·交换机配置
嵌入式×边缘AI:打怪升级日志1 天前
使用文件 I/O 操作硬件 —— 从 LED 到温湿度传感器
qt·led·温湿度传感器
碎碎思1 天前
开源雷达做到20km?一个PLFM雷达项目的FPGA实现拆解
fpga开发