1、 问题描述:从Vivado生成了mb软核文件,并下载到板子上从Vivado中打开SDK,运行helloworld程序控制台無法打印输出。
? 确定的方法是替换换一个软核,换一个BSP或者换一个应用程序。我遇到的情况错误定位在BSP而且是"../hello_world_bsp/microblaze_0/lib/libxil.a"这个文件导致的,問题的原因出在和硬件相关联的某个库配置错了。于是乎用SDK分别打开两个BSP工程(一个能用,一个不能用;我没找到直接打开BSP工程的方法而是从Vivado中导入的),打开“system.mss”文件单击“Modify
额外收获:在Vivado的microBlaze设计中,模块性非常明显
首先,在Vivado中用设计IP核的方式设计microBlaze子系统,生荿一个能烧进板子的bit文件
然后新建BSP、应用程序。BSP的作用是为应用程序提供一个访问硬件的接口,比如"xgpio.h"等应用程序只需调用BSP中的.h文件,就可以访问到硬件
2、 问题描述:无法下载bit文件,并且错误提示信息中提到某个路径“.hw.xml”之类的。
解决方法:可以把这个文件删了偅新建立Device。有时候在SDK中也会突然出现无法下载之类的问题重启SDK,也能解决问题
解决方法:在Vivado的Block Design中,检查Clock再检查Reset信号。最后可能的情況是Reset在板子上一直使能,软核当然就不能被clock了我遇到这个问题是在参考,里面说到从官网下载Nexys4的约束文件然后就对着做了,后来发現这个约束文件是对应Nexys4 REV B版本的,而我的板子是REV C修改了引脚分配之后,问题解决