69 lines
3.2 KiB
Bash
69 lines
3.2 KiB
Bash
#!/bin/sh
|
||
# deploy.sh — 部署新編譯的 firmware 到裝置並重啟 RTSP demo
|
||
#
|
||
# 使用方式(在裝置上執行):
|
||
# sh deploy.sh
|
||
#
|
||
# 前提:host 192.168.3.1:8080 在提供以下檔案:
|
||
# /kp_firmware_host_stream (compile.sh 的輸出)
|
||
# /host_stream.ini (kl630_build/ini/host_stream.ini)
|
||
#
|
||
# 一次性設定(只需在新機器上執行一次,之後重開機不需要再跑):
|
||
# sh deploy.sh --setup
|
||
|
||
set -e
|
||
|
||
HOST_URL="http://192.168.0.102:8080"
|
||
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
|
||
FW=/mnt/flash/vienna/kp_firmware_host_stream
|
||
INI=$BIN_DIR/ini/host_stream.ini
|
||
|
||
# ── 一次性 ISP 資源修正 ─────────────────────────────────────────────────────
|
||
# IMX662 DOL-HDR 需要 dwStatisticsSrcType=2 和 bGTREnable=1。
|
||
# 這些寫入 flash,重開機後自動保留,只需要執行一次。
|
||
one_time_setup() {
|
||
echo "=== 一次性 ISP resource 設定 ==="
|
||
sed -i 's/dwStatisticsSrcType = 0/dwStatisticsSrcType = 2/' \
|
||
$BIN_DIR/Resource/AWB/AutoWhiteBalance.ini
|
||
sed -i 's/bGTREnable = 0/bGTREnable = 1/' \
|
||
$BIN_DIR/Resource/ISP/0/pqtable_ispe_Config.cfg
|
||
sed -i 's/bGTREnable = 0/bGTREnable = 1/' \
|
||
$BIN_DIR/Resource/ISP/1/pqtable_ispe_Config.cfg
|
||
echo " dwStatisticsSrcType=$(grep dwStatisticsSrcType $BIN_DIR/Resource/AWB/AutoWhiteBalance.ini | head -1)"
|
||
echo " bGTREnable=$(grep bGTREnable $BIN_DIR/Resource/ISP/0/pqtable_ispe_Config.cfg)"
|
||
echo "=== 完成,之後重開機不需要再執行 ==="
|
||
}
|
||
|
||
if [ "$1" = "--setup" ]; then
|
||
one_time_setup
|
||
exit 0
|
||
fi
|
||
|
||
# ── 停止舊的 firmware ─────────────────────────────────────────────────────────
|
||
echo "=== 停止舊 firmware ==="
|
||
killall -9 kp_firmware_host_stream 2>/dev/null || true
|
||
killall -9 rtsps 2>/dev/null || true
|
||
sleep 1
|
||
rm -f /dev/shm/*
|
||
|
||
# ── 下載新 binary ─────────────────────────────────────────────────────────────
|
||
echo "=== 下載 firmware binary ==="
|
||
wget -q "$HOST_URL/kp_firmware_host_stream" -O $FW
|
||
chmod +x $FW
|
||
echo " $FW: $(ls -lh $FW | awk '{print $5, $6, $7, $8}')"
|
||
|
||
# ── 下載新 INI(保留裝置端的 fusion_cfg / ISP 設定)─────────────────────────
|
||
echo "=== 下載 INI ==="
|
||
wget -q "$HOST_URL/host_stream.ini" -O $INI
|
||
echo " fusion_cfg: $(grep '^fusion_cfg' $INI || echo '(not set!)')"
|
||
|
||
# ── 下載 demo_rtsp.sh(確保裝置上版本與 host 一致)────────────────────────────
|
||
echo "=== 下載 demo_rtsp.sh ==="
|
||
wget -q "$HOST_URL/demo_rtsp.sh" -O $BIN_DIR/ini/demo_rtsp.sh
|
||
chmod +x $BIN_DIR/ini/demo_rtsp.sh
|
||
|
||
# ── 啟動 RTSP demo ────────────────────────────────────────────────────────────
|
||
echo "=== 啟動 RTSP demo ==="
|
||
cd $BIN_DIR
|
||
sh ./ini/demo_rtsp.sh
|