调试脚本

2021/5/14 18:27:20

本文主要是介绍调试脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

test.sh

video.sh

 ips.sh

GPIO.sh


repo init -u ssh://git@www.rockchip.com.cn/linux/rk/platform/manifests -m rv1126_rv1109_linux_release.xml

ssh://git@www.rockchip.com.cn/linux/linux/internal_doc

test.sh

#!/bin/bash

COUNT=0
while :
do
        while :
        do
                adb connect 192.168.1.12
                if [ $? -eq 0 ]; then
                        COUNT=$((COUNT+1))
                        echo "connect sucess $COUNT"
                        break
                fi
        done

        sleep 60
        adb shell tail /mnt/data/log/ylog
        LCOUNT=`adb shell grep PTS /mnt/data/log/ylog|wc -l`
        if [ $LCOUNT -gt 0 ]; then
                adb shell reboot
                sleep 5
        else
                echo "error found"
                break
        fi
done

video.sh

#!/bin/bash
#210208
#

usage () {
        echo "Usage: -n <video device index> [-t <file name>] [-c count] [-p] [-l]"
        echo "No ARGS means use default build option"
        echo "Options:"
        echo "  -p poll"
        echo "  -l loop"
        echo "  -t stream to file"
        echo "  -t stream count"
        exit 1
}

FNAME=""
INDEX=0
COUNT=25
LOOP=false
POLL=false
V4L2_CTL_ARGS=""

# check pass argument
while getopts "n:t:c:pl" arg
do
        case $arg in
        n)
                INDEX=$OPTARG
                ;;
        t)
                FNAME=$OPTARG
                ;;
        c)
                COUNT=$OPTARG
                ;;
        p)
                POLL=true
                ;;
        l)
                LOOP=true
                ;;
        ?)
                usage
                ;;
        esac
done

#--set-selection=target=crop,flags=0,top=0,left=0,width=1280,height=720
capture_block () {
        v4l2-ctl -d /dev/video$INDEX \
        --set-fmt-video=width=1280,height=720,pixelformat='NV12' \
        --stream-mmap=4 \
        --stream-to=/userdata/video$INDEX.yuv \
        --stream-count=$COUNT
}

capture_poll () {
        v4l2-ctl -d /dev/video$INDEX \
        --set-fmt-video=width=1280,height=720,pixelformat=NV12 \
        --stream-mmap=3 \
        --stream-skip=3 \
        --stream-to=/userdata/video$INDEX.yuv \
        --stream-count=$COUNT \
        --stream-poll
}

while :
do
        if [ "$POLL" != true ]; then
                capture_block
        else
                capture_poll
        fi

        if [ "$LOOP" != true ]; then
                break
        fi
done

 ips.sh

#!/bin/sh
#@200110
#
NAME=$1

if [ -z "$NAME" ]; then
        NAME="rkcifhw"
fi

LAST_VAL=0
while :
do
        VAL=`cat /proc/interrupts|grep $NAME|awk '{print $2}'`
        IPS=$((VAL-LAST_VAL))
        echo $IPS
        LAST_VAL=$VAL
        sleep 1
done

GPIO.sh

#!/bin/sh

gpio_export () {
        if [ ! -d /sys/class/gpio/gpio$1 ]; then
                echo $1 > /sys/class/gpio/export
        fi
}

gpio_unexport () {
        if [ -d /sys/class/gpio/gpio$1 ]; then
                echo $1 > /sys/class/gpio/unexport
        fi
}

gpio_direction_output () {
        echo "out" > "/sys/class/gpio/gpio$1/direction"
}

gpio_direction_input () {
        echo "in" > "/sys/class/gpio/gpio$1/direction"
}

gpio_set_value () {
        echo "GPIO $1 OUT $2"
        echo $2 > "/sys/class/gpio/gpio$1/value"
}

gpio_get_value () {
        val=`cat /sys/class/gpio/gpio$1/value`
        echo "GPIO $1 IN $val"
        return $val
}

gpio_mon () {
        local val
        local last_val

        gpio_export $1
        gpio_direction_input $1

        val=`cat /sys/class/gpio/gpio$1/value`
        last_val=$val
        echo "GPIO $1 IN $val"

        while :
        do
                val=`cat /sys/class/gpio/gpio$1/value`
                if [ $last_val -ne $val ]; then
                        echo "`date +%H:%M:%S` : $val"
                        last_val=$val
                fi
                sleep 0.2
        done
}

case $1 in
OUT)
        gpio_export $2
        gpio_direction_output $2 $3
        gpio_set_value $2 $3
        ;;
IN)
        gpio_export $2
        gpio_direction_input $2
        gpio_get_value $2
        ;;
UNEXPORT)
        gpio_unexport $2
        ;;
MON)
        gpio_mon $2
        ;;
*)
        echo "Usage : $0 OUT|IN|UNEXPORT|MON <GPIO> [value]"
        ;;
esac

bootanim.rc

service bootanim /system/bin/bootanimation
    class core
    user graphics
    group graphics audio
    disabled
    oneshot
    writepid /dev/stune/top-app/tasks

on property:sys.boot_completed=1
    start bootdone

service bootdone /data/bootdone.sh
    oneshot
    disabled

bootdone.sh

#!/system/bin/sh

while :
do
        tinyplay /mnt/sdcard/Music/wav/CaliforniaDreaming_16k.wav
        if [ 0 -eq $? ]; then
                break
        else
                sleep 1
        fi
done

 android_build

project device/fsl/                             (*** NO BRANCH ***)
 -m     arm2_8q/BoardConfig.mk
 -m     mek_8q/BoardConfig.mk
project frameworks/av/                          (*** NO BRANCH ***)
 -m     cmds/stagefright/recordvideo.cpp
project frameworks/base/                        (*** NO BRANCH ***)
 -m     packages/SettingsProvider/res/values/defaults.xml
 -m     services/core/java/com/android/server/wm/WindowManagerService.java
 -m     services/usb/java/com/android/server/usb/UsbDebuggingManager.java
project packages/apps/Car/Radio/                (*** NO BRANCH ***)
 -m     src/com/android/car/radio/RadioService.java
project vendor/nxp-opensource/imx/              (*** NO BRANCH ***)
 -m     libsensors_sensorhub/FSLSensorsHub.cpp
 -m     libsensors_sensorhub/sensors.cpp
project vendor/nxp-opensource/kernel_imx/       (*** NO BRANCH ***)
 -m     drivers/gpu/drm/bridge/it6263.c
 -m     drivers/media/platform/imx8/max9286.c
 -m     drivers/media/platform/imx8/mxc-isi-cap.c
 -m     drivers/media/platform/vivid/vivid-core.c

 



这篇关于调试脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程