123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #!/usr/bin/env python3
- # Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
- # All rights reserved.
- #
- # This software is supplied "AS IS" without any warranties.
- # RDA assumes no responsibility or liability for the use of the software,
- # conveys no license or title under any patent, copyright, or mask work
- # right to the product. RDA reserves the right to make changes in the
- # software without notification. RDA also make no representation or
- # warranty that such application will be suitable for the specified use
- # without further testing or modification.
- import argparse
- import sys
- import csv
- import re
- DESCRIPTION = """
- Generate nor flash properties from csv
- """
- def main():
- parser = argparse.ArgumentParser(description=DESCRIPTION)
- parser.add_argument("csv",
- help="csv file for nor flash properties")
- parser.add_argument("prop",
- help="output nor flash properties file")
- args = parser.parse_args()
- propnames = []
- props = []
- with open(args.csv, 'r') as fh:
- for row in csv.reader(fh):
- if not row[0] and not row[1]: # maybe empty line
- continue
- if not row[0]: # title
- propnames = row[1:]
- continue
- prop = {'name': row[0]}
- for n in range(len(propnames)):
- prop[propnames[n]] = row[n+1]
- props.append(prop)
- with open(args.prop, 'w') as fh:
- for prop in props:
- flash_name = prop['name']
- fh.write('#ifndef DISABLE_{}\n'.format(flash_name))
- fh.write('{{ // {}\n'.format(flash_name))
- for pname in propnames:
- fh.write(" .{} = {},\n".format(pname, prop[pname]))
- fh.write('},\n')
- fh.write('#endif\n')
- return 0
- if __name__ == "__main__":
- main()
|