【VIVADO使用2】如何手动修改hdf文件

hdf文件时逻辑工程师交给驱动工程师工作 的最重要的文件,但是有时候我们需要手动修改hdf文件,这样子驱动工程师不用再手动修改内部内容了。



首先想到的是hdf文件是一个压缩包,直接解压,然后修改内容,最后再压缩就行了,但是这样子是有问题的,因为sdk读进去hdf文件时会做一个校验,猜测vivado导出的时候,会对hdf文件做一个处理。


所以我找了一下hdf文件产生的过程:

.hdf----->.sysdef---->package of hwdef & bitfile & bmm file;

.hwdef---->package of psu_init.c , psu_init.h......;

即hdf文件时sysdef文件的一个copy(猜测加了一些头和尾信息),sysdef文件是hwdef,bitfile,bmm文件打包后的文件,hwdef文件是psu_init.c....的打包文件,上面这些打包及copy过程均可以用vivado中的tcl命令产生,所以如果要修改psu_init.c......中的文件,那么重点就是如何修改一个vivado识别的hwdef文件,然后试了一种方法是可以的(这里用7zip解压软件为例):

1.将vivado工程写impl下的.hwdef文件提取到当前目录,然后删除掉解压之前的hwdef文件,然后修改内容;

2.然后选中当前目录中上一步解压出来的文件和修改的文件,添加到*.zip压缩,压缩后修改zip文件为hwdef文件;

3.最后vivado tcl下输入

write_sysdef -hwdef "d:/system_wrapper.hwdef" -bitfile "d:/system_wrapper.bit" -file "d:/system_wrapper.sysdef"

从而产生sysdef文件


file copy -force d:/system_wrapper.sysdef d:/system_wrapper.hdf

从而产生一个sdk导进去没有问题的hdf文件。



还需要补充的内容是hdf各个文件的作用。

hdf文件内容有


1.psu_init.tcl,用于debug模式;

2.psu_init.c,用于FSBL;


  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值