链接(对ELF文件操作)

链接(对ELF文件操作)

ELF文件:

img

原图

链接过程:

​ 1. 重定位:当单个ELF文件没有相对应的字符串虚拟空间时(如B的变量有A的全局变量),将该空间搁置,然后在另外的 ELF文件寻找并指向。

​ 2. 合并:合并相同段,重新生成虚拟空间。

链接分类:

  • 静态链接:自定义目标文件与库文件生成一个ELF文件,直接与程序源码目标文件链接。

  • 动态链接:生成一个ELF文件,在装载时与自定义目标文件链接。

俩者优点:
  • 静态链接:链接速度快。

  • 动态链接:装载时防止自定义目标文件多次装载(一个程序包含多个自定义目标文件),减少物理内存浪费; 更新静态库文件可以只重新编译静态文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件分成两个版本, “合并sof和elf生产jic文件脚本.rar”为EP4CE10+EPCS16的版本,适用于小梅哥所有以EP4CE6、EP4CE10 FPGA芯片开发的FPGA开发板。如AC620、AC601、Starter等等 “合并sof和elf生产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.jic到FPGA中,对板卡断电重新上电,新固件就可以开始运行了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值