Added script for converting dtbs to C const array. Bug fixes and updates
[keystone-rtos/rm-lld.git] / util / cify.sh
1 #!/bin/sh
2
3 # Copyright (c) 2013, Texas Instruments Incorporated
4 # All rights reserved.
5
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9
10 # *  Redistributions of source code must retain the above copyright
11 #    notice, this list of conditions and the following disclaimer.
12
13 # *  Redistributions in binary form must reproduce the above copyright
14 #    notice, this list of conditions and the following disclaimer in the
15 #    documentation and/or other materials provided with the distribution.
16
17 # *  Neither the name of Texas Instruments Incorporated nor the names of
18 #    its contributors may be used to endorse or promote products derived
19 #    from this software without specific prior written permission.
20
21 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
28 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31 # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
34 # Converts a .dtb file to a C const byte array that can be compiled into
35 # programs utilizing RM that don't have direct access to a file system
36 #
37 NUM_ARGS=3
39 if [ $# -ne $NUM_ARGS ] ; then
40   echo "Usage:"
41   echo "        cify <input .dtb file> <output .c file> <const byte array name>"
42   echo " "
43   echo "Example:"
44   echo "        cify test.dtb test.c testArray"
45   echo "            Creates a C source file containing const char testArray[]"
46   echo "            with the binary data from test.dtb"
47   exit 1
48 else
49   echo "const char $3[] = {" > $2
50   od -tx1 $1 -w1 -v -An | awk '{printf "0x%s,\n",$1}' >> $2
51   echo "};" >> $2
52 fi