修改mem文件的地址偏移
在通过mmi
和mem
文件修改FPGA bit文件中的ROM内容时候,我们常常需要修改mem
文件的地址偏移,每次手动修改文件比较麻烦,并且容易出错,所以这里就搞了一个脚本去自动修改地址偏移,虽然可以通过sed
基本一条命令就可以搞定,还是写了一个Python脚本来实现。
另外,这里发现mem
文件格式和gcc
产生的hex
基本通用,所以这个脚本也可以直接修改hex文件。不过IntelHex
格式的就算了,那个忒麻烦!
#!/usr/bin/env python3
# -*- coding=utf8 -*-
import argparse
def auto_int(x):
return int(x, 0)
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--input", help="Memory format input file")
parser.add_argument("-o", "--output", help="Memory format output file")
parser.add_argument("-b", "--base", type=auto_int, default=0x0, help="Base address offset")
args = parser.parse_args()
with open(args.input) as f:
with open(args.output, 'w') as o:
for line in f.readlines():
if line.startswith("@"):
addr = int(line[1:], 16) - args.base
o.write("@%08x\n" % addr)
else:
o.write(line)
最后更新于 2019-11-05 06:52:38 并被添加「python FPGA」标签,已有 2809 位童鞋阅读过。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。