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

📄 fwbin2h

📁 无线网卡驱动程序 802.11b无线网卡可直接移植到2.6内核中去
💻
字号:
#!/usr/bin/env python## $Id: fwbin2h,v 1.1 2003/03/30 11:10:52 jal2 Exp $## file: fwbin2h## This file converts binary firmware files (e.g. extracted# from Windows drivers) into a C header file.## invocation:# fwbin2h <internal fw> <external fw> <radio chipset>## which expects the internal and external firmware part in the# two files <internal fw> <external fw>.# please use: <radio chipset> ::= 503rfmd | i3861 | i3863 | 505rfmd# output will be into the file: fw_<radio chipset>_<version>.h# where the version is extracted from the internal fw part.### importsimport sysimport stringimport osimport redebug = 1known_radios = ["503rfmd","i3861","i3863","505rfmd"]### main ###if __name__ == '__main__':                if len(sys.argv) != 4:        sys.stderr.write("call: %s <internal fw> <external fw> <radio name>\n" %                         sys.argv[0])        sys.exit(1)    radio = sys.argv[3]    if not (radio in known_radios):        sys.stderr.write("#WRG unknown radio name %s (not in %s)\n" %                         (radio,known_radios))            f = open(sys.argv[1])    internal_image = f.read()    f.close()    f = open(sys.argv[2])    external_image = f.read()    f.close()    pos = string.find(internal_image,"ATMEL_AP")    if pos >= 0:        major = ord(internal_image[pos+0x34])        minor = ord(internal_image[pos+0x35])        sub = ord(internal_image[pos+0x36])        build = ord(internal_image[pos+0x37])        version = "%d.%d.%d-%d" % (major,minor,sub,build)    else:        version = "unknown"    if debug: print "#DBG got version " + version        # write the output file    outname = "fw-" + radio + "-" + version + ".h"    f = open(outname,"w")    f.write("""/*The following firmware has been extracted from the binary files%s and %s (all licenses of these files remain valid for this one)Target:  AT76C503 with %s radioVersion: %s*/""" % (sys.argv[1], sys.argv[2], radio, version))        f.write("#define FW_%s_INTERNAL { \\\n" % string.upper(radio))    i=0    for b in internal_image:        f.write("0x%02X," % ord(b))        i = i + 1        if i % 16 == 0:            f.write(" \\\n")    f.write("}\n\n");        f.write("#define FW_%s_EXTERNAL { \\\n" % string.upper(radio))    i=0    for b in external_image:        f.write("0x%02X," % ord(b))        i = i + 1        if i % 16 == 0:            f.write(" \\\n")    f.write("}\n\n");        f.close()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -