⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gen-ihex.py

📁 Contiki是一个开源
💻 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 + -