• Vivado_MicroBlaze_问题及解决方法_汇总(不定时更新)


     

    Vivado_MicroBlaze_问题及解决方法_汇总(不定时更新)

    标签: Vivado
     分类:

    1、 问题描述:从Vivado生成了mb软核文件,并下载到板子上。从Vivado中打开SDK,运行helloworld程序,控制台无法打印输出。

    解决方法1:.在SDK的Run配置选项中,需要在STDIO Connection中选中“Connect STDIOto Console”,并将Port设置为“JTAG UART”。

    解决方法2:确定问题出现的位置:hw_platform ? Board Support Package ? software application ? 确定的方法是替换,换一个软核,换一个BSP,或者换一个应用程序。我遇到的情况错误定位在BSP,而且是"../hello_world_bsp/microblaze_0/lib/libxil.a"这个文件导致的,问题的原因出在,和硬件相关联的某个库配置错了。于是乎,用SDK分别打开两个BSP工程(一个能用,一个不能用;我没找到直接打开BSP工程的方法,而是从Vivado中导入的),打开“system.mss”文件,单击“Modify this BSP's Settings”,一对比,发现,在standalone视图下,stdin和stdout的值都是axi_uartlite_0(因为我在Vivado配置软核时,添加了Uart IP核),把它们的值改为“mdm_1”。问题解决。

    额外收获:在Vivado的microBlaze设计中,模块性非常明显。

    首先,在Vivado中,用设计IP核的方式设计microBlaze子系统,生成一个能烧进板子的bit文件。

    然后在Vivado中,“Export Hardware”,即生成一个SDK可识别的硬件平台(本质上就是一个文件夹,文件里面包含一个文件,mb_subsystem_wrapper.hdf)。

    从Vivado中打开SDK后,SDK读取mb_subsystem_wrapper.hdf文件,新建与硬件平台相关的文件夹。

    然后新建BSP、应用程序。BSP的作用,是为应用程序提供一个访问硬件的接口,比如"xgpio.h"等。应用程序只需调用BSP中的.h文件,就可以访问到硬件。

    2、 问题描述:无法下载bit文件,并且错误提示信息中提到某个路径,“.hw.xml”之类的。

    解决方法:可以把这个文件删了,重新建立Device。有时候在SDK中也会突然出现无法下载之类的问题,重启SDK,也能解决问题。

    3、 问题描述:MicroBlaze找不到时钟

    解决方法:在Vivado的Block Design中,检查Clock,再检查Reset信号。最后可能的情况是,Reset在板子上一直使能,软核当然就不能被clock了。我遇到这个问题是在参考David's Blog,里面说到从官网下载Nexys4的约束文件,然后就对着做了,后来发现,这个约束文件是对应Nexys4 REV B版本的,而我的板子是REV C。修改了引脚分配之后,问题解决。

    转载:http://blog.csdn.net/DuinoDu/article/details/46741387
  • 相关阅读:
    BZOJ 1040 (ZJOI 2008) 骑士
    BZOJ 1037 (ZJOI 2008) 生日聚会
    ZJOI 2006 物流运输 bzoj1003
    ZJOI 2006 物流运输 bzoj1003
    NOI2001 炮兵阵地 洛谷2704
    NOI2001 炮兵阵地 洛谷2704
    JLOI 2013 卡牌游戏 bzoj3191
    JLOI 2013 卡牌游戏 bzoj3191
    Noip 2012 day2t1 同余方程
    bzoj 1191 [HNOI2006]超级英雄Hero——二分图匹配
  • 原文地址:https://www.cnblogs.com/chengqi521/p/7941814.html
Copyright © 2020-2023  润新知