#! /bin/sh # Convert binary to binary-text. # Command line: # convert-binary-to-text.sh xxx.cl.bin xxx.clx.bin # # Usage of binary-text file (if needed): # 1. generate binary file, related script: libxcam/tests/test-binary-kernel # $ test-binary-kernel --src-kernel kernel_demo.cl --bin-kernel kernel_demo.cl.bin --kernel-name kernel_demo # # 2. generate binary-text file, related script: libxcam/tools/convert-binary-to-text.sh # $ convert-binary-to-text.sh kernel_demo.cl.bin kernel_demo.clx.bin # # 3. include binary-text file when create image handler, please refer to demo handler: # SmartPtr<CLImageHandler> create_cl_binary_demo_image_handler (SmartPtr<CLContext> &context) BINARY_FILE=$1 TEXT_FILE=$2 if [ $# -ne 2 ]; then echo "Usage: $0 <binary_file> <text_file>" exit 1 fi od -A n -t x1 -v $BINARY_FILE | \ gawk ' BEGIN { print "{" } { printf " " for (i = 1; i < NF; i++) { printf " 0x" $i "," } print " 0x" $i "," } END { print "};" } ' > $TEXT_FILE.tmp ret=$? if [ $ret != 0 ]; then echo "Convert $BINARY_FILE to $TEXT_FILE faild" rm -f $TEXT_FILE.tmp exit 1 fi mv $TEXT_FILE.tmp $TEXT_FILE echo "Convert $BINARY_FILE to $TEXT_FILE done"