将nios产生的编程文件转换成jic

前言:

基于某种原因,自从开始fpga开发和nios项目开发中,均为正常使用EDS IDE自带的flash programmer 进行成功的下载固化epcs程序。好在通过研究,发现了可以使用命令行直接合成数据。通过jic转换工具,直接生成jic文件,直接使用jtag下载,由此省了不少事。

使用软件:Quartus II 12.0(基于某种原因不再考虑之前的版本,13.1测试也没问题)

FPGA:EP4CE10E22C8

开发板:FPGA_VIP_V101 核心板 EP4_V202

操作系统:xp 32bit

将sof和elf文件合成一个jic文件,其步骤是:

1.生成bat文件

1)将下面的命令copy到文本文档里,

@ set SOPC_BUILDER_PATH_72=%SOPC_KIT_NIOS2%+%SOPC_BUILDER_PATH_72%

@ "%QUARTUS_ROOTDIR%\bin\cygwin\bin\bash.exe" --rcfile "%SOPC_KIT_NIOS2%\nios2_sdk_shell_bashrc"

2)保存并重命名文档为:Nios II Command Shell.bat

2.将要合并的sof和elf文件以及上一步中生成的bat文件拷贝到相同目录下。并重命名sof文件和elf文件。

sof文件重命名为:“quartus.sof”;

elf文件重命名为:“nios.elf”。

3.运行Nios II Command Shell.bat,并按照以下步骤键入相关命令

1) 将SOF文件转换为Flash文件

sof2flash --epcs --input= quartus.sof --output=hw.flash --quiet
2) 将ELF文件转换为Flash文件

elf2flash --epcs --after=hw.flash --input=nios.elf
--output=sw.flash
3) 将两个文件合成为一个文件

cp hw.flash hw_sw.flash

cat sw.flash >> hw_sw.flash
4) 产生HEX文件

nios2-elf-objcopy --input-target srec --output-target
ihex hw_sw.flash output.hex

3.将hex转换为jic文件

1)打开 Quartus -> File -> Convert
Programming File ...    
2)选择 output: *.jic , select your epsc,
outputfilename,
3)选择器件所对应的flash-loader

4)移除条目:sof
5)添加上述步骤所产生的output.hex文件
6)Generate ...

完成。

由于上述方法中第2步在实现过程中比较繁琐(命令无法进行复制且较长),可考虑通过批处理方式实现。

建立一个文本文件,将第2步中的命令输入到文件中保存并重命名为“test”(注:此文件与上述的sof、elf和bat文件在相同的目录下)。

Test文件中内容如下:

sof2flash --epcs --input=quartus.sof
--output=hw.flash --quiet
elf2flash --epcs --after=hw.flash --input=nios.elf --output=sw.flash
cp hw.flash hw_sw.flash

cat sw.flash >> hw_sw.flash
nios2-elf-objcopy --input-target srec --output-target ihex hw_sw.flash output.hex

运行Nios II
Command Shell.bat,然后输入命令sh test 就可以得到HEX文件(output.hex)。

产生JIC的方法同上。

若直接打开不了Nios
II Command Shell

使用ide打开

2015-3-24

由网友:奇迹再现 整理

链接:http://pan.baidu.com/s/1c0CRkuW 密码:euxt

http://ccjt.taobao.com/

最新文章

  1. JSP(include指令)页面
  2. [OC笔记] Category分类之见解
  3. 通过 --py-files 可以在pyspark中可以顺利导入
  4. 接口测试之HttpClient
  5. Informix如何释放异常的锁资源
  6. PHP代码审计】 那些年我们一起挖掘SQL注入 - 1.什么都没过滤的入门情况
  7. Fail-fast的原因及解决方法
  8. Linux下相关查找文件命令(find locate which whereis type)
  9. scala函数进阶与lazy的作用
  10. 编写Linux/Unix守护进程
  11. linux下安装tomcat和部署web应用
  12. 残差网络resnet学习
  13. RobotFramework自动化测试框架-移动手机自动化测试Clear Text关键字的使用
  14. [Swift]LeetCode466. 统计重复个数 | Count The Repetitions
  15. HTML浏览器标题栏如何设置
  16. Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法
  17. 深入理解之css中的border属性
  18. c# 对html字符串进行编码
  19. 关于Java源文件中public类的问题
  20. eclipse 大小写转换

热门文章

  1. Java枚举——枚举的作用、使用方法、使用场景
  2. 通过javascript 执行环境理解她
  3. [ch02-00] 反向传播与梯度下降的通俗解释
  4. 领扣(LeetCode)回文链表 个人题解
  5. 初识JVM内存模型
  6. go modules 学习
  7. tensorflow学习笔记——模型持久化的原理,将CKPT转为pb文件,使用pb模型预测
  8. day 33 线程锁
  9. App自动化测试-1.App自动化介绍和环境搭建
  10. day20191109spring