| #! /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" |