linux 下批量读取寄存器
./regreader.sh -s 0x4c200000 -l 1024 -f
#!/bin/bash
function hex2dec()
{
printf %d $1
}
function dec2hex()
{
printf 0x%x $1
}
startreg=0
startreg16=0
length=0
outfile=result.txt
regvalue=0
reg=0
reg16=0
index=0
function parse_args()
{
while (true)
do
case "$1" in
-l ) length=$2;shift 2;;
-s ) startreg16=$2;shift 2;;
-f ) outfile=$2;shift 2;;
* ) break ;;
esac
done
startreg=$(hex2dec $startreg16)
}
parse_args $@
echo startreg $startreg16
echo length $length
echo outfile $outfile
echo startreg $startreg16 length $length > $outfile
while [ $length -ne $index ]
do
let "reg=startreg+index*4"
reg16=$(dec2hex $reg)
regvalue=`devmem $reg 32`
echo $reg16 $regvalue>> $outfile
let "index++"
done