xref: /OK3568_Linux_fs/rkbin/tools/burner_image_kits/tools/transfer_4K_2_2K.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/bin/bash
2# transfer_4K_2_2K.sh
3# param1: path-to-file
4# param2: flash block size
5
6input=$1
7out=$2
8
9function gen_file() {
10	filename=$1
11	output_file=$2
12
13	# get file align size
14	filesize=`stat -c "%s" $filename`
15	filesize=`expr $filesize + 2047`
16	filesize=`expr $filesize / 2048 \* 2048`
17	filesize_x2=`expr $filesize \* 2`
18	page_num=`expr $filesize / 2048`
19
20	echo $filesize $filesize_x2 $page_num
21
22	# gen file
23	`dd if=/dev/zero of=$output_file bs=1 count=$filesize_x2 > /dev/null 2>&1`
24	for ((i=0;i<$page_num;i++));
25	do
26		`dd if=$filename of=2KB bs=2K skip=$i count=1 > /dev/null 2>&1`
27		`dd if=2KB of=$output_file bs=4K seek=$i count=1 conv=notrunc > /dev/null 2>&1`
28	done
29	echo $filename": transfer_2KB_2_4KB success"
30	rm 2KB
31}
32
33if [ ! -f "$input" ]; then
34  echo "$input not exist!"
35  exit
36fi
37
38if [ -f "$out" ]; then
39  rm $out
40  exit
41fi
42
43gen_file $input $out
44