你知道DE10-Nano 的 GHRD工程top文件设计了一个闪烁的LED灯是有什么作用吗?它是FPGA 配置成功与否的flag!

DE10-Nano 的 GHRD工程(DE10_NANO_SoC_GHRD 或者 DE10_NANO_SoC_FB)的top文件都设计了一个LED灯闪烁电路:
在这里插入图片描述
电路如下:
在这里插入图片描述
这个仅仅是测试一个LED吗? 或者仅仅是演示一个计数器电路吗?其实不止这些,它的用处可大了呢!

当我们把生成的sof文件转化成rbf文件拷贝到SD卡, 系统启动的过程中如果一眼看到开发板led亮了, 说明FPGA加载成功,如果没有亮,说明加载失败。所以,这个LED可以帮助我们直观判断rbf文件加载是否成功。

在linux开发调试过程中大家会发现,rbf如果没有加载成功,系统也继续boot起来,如果没有这个LED, 经验不足的工程师可能不能第一时间判断出rbf文件加载出现了问题。

有的人说可以在开发板串口里面到处找提示,但是 串口里面的提示信息太多了,不好找。而且串口中rbf加载反馈的信息很容易被kernel启动后的打印信息覆盖掉以至于你根本都找不到。这个LED灯直观又简单,帮助定位非常方便!

MSEL设置

MSEL设置错误也会导致rbf加载失败

当发现rbf加载失败时,可以去查看MSEL 是否设置成功。

如果像这样选择File——Convert Programming Files生成rbf:
在这里插入图片描述
在这里插入图片描述
这样生成是rbf文件是未经压缩的,那么这个rnf文件拷贝到SD卡以后,需要设置MSEL 为000000, 如果设置为01010,你会发现系统可以正常起来:在这里插入图片描述
但是系统起来后,你的驱动和应用加载都看不到效果。此时查找串口打印信息里面也没有了rbf加载的反馈信息,因为被覆盖了。

如果你在start kernel 的时候拔掉DE10-Nano电源,这个时候rbf加载的反馈信息还在,这是你会看到提示如下:

altera_load: Failed with error code -4 (代表rbf加载失败),具体参考https://www.rocketboards.org/foswiki/Documentation/EmbeddedLinuxBeginnerSGuide

在这里插入图片描述

当然,点击File——Convert Programming Files后,如果继续点击Properties选择了Compression生成是rbf文件启动时要设置MSEL 为01010。
在这里插入图片描述
如果是通过DE10_NANO_SoC_FB文件夹下面的Makefile文件自动生成的rbf文件,则启动的时候MSEL需要设置为01010, 因为Makefile里面设置为压缩模式:
在这里插入图片描述

SD卡中rbf文件路径

如果rbf文件路径错了,rbf文件也加载不起来。

如果自己设置rbf文件的路径放置(boot.script文件)是这样设置:
在这里插入图片描述
那么rbf文件拷贝到SD卡的时候就直接放fat分区。

如果是对DE10_NANO_FB工程直接进行make all 生成boot.scr 则rbf要这样放置:
在这里插入图片描述
在fat分区新建一个output_files文件路径然后复制进去。

所以当rbf加载不成功,也要去检查rbf文件路径是否正确。

看,如果rbf加载成(FPGA 配置成功)了你会看到这样的现象:

DE10_NANO_SoC_FB——led

所以,这么一个小小led设计, 是不是非常妙。 您在FPGA SOC 调试的过程当中,也可以这样设计哦!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值