58 lines
2.2 KiB
Bash
Raw Normal View History

2026-06-26 17:55:15 +08:00
#!/bin/bash
# ============================================================
# MVS 相机 SDK 运行环境配置脚本
# 用途:配置 LD_LIBRARY_PATH 和 USB 内存大小
# 使用source ./setup_mvs_env.sh
# ============================================================
# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)"
# MVS SDK 路径
MVS_SDK_PATH="${PROJECT_ROOT}/SDK/Device/MVS/MVS_STD_V3.0.1_251113/MVS-3.0.1_aarch64_20251113"
if [ ! -d "${MVS_SDK_PATH}" ]; then
echo "错误MVS SDK 路径不存在: ${MVS_SDK_PATH}"
return 1
fi
# 设置环境变量
export MVCAM_SDK_PATH="${MVS_SDK_PATH}"
export MVCAM_COMMON_RUNENV="${MVS_SDK_PATH}/lib"
export MVCAM_GENICAM_CLPROTOCOL="${MVS_SDK_PATH}/lib/CLProtocol"
# 添加库路径到 LD_LIBRARY_PATH
if [ -z "${LD_LIBRARY_PATH}" ]; then
export LD_LIBRARY_PATH="${MVS_SDK_PATH}/lib/aarch64:${MVS_SDK_PATH}/lib/aarch64/ThirdParty"
else
# 移除旧的 MVS 路径(如果存在)
LD_LIBRARY_PATH=$(echo "${LD_LIBRARY_PATH}" | sed "s|${MVS_SDK_PATH}/lib/aarch64:||g")
LD_LIBRARY_PATH=$(echo "${LD_LIBRARY_PATH}" | sed "s|${MVS_SDK_PATH}/lib/aarch64/ThirdParty:||g")
# 添加新路径到开头
export LD_LIBRARY_PATH="${MVS_SDK_PATH}/lib/aarch64:${MVS_SDK_PATH}/lib/aarch64/ThirdParty:${LD_LIBRARY_PATH}"
fi
echo "=========================================="
echo "MVS SDK 环境配置完成"
echo "=========================================="
echo "MVCAM_SDK_PATH=${MVCAM_SDK_PATH}"
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
echo ""
# 配置 USB 内存大小(需要 root 权限)
if [ $(id -u) -eq 0 ]; then
echo "配置 USB 内存大小为 2000 MB..."
echo 2000 > /sys/module/usbcore/parameters/usbfs_memory_mb
CURRENT_SIZE=$(cat /sys/module/usbcore/parameters/usbfs_memory_mb 2>/dev/null)
echo "当前 USB 内存大小: ${CURRENT_SIZE} MB"
else
echo "警告:非 root 用户,无法配置 USB 内存大小"
echo "建议运行sudo sh -c 'echo 2000 > /sys/module/usbcore/parameters/usbfs_memory_mb'"
fi
echo "=========================================="
echo "现在可以运行 DroneScrewServer"
echo "=========================================="