hc
2024-03-22 a0752693d998599af469473b8dc239ef973a012f
commit | author | age
a07526 1 #!/bin/bash
H 2 # align_to_flash_block_size.sh
3 # param1: path-to-file
4 # param2: flash block size
5
6 input=$1
7 out=$2
8 block_size=$3
9
10 function gen_file() {
11    filename=$1
12    output_file=$2
13
14    # get file align size
15    filesize=`stat -c "%s" $filename`
16    filesize=`echo "scale=0; (($filesize + 1023) / 1024 + $block_size - 1) / $block_size * $block_size" | bc`
17
18    # gen file
19    `dd if=/dev/zero of=$output_file bs=1K count=$filesize > /dev/null 2>&1`
20    `dd if=$filename of=$output_file bs=1K count=$filesize conv=notrunc > /dev/null 2>&1`
21    echo $filename": aligned_to_flash_block_size "$block_size"KB: success!"
22 }
23
24 if [[ $block_size != 128 && $block_size != 256 ]]; then
25   echo "$block_size not support!"
26   echo "support:"
27   echo "  128(KB)"
28   echo "  256(KB)"
29   exit
30 fi
31
32 if [ ! -f "$input" ]; then
33   echo "$input not exist!"
34   exit
35 fi
36
37 if [ -f "$out" ]; then
38   rm $out
39   exit
40 fi
41
42 gen_file $input $out