blob: ae16f529793eedf80f2622fe6984ebbaf44d37a5 [file] [log] [blame]
Jens Wiklander964bdd92018-04-26 14:37:02 +02001#!/usr/bin/env python
2# SPDX-License-Identifier: BSD-2-Clause
3#
4# Copyright (c) 2018, Linaro Limited
5#
6
7def get_args():
8 import argparse
9
10 parser = argparse.ArgumentParser()
11 parser.add_argument('--name', required=True,
12 help='Name of variable in C file')
13 parser.add_argument('--out', required=True, help='Name of C file')
14 parser.add_argument('--inf', required=True, help='Name of in file')
15
16 return parser.parse_args()
17
18def main():
19 import array
20
21 args = get_args()
22
23 inf = open(args.inf, 'r')
24 f = open(args.out, 'w')
25
26 f.write("/* automatically generated */\n")
27 f.write("#include <stdint.h>\n")
28 f.write("#include <stddef.h>\n\n")
29
30 f.write("const uint8_t " + args.name + "[] = {\n")
31 i = 0
32 for x in array.array("B", inf.read()):
33 f.write("0x" + '{0:02x}'.format(x) + ",")
34 i = i + 1
35 if i % 8 == 0:
36 f.write("\n")
37 else:
38 f.write(" ")
39
Ricardo Salveti78ec4e92019-06-26 17:32:11 -030040 f.write("'\\0'};\n")
Jens Wiklander964bdd92018-04-26 14:37:02 +020041 f.write("const size_t " + args.name + "_size = sizeof(" +
Ricardo Salveti78ec4e92019-06-26 17:32:11 -030042 args.name + ") - 1;\n")
Jens Wiklander964bdd92018-04-26 14:37:02 +020043
44 f.close()
45 inf.close()
46
47if __name__ == "__main__":
48 main()