FPGA开发中sof和elf文件的合并与格式转换

0. 本文目的

    有关sof和elf文件的合并方法非常多,但真正好用而且经得起推敲的寥寥无几。通过相关资料的学习以及工程实践,现将个人的操作方法及收获进行总结,希望能给正在学习FPGA的伙伴们提供一点点帮助!

    Nios工程开发包括两个环节,前期的内核硬件开发和后期的内核软件开发。前期开发环境为Quartus II 10.0和 SOPC builder,对应的下载文件为*.sof和*.pof。后期开发环境为Nios IDE10.0,对应下载文件为*.elf。项目调试时,先通过Quartus II 10.0将*.sof下载至FPGA的RAM中,完成FPGA 内核的硬件化,接着通过Nios IDE10.0 flash programmer将*.sof和*.elf一同烧写至flash中,最后将开发板重新上电,便完成了FPGA的程序固化。为了方便FPGA产品调试,可将*.sof和*.elf文件分步下载。但是为了提高生产效率,必须将它们合并成单个*.jic文件,再通过下载平台一次完成程序固化。

    本文首先使用Nios II 10.0sp1 Command Shell [gcc3]软件和sh脚本程序,实现了sof和elf的合并与转换,得到了一个hex的临时文件。接着,使用Quartus II 软件将hex文件转换成jic文件。最后,通过下载平台将jic文件下载至flash芯片中,进行功能验证。

1. 开发平台简介

开发软件:Quartus II 10.0,Nios II 10.0

电脑主机:win7_64

FPGA开发板:YJ-DZ(易津-USB驱动开发板)

下载器:USB Blaster

 

2. 具体操作方法

2.1 编写sh脚本程序

在win7下新建空记事本中,文件另存为yj.sh,在里面输入以下代码:


                
文件分成两个版本, “合并sofelf生产jic文件脚本.rar”为EP4CE10+EPCS16的版本,适用于小梅哥所有以EP4CE6、EP4CE10 FPGA芯片开发FPGA开发板。如AC620、AC601、Starter等等 “合并sofelf生产jic文件脚本 - 4ce30.rar”为EP4CE30+EPCS64的版本,适用于小梅哥所有以EP4CE30、EP4CE40 FPGA芯片开发FPGA开发板。如AC6102 工具说明 本工具实现将Quartus ii编译产生的sof文件NIOS II EDS编译产生的elf文件合并jic文件,以方便烧写。 根据测试,本工具使用需要具备以下条件: 1、quartus ii软件版本在13.0及以上 2、quartus ii编译生成的sof文件输出目录为根目录下的output_files文件夹下。很多从老版本修改过来工程sof输出目录在工程根目录,因此需要用户自行修改脚本cof文件 3、nios ii的软件工程路径为quartus 工程根目录下的software文件夹下(一般都能满足) 使用方法 1、将generate_jic.tcl、generate_jic.sh、generate_jic.cof文件拷贝到你的nios ii软件工程下。 2、在eclipse中选中应用工程,注意是应用工程,不是BSP工程,右键->NIOS II->NIOS command shell。 3、NIOS command shell中输入"./generate_jic.sh"。 (运行完成后,会在Quartus II工程根目录下生成一个myoutput_files的文件夹,同时将generate_jic.tcl、generate_jic.cof文件拷贝到工程根目录下。) 4、在quartus ii中点击Tools -> Tcl Scripts,选中generate_jic.tcl,点击run, (运行成功,会在myoutput_files目录下生成名叫hs_combined.jic文件) 5、烧写hs_combined.jicFPGA中,对板卡断电重新上电,新固件就可以开始运行了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snaking616

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值