You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04下永久配置Vivado与Petalinux环境变量失败的问题求助

Ubuntu 18.04下永久配置Vivado与Petalinux环境变量失败的问题求助

我目前在用Ubuntu 18.04,日常开发会用到Petalinux、Vivado这类Xilinx工具。每次要启动Vivado的时候,都得打开终端手动输入:

source /opt/Xilinx/Vivado/2020.2/settings64.sh

但这个配置只对当前打开的终端有效,新开一个终端就得重新执行一遍source命令,实在有点麻烦。

我记得编辑.profile文件可以让环境变量配置永久生效,于是我往这个文件里加了这么一行:

export PATH="$PATH:/opt/Xilinx/Vivado/2020.2/settings64.sh"

结果注销再重新登录系统之后,还是得手动source那个脚本才能正常打开Vivado。到底是我哪里操作错了啊?

另外附上我用的Petalinux的settings.sh脚本内容,供大家参考:

#
# Setup script for PetaLinux development environment.
#
# Copyright (c) 1995-2013 Xilinx, Inc.  All rights reserved.
#
SETTINGS_FILE='settings.sh'

# The right location will be replaced by the installer
XIL_SCRIPT_LOC="./"

if [ $#!= 0 ]; then
# The first argument is the location of PetaLinux Installation
# Don't detect the installation location
XIL_SCRIPT_LOC="$1"
else
#  XIL_SCRIPT_LOC should point to script location
if [ "$0" == "ksh" ]; then
XIL_SCRIPT_LOC_TMP_UNI=`readlink -f ${XIL_ARG_}`
else
XIL_SCRIPT_LOC_TMP_UNI=$BASH_SOURCE
fi
XIL_SCRIPT_LOC_TMP_UNI=${XIL_SCRIPT_LOC_TMP_UNI%/*}
if [ "$XIL_SCRIPT_LOC_TMP_UNI"!= "" ]; then
if [ "$XIL_SCRIPT_LOC_TMP_UNI" == "settings.sh" ]; then
XIL_SCRIPT_LOC_TMP_UNI="./"
fi
XIL_SCRIPT_LOC_TMP_UNI=`readlink -f ${XIL_SCRIPT_LOC_TMP_UNI}`
if [ $? == 0 ]; then
XIL_SCRIPT_LOC=${XIL_SCRIPT_LOC_TMP_UNI}
fi
fi
unset XIL_SCRIPT_LOC_TMP_UNI
fi

export PETALINUX=`readlink -f "${XIL_SCRIPT_LOC}"`

if echo "${PETALINUX}" | grep -q ' '; then
echo "********************************************************"
echo "WARNING: PetaLinux SDK installation path contains spaces"
echo "WARNING: You are STRONGLY recommend to fix this".
echo "********************************************************"
fi

export PETALINUX_VER=2020.2
export XSCT_TOOLCHAIN="${PETALINUX}/tools/xsct"

# Figure out host system architecture
# for now, only linux-i386 supported
#
# Add toolchains to user's search path
#
PATH="${XSCT_TOOLCHAIN}/gnu/aarch32/lin/gcc-arm-none-eabi/bin:${PATH}"
PATH="${XSCT_TOOLCHAIN}/gnu/aarch64/lin/aarch64-none/bin:${PATH}"
PATH="${XSCT_TOOLCHAIN}/gnu/armr5/lin/gcc-arm-none-eabi/bin:${PATH}"
PATH="${XSCT_TOOLCHAIN}/gnu/microblaze/lin/bin:${PATH}"

#
# Add required binary tools to the user's search path
#
PATH="${PETALINUX}/tools/xsct/petalinux/bin:${PETALINUX}/tools/common/petalinux/bin:${PATH}"

#
# Check for "." or ".\" in the path - it's broken
#
echo "${PATH}" | tr ":" "\n" | grep '^\./*$' > /dev/null &&
echo "WARNING: '.' detected in PATH - fixing it." 1>&2

PATH=`echo ${PATH} | tr ":" "\n" | grep -v '^\./*$' | tr "\n" ":"`

# Strip any trailing or multi-colons - they are interpreted as '.'
PATH=$(echo ${PATH} | sed -e 's/:*$//g' -e 's/::*/:/g')

export PATH

echo PetaLinux environment set to \'${PETALINUX}\'

for s in /bin/sh sh; do
if! $s --version 2>/dev/null | grep -q "^GNU bash"; then
echo "WARNING: $s is not bash! "
echo "bash is PetaLinux recommended shell. Please set your default shell to bash."
break
fi
done

if! echo $SHELL | grep -q "bash"; then
echo "WARNING: $SHELL is not bash! "
echo "/bin/bash is Petalinux recommended SHELL variable. Please set your SHELL variable to /bin/bash."
fi

"${PETALINUX}"/tools/common/petalinux//utils/petalinux-env-check

备注:内容来源于stack exchange,提问作者Jonathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:52:59