将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/

测底稳定NIOS开发之一:将nios产生的编程文件转换成jic (连载)的更多相关文章

  1. 调用百度地图开发平台的JavascriptAPI实现将市县位置转换成坐标

    最近的项目要做的地图比较多,有的还比较复杂,而地图用到的坐标,上网找json文件更是良莠不齐的.真是让人伤脑筋,后来突然想到了百度地图开发平台,没想到真的有对应的API哦,谢天谢地!!!下面说一下完整 ...

  2. Vue开发中的移动端适配(px转换成vw)

    1.项目根目录下,创建 .postcssrc.js 文件. 2.安装插件. -D (开发依赖) postcss-import postcss-url cssnano-preset-advanced - ...

  3. 单片机的编程语言和开发环境 LET′S TRY“嵌入式编程”: 3 of 6

    单片机的编程语言和开发环境 LET′S TRY“嵌入式编程”: 3 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识.这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识. 在“ ...

  4. C#开发BIMFACE系列12 服务端API之文件转换

    系列目录     [已更新最新开发文章,点击查看详细] 在代表模型的源文件上传到BIMFACE后,一般会进行三种API调用操作: 发起模型转换 查询转换状态 如转换成功,获取模型转换后的BIM数据 在 ...

  5. Nios II 程序固化(如何下载elf文件)

    Nios II 程序固化(如何下载elf文件) 2018年10月15日 21:37:32 瓜儿不甜 阅读数:723    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...

  6. h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片

    得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...

  7. [转]iOS开发中的火星坐标系及各种坐标系转换算法

     iOS开发中的火星坐标系及各种坐标系转换算法 源:https://my.oschina.net/u/2607703/blog/619183   其原理是这样的:保密局开发了一个系统,能将实际的坐标转 ...

  8. iOS开发技巧系列---使用链式编程和Block来实现UIAlertView

    UIAlertView是iOS开发过程中最常用的控件之一,是提醒用户做出选择最主要的工具.在iOS8及后来的系统中,苹果更推荐使用UIAlertController来代替UIAlertView.所以本 ...

  9. Android项目开发全程(四)-- 将网络返回的json字符串轻松转换成listview列表

    前面几篇博文介绍了从项目搭建到获取网络字符串,对一个项目的前期整体工作进行了详细的介绍,本篇接着上篇介绍一下怎么样优雅将网络返回的json字符串轻松转换成listview列表. 先上图,看一下效果. ...

随机推荐

  1. webpack安装与核心概念

    安装webpack webpack核心概念:入口.输出.加载器.插件.模块.模式 一.安装webpack 1.安装webpack之前需要安装nodejs环境,在使用nodejs环境自带的包管理工具np ...

  2. flex盒子布局

    看过很多对于弹性盒子flex的简介,但还是觉得阮一峰大神的解析和张鑫旭大神(旧版flex)的解析比较容易理解,下面,我以自己的理解来叙述关于flex弹性布局! 1.概念(容器和项目) 在flex中,有 ...

  3. python_06

    今日内容:注意: selenium驱动的浏览器是干净的,没有任何缓存. 1.selenium剩余用法 2.selenium万能登录破解 3.selenium爬取京东商品信息 4.破解极验滑动验证码 X ...

  4. Openlayers Overlay使用心得

    Overlay在Openlayers里是浮动层的概念,区别于vector这样的图层,通常用于弹窗.撒点.以及解决加载icon样式不支持的gif等格式图片. 此次用overlay的过程中遇到很多问题,在 ...

  5. 【论文阅读】Binary Multi-View Clustering

    文章地址:https://ieeexplore.ieee.org/document/8387526 出自:IEEE Trans. on Pattern Analysis and Machine Int ...

  6. PowerMock学习(七)之Mock Constructor的使用

    前言 我们在编码的时候,总习惯在构造器中传参数,那么在powermock中是怎么模拟带参数构造的呢,这并不难. 模拟场景 我们先模拟这样一个场景,通过dao中的传入一个是布尔类型(是否加载)和一个枚举 ...

  7. 2019-10-10:渗透测试,基础学习,mysql语法基础,笔记

    mysql常用命令mysql -u用户名 -p,登录方式也称为,二进制方式exit 退出mysql 查看mysql版本select version(); 查看mysql所有数据库show dateba ...

  8. 2019-9-29,php基础学习,笔记

    cobalt strike简单使用cobalt是一个后渗透测试工具,基于java开发,适用于团队间协同作战,简称"cs"cs分为客户端和服务端,一般情况下我们称服务端为团队服务器, ...

  9. 【2018寒假集训 Day2】【动态规划】挖地雷

    挖地雷(Mine) 在一个地图上有N 个地窖(N<=200),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径,并规定路径都是单向的,且从编号小的地窖通向编号大的地窖.某人可以从任一处 ...

  10. ReactRouter中HashRouter和BrowserRouter的区别

    仅个人理解,如有不当请指正 一.从原理上 HashRouter在路径中包含了#,相当于HTML的锚点定位.(# 符号的英文叫hash,所以叫HashRouter,和散列没关系哦)) 而BrowserR ...