• 完善的交叉编译环境记录 peta 生成的shell 脚本


    # Check for LD_LIBRARY_PATH being set, which can break SDK and generally is a bad practice
    # http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN80
    # http://xahlee.info/UnixResource_dir/_/ldpath.html
    # Only disable this check if you are absolutely know what you are doing!
    if [ ! -z "$LD_LIBRARY_PATH" ]; then
        echo "Your environment is misconfigured, you probably need to 'unset LD_LIBRARY_PATH'"
        echo "but please check why this was set in the first place and that it's safe to unset."
        echo "The SDK will not operate correctly in most cases when LD_LIBRARY_PATH is set."
        echo "For more references see:"
        echo "  http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN80"
        echo "  http://xahlee.info/UnixResource_dir/_/ldpath.html"
        return 1
    fi
    export SDKTARGETSYSROOT=/opt/petalinux/2019.2/sysroots/cortexa9t2hf-neon-xilinx-linux-gnueabi
    export PATH=/opt/petalinux/2019.2/sysroots/x86_64-petalinux-linux/usr/bin:/opt/petalinux/2019.2/sysroots/x86_64-petalinux-linux/usr/sbin:/opt/petalinux/2019.2/sysroots/x86_64-petalinux-linux/bin:/opt/petalinux/2019.2/sysroots/x86_64-petalinux-linux/sbin:/opt/petalinux/2019.2/sysroots/x86_64-petalinux-linux/usr/bin/../x86_64-petalinux-linux/bin:/opt/petalinux/2019.2/sysroots/x86_64-petalinux-linux/usr/bin/arm-xilinx-linux-gnueabi:/opt/petalinux/2019.2/sysroots/x86_64-petalinux-linux/usr/bin/arm-xilinx-linux-musl:$PATH
    export PKG_CONFIG_SYSROOT_DIR=$SDKTARGETSYSROOT
    export PKG_CONFIG_PATH=$SDKTARGETSYSROOT/usr/lib/pkgconfig:$SDKTARGETSYSROOT/usr/share/pkgconfig
    export CONFIG_SITE=/opt/petalinux/2019.2/site-config-cortexa9t2hf-neon-xilinx-linux-gnueabi
    export OECORE_NATIVE_SYSROOT="/opt/petalinux/2019.2/sysroots/x86_64-petalinux-linux"
    export OECORE_TARGET_SYSROOT="$SDKTARGETSYSROOT"
    export OECORE_ACLOCAL_OPTS="-I /opt/petalinux/2019.2/sysroots/x86_64-petalinux-linux/usr/share/aclocal"
    export OECORE_BASELIB="lib"
    export OECORE_TARGET_ARCH="arm"
    export OECORE_TARGET_OS="linux-gnueabi"
    unset command_not_found_handle
    export CC="arm-xilinx-linux-gnueabi-gcc  -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
    export CXX="arm-xilinx-linux-gnueabi-g++  -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
    export CPP="arm-xilinx-linux-gnueabi-gcc -E  -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 --sysroot=$SDKTARGETSYSROOT"
    export AS="arm-xilinx-linux-gnueabi-as "
    export LD="arm-xilinx-linux-gnueabi-ld  --sysroot=$SDKTARGETSYSROOT"
    export GDB=arm-xilinx-linux-gnueabi-gdb
    export STRIP=arm-xilinx-linux-gnueabi-strip
    export RANLIB=arm-xilinx-linux-gnueabi-ranlib
    export OBJCOPY=arm-xilinx-linux-gnueabi-objcopy
    export OBJDUMP=arm-xilinx-linux-gnueabi-objdump
    export AR=arm-xilinx-linux-gnueabi-ar
    export NM=arm-xilinx-linux-gnueabi-nm
    export M4=m4
    export TARGET_PREFIX=arm-xilinx-linux-gnueabi-
    export CONFIGURE_FLAGS="--target=arm-xilinx-linux-gnueabi --host=arm-xilinx-linux-gnueabi --build=x86_64-linux --with-libtool-sysroot=$SDKTARGETSYSROOT"
    export CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types "
    export CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types "
    export LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
    export CPPFLAGS=""
    export KCFLAGS="--sysroot=$SDKTARGETSYSROOT"
    export OECORE_DISTRO_VERSION="2019.2"
    export OECORE_SDK_VERSION="2019.2"
    export ARCH=arm
    export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
    
    # Append environment subscripts
    if [ -d "$OECORE_TARGET_SYSROOT/environment-setup.d" ]; then
        for envfile in $OECORE_TARGET_SYSROOT/environment-setup.d/*.sh; do
                . $envfile
        done
    fi
    if [ -d "$OECORE_NATIVE_SYSROOT/environment-setup.d" ]; then
        for envfile in $OECORE_NATIVE_SYSROOT/environment-setup.d/*.sh; do
                . $envfile
        done
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
  • 相关阅读:
    毕业设计之基于Vue的数据可视化平台
    C# 自定义事件
    Code Review关注点
    SpringBoot 自动装配原理 - 支付宝支付封装starter
    Vue-router的动态路由:获取传递的值
    毕业设计之基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构
    上海市通过区块链技术攻关 构建数字经济可信安全技术底座
    监听和获取LayerUI中的switch值
    【云原生】玩转docker实战(二):单机环境的容器编排工具docker-compose
    SPA项目开发之登录注册
  • 原文地址:https://blog.csdn.net/weixin_45647912/article/details/126020352