📄 gen-ihex.py
字号:
#!/usr/bin/env python"""Test File generator.This tool generates a hex file, of given size, ending on address0xffff.USAGE: hen-ihex.py size_in_kilobyteThe resulting Intel-hex file is output to stdout, use redirectionto save the data to a file."""#return a string with data in intel hex formatdef makeihex(address, data): out = [] start = 0 while start<len(data): end = start + 16 if end > len(data): end = len(data) out.append(_ihexline(address, [ord(x) for x in data[start:end]])) start += 16 address += 16 out.append(_ihexline(address, [], end=1)) #append no data but an end line return ''.join(out)def _ihexline(address, buffer, end=0): out = [] if end: type = 1 else: type = 0 out.append( ':%02X%04X%02X' % (len(buffer),address&0xffff,type) ) sum = len(buffer) + ((address>>8)&255) + (address&255) for b in buffer: if b == None: b = 0 #substitute nonexistent values with zero out.append('%02X' % (b&255) ) sum += b&255 out.append('%02X\n' %( (-sum)&255)) return ''.join(out)if __name__ == '__main__': import struct, sys if len(sys.argv) != 2: print __doc__ sys.exit(1) size = int(sys.argv[1]) #in kilo startadr = 0x10000 - 1024*size data = ''.join([struct.pack(">H", x) for x in range(startadr, startadr+ 1024*size, 2)]) print makeihex(startadr, data)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -