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


    将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%incygwininash.exe" --rcfile "%SOPC_KIT_NIOS2% ios2_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/

  • 相关阅读:
    数据类型之集合
    数据类型之字典
    数据类型之元组
    数据类型之列表
    python基础之数据类型转换
    python基础之格式化输出
    python基础之运算符、if条件语句、while循环、for循环
    廖雪峰大神git学习笔记
    elementui记录
    从零开始创建一个react项目
  • 原文地址:https://www.cnblogs.com/ccjt/p/4362589.html
Copyright © 2020-2023  润新知