• 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.下载程序

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

  • 相关阅读:
    Linux 管道 管线
    中国网络拓扑图(主干网、地区网、主节点一览表)
    C++中的STL中map用法详解
    Git 丢弃本地修改
    Linux下指定so动态库的加载路径的5种方法!!!
    C++中string append函数的使用与字符串拼接
    C++执行shell命令linux
    Linux动态库.so文件加载搜索路径详解
    FFmpeg打印日志函数分析
    linux C/C++中调用shell命令和运行shell脚本
  • 原文地址:https://www.cnblogs.com/wojiaxiaoguo/p/9328560.html
Copyright © 2020-2023  润新知