1.2 海思SS928开发 - 开发环境 -工具链安装

1.2 开发环境-工具链安装

  • 为了方便使用,计划将工具链做成 SS928 SDK 仓库的一部分,并编写一个安装脚本。

创建仓库

  • 在 gitlab 上创建 SS928 SDK 仓库,并命名为 SS928_SDK_G7.3_K4.19,其中 G7.3 代表 gcc 版本为 7.3,K4.19 代表内核版本为 4.19。

  • 进入开发虚拟机,克隆仓库:

    cd ~
    mkdir -p hiss928/sdk && cd hiss928/sdk
    git clone http://gitlab.xxx.com/SDK/SS928_SDK_G7.3_K4.19.git ss928_sdk_g7.3_k4.19
    cd ss928_sdk_g7.3_k4.19 && mkdir toolchain
    

拷贝工具链

  • 进入到厂商提供的工具链所在目录,使用以下命令将工具链拷贝至开发虚拟机:
    • scp aarch64-mix210-linux.tgz ubuntu@172.16.0.xx:hiss928/sdk/ss928_sdk_g7.3_k4.19/toolchain
    • scp cc-riscv32-cfg5-musl-20211008-elf.tar.gz ubuntu@172.16.0.xx:hiss928/sdk/ss928_sdk_g7.3_k4.19/toolchain

解压工具链

  • 进入开发虚拟机,cd ~/hiss928/sdk/ss928_sdk_g7.3_k4.19/toolchain && tar -xf aarch64-mix210-linux.tgz
  • 解压后可以得到四个文件:aarch64-mix210-linux.tar.bz2 aarch64-mix210-linux.install runtime_lib.tgz readme.txt
  • 通过阅读 aarch64-mix210-linux.install 安装脚本,可以得出安装步骤如下:
    • 解压两个压缩包到指定的安装目录
    • 将工具链加入系统路径,并写入 /etc/profile
  • 默认的安装脚本不符合需求,考虑自己写一个。先准备需要的文件:
    • mv aarch64-mix210-linux.tar.bz2 runtime_lib.tgz ..
    • cd .. && rm -rf aarch64-mix210-linux aarch64-mix210-linux.tgz

编写安装脚本

  • cd .. && touch env_setup.sh && chmod a+x env_setup.sh

  • 脚本内容如下:

    #!/bin/bash
    
    # 获取当前目录
    echo "$0" | grep -q "bash"
    if [ $? -eq 0 ]; then
        CUR_DIR=$(cd $(dirname ${BASH_SOURCE[0]}); pwd )
    else
        CUR_DIR=$(dirname $0)
    fi
    
    TOOLCHAIN_PATH=${CUR_DIR}/toolchain
    ARCH64_TOOLCHAIN_NAME=aarch64-mix210-linux
    ARCH64_TOOLCHAIN_TAR=${TOOLCHAIN_PATH}/${ARCH64_TOOLCHAIN_NAME}.tar.bz2
    ARCH64_RUNTIME_LIB=${TOOLCHAIN_PATH}/runtime_lib.tgz
    ARCH64_TOOLCHAIN_READY=${TOOLCHAIN_PATH}/arch64_ready
    
    # 安装 arch64 工具链
    if [ ! -f ${ARCH64_TOOLCHAIN_READY} ]; then
        tar -xvf ${ARCH64_TOOLCHAIN_TAR} -C ${TOOLCHAIN_PATH}
        tar -xvf ${ARCH64_RUNTIME_LIB} -C ${TOOLCHAIN_PATH}/${ARCH64_TOOLCHAIN_NAME}
        echo "ok" > ${ARCH64_TOOLCHAIN_READY}
    fi
    
    # 加入系统路径
    export PATH=$PATH:${TOOLCHAIN_PATH}/${ARCH64_TOOLCHAIN_NAME}/bin
    

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 04:06:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 04:06:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 04:06:03       87 阅读
  4. Python语言-面向对象

    2024-04-13 04:06:03       96 阅读

热门阅读

  1. MongoDB聚合运算符:$median

    2024-04-13 04:06:03       32 阅读
  2. 基于STM32技术的智慧超市系统研究

    2024-04-13 04:06:03       30 阅读
  3. debian安装和基本使用案例

    2024-04-13 04:06:03       33 阅读
  4. 探究C++20协程(1)——C++协程概览

    2024-04-13 04:06:03       35 阅读
  5. 反转字符串

    2024-04-13 04:06:03       35 阅读
  6. Vue中$attrs的作用和使用方法

    2024-04-13 04:06:03       35 阅读
  7. linux下的常用压缩格式及压缩命令

    2024-04-13 04:06:03       36 阅读
  8. C++项目实战与经验分享

    2024-04-13 04:06:03       36 阅读