project:cfg:BoardConfig_IPC: Added fastboot BoardConfig file and firmware post-scripts, distinguishing between the BoardConfigs for Luckfox Pico Pro and Luckfox Pico Max. project:app: Added fastboot_client and rk_smart_door for quick boot applications; updated rkipc app to adapt to the latest media library. media:samples: Added more usage examples. media:rockit: Fixed bugs; removed support for retrieving data frames from VPSS. media:isp: Updated rkaiq library and related tools to support connection to RKISP_Tuner. sysdrv:Makefile: Added support for compiling drv_ko on Luckfox Pico Ultra W using Ubuntu; added support for custom root filesystem. sysdrv:tools:board: Updated Buildroot optional mirror sources, updated some software versions, and stored device tree files and configuration files that undergo multiple modifications for U-Boot and kernel separately. sysdrv:source:mcu: Used RISC-V MCU SDK with RT-Thread system, mainly for initializing camera AE during quick boot. sysdrv:source:uboot: Added support for fastboot; added high baud rate DDR bin for serial firmware upgrades. sysdrv:source:kernel: Upgraded to version 5.10.160; increased NPU frequency for RV1106G3; added support for fastboot. Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
181 lines
5.9 KiB
Bash
Executable File
181 lines
5.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -x
|
|
#test loop
|
|
test_loop=10000
|
|
|
|
#test frame
|
|
test_frame=10
|
|
|
|
#test result path
|
|
test_result_path=/tmp/rv1106_multi_cam_test_result.log
|
|
|
|
#vi framerate switch loop
|
|
vi_framerate_switch_loop=2000
|
|
|
|
#ordinary_stream_test_framecount
|
|
ordinary_stream_test_framecount=450000
|
|
|
|
#vi channel id seting
|
|
vi_chnid=1
|
|
|
|
#vi buff cnt
|
|
vi_buff_cnt=2
|
|
|
|
#vi_resolution
|
|
vi_resolution=1920x1080
|
|
|
|
#avs_chn0_resolution
|
|
avs_chn0_resolution=3840x1080
|
|
|
|
#avs_chn1_resolution
|
|
avs_chn1_resolution=1920x544
|
|
|
|
#if enable HDR test
|
|
if [[ ! -n "$1" ]] || [[ "$1" = "0" ]]; then
|
|
ifEnableHDR=off
|
|
else
|
|
ifEnableHDR=on
|
|
fi
|
|
|
|
if [ "$rk_dbg_only" = "1" ];then
|
|
test_loop=10
|
|
vi_framerate_switch_loop=50
|
|
ordinary_stream_test_framecount=450
|
|
fi
|
|
|
|
# get script path
|
|
script_path=$(dirname $0)
|
|
|
|
__echo_test_cmd_msg()
|
|
{
|
|
echo -e "$1" | tee -a $test_result_path
|
|
if [ $? -ne 0 ]; then
|
|
echo -e "$1"
|
|
fi
|
|
}
|
|
multi_isp_test()
|
|
{
|
|
# echo "example: <test_mod=on> $0 <test_result_path> <test_loop> <test_frame> <isp_group_mode> <vi_frame_switch_test_loop> <vi_chnid> <vi_buff_cnt> <vi_resolution>"
|
|
# echo "mod: 1.PN_MODE 2.HDR 3.FRAMERATE 4.LDCH 5.RESTART"
|
|
# echo -e "
|
|
# \$1 --------test_result_path: /tmp/stresstest.log\n
|
|
# \$2 --------test_loop: 10000\n
|
|
# \$3 --------test_frame: 10\n
|
|
# \$4 --------isp_group_mode: 0: no-group, 1: group\n
|
|
# \$5 --------vi_frame_switch_test_loop: 5000\n
|
|
# \$6 --------vi_chnid: 0\n
|
|
# \$7 --------vi_buff_cnt: 2\n
|
|
# \$8 --------vi_resolution: 1920x1080\n"
|
|
|
|
echo "--------------------enter multi_isp_test-------------------" >> $test_result_path
|
|
|
|
isp_group_mode=0
|
|
echo "--------------------isp no-group mode-------------------" >> $test_result_path
|
|
|
|
eval $1 $script_path/multi_isp_stresstest.sh $test_result_path $test_loop $test_frame $isp_group_mode $vi_framerate_switch_loop $vi_chnid $vi_buff_cnt $vi_resolution
|
|
|
|
if [ $? != 0 ]; then
|
|
__echo_test_cmd_msg "$1 $script_path/multi_isp_stresstest.sh $test_result_path $test_loop $test_frame $isp_group_mode $vi_framerate_switch_loop $vi_chnid $vi_buff_cnt $vi_resolution -----test failure"
|
|
exit 1
|
|
fi
|
|
|
|
isp_group_mode=1
|
|
echo "--------------------isp group mode-------------------" >> $test_result_path
|
|
|
|
eval $1 $script_path/multi_isp_stresstest.sh $test_result_path $test_loop $test_frame $isp_group_mode $vi_framerate_switch_loop $vi_chnid $vi_buff_cnt $vi_resolution
|
|
|
|
if [ $? != 0 ]; then
|
|
__echo_test_cmd_msg "$1 $script_path/multi_isp_stresstest.sh $test_result_path $test_loop $test_frame $isp_group_mode $vi_framerate_switch_loop $vi_chnid $vi_buff_cnt $vi_resolution -----test failure"
|
|
exit 1
|
|
fi
|
|
|
|
echo "--------------------exit multi_isp_test-------------------" >> $test_result_path
|
|
|
|
}
|
|
|
|
avs_stresstest()
|
|
{
|
|
# echo "example: <test_mod=on> $0 <test_result_path> <test_loop> <test_frame> <vi_chnid> <vi_buff_cnt> <vi_resolution> <avs_resolution>"
|
|
# echo "mod: 1.RESTART 2.RESOLUTION"
|
|
# echo -e "
|
|
# \$1 --------test_result_path: /tmp/stresstest.log\n
|
|
# \$2 --------test_loop: 10000\n
|
|
# \$3 --------test_frame: 10\n
|
|
# \$4 --------vi_chnid: 0\n
|
|
# \$5 --------vi_buff_cnt: 2\n
|
|
# \$6 --------vi_resolution: 1920x1080\n
|
|
# \$7 --------avs_resolution: 3840x1080\n"
|
|
|
|
echo "--------------------enter avs_stresstest-------------------" >> $test_result_path
|
|
|
|
eval $1 $script_path/avs_stresstest.sh $test_result_path $test_loop $test_frame $vi_chnid $vi_buff_cnt $vi_resolution $avs_chn0_resolution
|
|
|
|
if [ $? != 0 ]; then
|
|
__echo_test_cmd_msg "$1 $script_path/avs_stresstest.sh $test_result_path $test_loop $test_frame $vi_chnid $vi_buff_cnt $vi_resolution $avs_chn0_resolution -----test failure"
|
|
exit 1
|
|
fi
|
|
|
|
echo "--------------------exit avs_stresstest-------------------" >> $test_result_path
|
|
|
|
}
|
|
|
|
demo_vi_avs_venc_stresstest()
|
|
{
|
|
# echo "example: <test_mod=on> $0 <test_result_path> <test_loop> <test_frame> <vi_chnid> <ordinary_stream_test_framecount> <vi_buff_cnt> <vi_resolution> <avs_chn0_resolution> <avs_chn1_resolution>"
|
|
# echo "mod: 1.RESTART 2.RESOLUTION"
|
|
# echo -e "
|
|
# \$1 --------test_result_path: /tmp/stresstest.log\n
|
|
# \$2 --------test_loop: 10000\n
|
|
# \$3 --------test_frame: 10\n
|
|
# \$4 --------vi_chnid: 1\n
|
|
# \$5 --------<ordinary_stream_test_framecount>: 450000\n
|
|
# \$6 --------vi_buff_cnt: 2\n
|
|
# \$7 --------vi_resolution: 1920x1080\n
|
|
# \$8 --------avs_chn0_resolution: 3840x1080\n
|
|
# \$9 --------avs_chn1_resolution: 1920x544\n"
|
|
|
|
echo "--------------------enter demo_vi_avs_venc_stresstest-------------------" >> $test_result_path
|
|
|
|
eval $1 $script_path/demo_vi_avs_venc_stresstest.sh $test_result_path $test_loop $test_frame $vi_chnid $ordinary_stream_test_framecount $vi_buff_cnt $vi_resolution $avs_chn0_resolution $avs_chn1_resolution
|
|
|
|
if [ $? != 0 ]; then
|
|
__echo_test_cmd_msg "$1 $script_path/demo_vi_avs_venc_stresstest.sh $test_result_path $test_loop $test_frame $vi_chnid $ordinary_stream_test_framecount $vi_buff_cnt $vi_resolution $avs_chn0_resolution $avs_chn1_resolution -----test failure"
|
|
exit 1
|
|
fi
|
|
|
|
echo "--------------------exit demo_vi_avs_venc_stresstest-------------------" >> $test_result_path
|
|
|
|
}
|
|
|
|
killall rkipc
|
|
while true
|
|
do
|
|
ps|grep rkipc |grep -v grep
|
|
if [ $? -ne 0 ]; then
|
|
echo "rkipc exit"
|
|
break
|
|
else
|
|
echo "rkipc active"
|
|
fi
|
|
done
|
|
|
|
echo "start stresstest" > $test_result_path
|
|
echo "start record meminfo" > /tmp/testLog.txt
|
|
|
|
#1.multi isp stresstest
|
|
test_mod="PN_MODE=on HDR=$ifEnableHDR FRAMERATE=on LDCH=on RESTART=on"
|
|
multi_isp_test "$test_mod"
|
|
|
|
#2.avs stresstest
|
|
test_mod="RESTART=on RESOLUTION=on"
|
|
avs_stresstest "$test_mod"
|
|
|
|
#3.demo vi avs venc stresstests
|
|
test_mod="RESTART=on RESOLUTION=on ORDINARY=on"
|
|
demo_vi_avs_venc_stresstest "$test_mod"
|
|
|
|
#print test result
|
|
cat $test_result_path
|
|
cat /tmp/testLog.txt
|