diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/d2c.sh | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/scripts/d2c.sh b/scripts/d2c.sh index 821a995..33a3ccf 100755 --- a/scripts/d2c.sh +++ b/scripts/d2c.sh @@ -9,6 +9,7 @@ function usage() echo " -i <input_file_path> Input binary file path" echo " -a <c_align> Output C array alignment" echo " -p <c_prefix> Output C array name prefix" + echo " -t <num_zero_bytes> Output padding zero bytes" exit 1; } @@ -16,8 +17,9 @@ function usage() INPUT_PATH="" OUTPUT_C_ALIGN="" OUTPUT_C_PREFIX="" +NUM_ZERO_BYTES=0 -while getopts "hi:a:p:o:" o; do +while getopts "hi:a:p:t:" o; do case "${o}" in h) usage @@ -31,6 +33,9 @@ while getopts "hi:a:p:o:" o; do p) OUTPUT_C_PREFIX=${OPTARG} ;; + t) + NUM_ZERO_BYTES=${OPTARG} + ;; *) usage ;; @@ -62,6 +67,8 @@ printf "const char __attribute__((aligned(%s))) %s_start[] = {\n" "${OUTPUT_C_AL od -v -t x1 -An ${INPUT_PATH} | awk '{for (i=1; i<=NF; i++) printf " 0x%s,", $i; printf "\n"; }' +echo __dummy__ | awk "{for (i=1; i<=${NUM_ZERO_BYTES}; i++) { printf \" 0x00,\"; if (i % 16 == 0) printf \"\n\"; } }" + printf "};\n" printf "const unsigned long %s_size = sizeof(%s_start);\n" "${OUTPUT_C_PREFIX}" "${OUTPUT_C_PREFIX}" |