关于MicroBlaze软核固化的方法

笔者在上个项目用到了MicroBlaze软核,最后在固化程序的时候遇到了一些问题,后来用下面的方式基本每次都能固化成功,下面和大家分享一下。

 

1.首先找到工程中SDK对应的EIF文件,当前文件生成的时间是最近一次生成的时间。

关于MicroBlaze软核固化的方法_第1张图片

2.打开Vivado工程,打开左上方的File文件,打开Export,打开Export Hardware,勾选一下,OK,如果后面有对话框,一直点OK,这一步是将bit文件输出至SDK中。

关于MicroBlaze软核固化的方法_第2张图片

3.打开左上方的File文件,打开Launch SDK,点OK,打开SDK。

关于MicroBlaze软核固化的方法_第3张图片

4.在SDK软件的左上方打开Project,打开Clean,点OK。这一步是生成最新的ELF文件。

关于MicroBlaze软核固化的方法_第4张图片

5. 新的ELF文件时间已经变成最新的了。

关于MicroBlaze软核固化的方法_第5张图片

6.等待SDK软件运行完,关闭SDK软件,打开Vivado,打开左上方Tools,打开Associate ELF Files,(或者在你的Design Sources中直接右键点击黄色BD工程,打开Associate ELF Files),然后点击对话框中间的Skip Generate。切记不要点左侧,它会重新生成所有的文件,时间很漫长。

关于MicroBlaze软核固化的方法_第6张图片

7.出现两个ELF文件的路径,第一个是BD工程对应的ELF文件,点击后面的....,添加刚才最新生成的ELF文件,点OK。

下面的是仿真需要的ELF文件,同样的方式添加。

关于MicroBlaze软核固化的方法_第7张图片

8.确定添加的路径是最新生成的ELF文件,不然前功尽弃。

关于MicroBlaze软核固化的方法_第8张图片

9.按照2和3的步骤重新打开SDK软件,找到左上方的Project Explorer下对应的工程,左键选中工程,打开上方的Xilinx Tools,打开Generate Linker Script。

关于MicroBlaze软核固化的方法_第9张图片

10.下面是MicroBlaze对应的内存地址信息,右侧的Heap Size和Stack Size 地址大小,我改成了10KB,原本的1KB应该也可以,(这一步应该可以不修改)

关于MicroBlaze软核固化的方法_第10张图片

11.改成10KB后,点击Generate,重新生成一下,点Yes,等待SDK重新加载完,关闭SDK。

关于MicroBlaze软核固化的方法_第11张图片

12.打开Vivado,在Design Runs中右键点击synth_1综合,Reset Runs 复位一下,然后按照之前生成bit文件的方式重新生成bit文件,然后生成mcs文件,该步骤不再赘述。

关于MicroBlaze软核固化的方法_第12张图片

13.新生成的mcs文件大小跟之前的mcs文件大小一样,但是新生成的mcs文件里面包含了SDK的固化程序。如果新生成的mcs文件固化之后SDK没有起来,那么就按照上述步骤重新来一遍,笔者实验十几次,只有一次没有成功。

这种方式比较繁琐,但是能固化成功,如果大家有更好的方法,欢迎讨论哈。

 

 

 

你可能感兴趣的:(Vivado,fpga/cpld,深度学习,硬件)