sof与NIOS II的elf固件合并生成jic文件

关于sof与NIOS II的elf固件合并生成jic文件,我在参考网上的教程后,按教程操作,但中间遇到一些问题,在自己调试后,终于搞定,现在将一步一步的教程分享给大家,大家可以进行转载,请注明来源,谢谢!

本文参考【小梅哥SOPC学习笔记】sof与NIOS II的elf固件合并jic得到文件            https://www.cnblogs.com/xiaomeige/p/6709991.html

有两种方法可以让大家使用,一种是输入命令法,另一种是把命令放在txt文件中,执行TXT文件即可,第一种每次转化都要输入命令,比较繁琐,第二种,简单修改txt文件即可,我推荐第二种,下面两种方法都介绍下:

不管是方法一还是方法二,前提首先要在Qsys里面加入EPCS模块,如下图所示。然后生成对应的.sof文件和.elf文件。

 

方法一:命令法

1.将.sof 文件生成flash文件:

⑴首先我们打开我们的NIOS II软件工程,可看到led和led_bsp

⑵选中led,单击右键并选择Nios II -> Nios II Command Shell

此时出现如下界面

⑶将quaryus生成的.sof文件从output_files文件夹中拷贝到led文件夹中(目录如下图):

即从  

拷贝到  

⑷在命令行窗口中执行

sof2flash --input=test_led.sof --output=hwimage.flash --epcs –verbose命令

使用ls命令,可看到生成了hwimage.flash

2.将.elf文件生成flash文件:

⑴输入命令:elf2flash --input=led.elf --output=swimage.flash --epcs --after=hwimage.flash –verbose

 

使用ls命令,可看到生成了swimage.flash文件

3.转换.flash文件到.hex文件

直接输入以下命令:nios2-elf-objcopy --input-target srec --output-target ihex swimage.flash swimage.hex

 

输入ls命令,可看到生成swimage.hex

 4.把hex文件转换成jic文件

⑴在Quartus® II软件中,open File > Convert Programming Files > Set the programming file as JTAG Indirect Configuration File (.jic).

⑵选择EPCS

在配置下拉菜单中选择合适大小的EPCS器件(见第7步图)

⑶命令jic

命名你的输出.jic 文件(见第7步图)

⑷Add Device

点击Flash Loader的下面,在右边选择Add Device (见第7步图)

⑸选择FPGA器件

从列表中选择你的FPGA器件(见第7步图)

⑹Add SOF

点击SOF Data,选择Add File,选择加.sof 文件(见第7步图)

⑺Add Hex data

点击Add Hex data,选择Relative addressing,选择上面生成的.hex 文件

 

⑻.然后点击Generate生成。生成完成后检查生成的 .map 文件(使用记事本打开)有Page_0在起始地址0x0,.hex文件在Page_0结束地址后的起始地址1

 

 5.下载jic文件

下载完成后,重新对FPGA上电,观看效果

 方法二:txt文件法

1.在led目录下新建一个txt文件

2.把命令复制到txt文件中

sof2flash --input=test_led.sof --output=hwimage.flash --epcs -verbose
elf2flash --input=led.elf --output=swimage.flash --epcs --after=hwimage.flash -verbose
nios2-elf-objcopy --input-target srec --output-target ihex swimage.flash swimage.hex

 

如果下次下载程序时,只需要把下图中的名字改成对应的即可。

3.在命令窗口执行./test.txt命令

生成了和方法一一样的hwimage.flash,swimage.flash,swimage.hex文件。

 4.生成jic文件

按照上面方法一的步骤,把hex文件转换成jic文件

5.下载程序

 按照方法一中的下载程序步骤

posted @ 2018-07-18 12:54  606  阅读(770)  评论(0编辑  收藏  举报