1. 程式人生 > >Hi3519V101開發環境搭建(一)

Hi3519V101開發環境搭建(一)

  • Hi3519V101開發環境搭建(一)
  • 摘要:引言目前接觸的專案使用海思平臺。這裡記錄下海思3519的開發環境的搭建過程,感覺每次搭建都要參考《Hi3519V101Linux開發環境使用者指南.pdf》很麻煩,重複造輪子,效率極低。Hi3519V101Linux開發環境安裝Hi3519V101SDKHi3519V101SDK是基於Hi3519V101DMEB的軟體開發包,包含了在Linux相關應用開發時使用的各種工具及其原始碼,是使用者開發中最基本的軟體平臺。安裝步驟拷貝。將Hi3519V101_SDK_V1.0.2.0.t
  • 引言

    目前接觸的專案使用海思平臺。這裡記錄下海思3519的開發環境的搭建過程,感覺每次搭建都要參考《Hi3519V101 Linux開發環境使用者指南.pdf》很麻煩,重複造輪子,效率極低。

    Hi3519V101 Linux開發環境 安裝Hi3519V101 SDK

    Hi3519V101 SDK是基於Hi3519V101 DMEB的軟體開發包,包含了在Linux相關應用開發時使用的各種工具及其原始碼,是使用者開發中最基本的軟體平臺。

    安裝步驟
    1. 拷貝。將Hi3519V101_SDK_V1.0.2.0.tgz拷貝到Linux伺服器上。
    2. 解壓。解壓檔案,使用命令:tar -zxf Hi3519V101_SDK_V1.0.2.0.tgz。 
      如果過程中沒有提示資訊,請等待命令執行完畢。
    3. 安裝。解壓完成後,進入Hi3519V101_SDK_V1.0.2.0目錄,執行./sdk.unpack, 執行完成後,安裝成功。 
      如果使用者沒有root許可權,安裝過程中必要的時候會提示輸入root密碼或sudo密碼;如果系統提示無可執行許可權,執行命令chmod 777 ./sdk.unpack

      。 
      注意:預設執行./sdk.unpack是不成功的。會出現: 
      ./sdk.unpack: 2: ./sdk.unpack: source: not found 
      ./sdk.unpack: 4: ./sdk.unpack: ECHO: not found 
      ./sdk.unpack: 6: ./sdk.unpack: WARN: not found 
      ./sdk.unpack: 7: ./sdk.unpack: WARN: not found 
      ./sdk.unpack: 8: ./sdk.unpack: ECHO: not found 
      ./sdk.unpack: 18: ./sdk.unpack: ECHO: not found 
      ./sdk.unpack: 19: ./sdk.unpack: ECHO: not found 
      ./sdk.unpack: 20: ./sdk.unpack: ECHO: not found 
      ./sdk.unpack: 27: ./sdk.unpack: ECHO: not found 
      ./sdk.unpack: 29: ./sdk.unpack: run_command_progress_float: not found 
      ./sdk.unpack: 31: ./sdk.unpack: ECHO: not found 
      ./sdk.unpack: 33: ./sdk.unpack: run_command_progress_float: not found 
      ./sdk.unpack: 37: ./sdk.unpack: ECHO: not found 
      ./sdk.unpack: 44: ./sdk.unpack: run_command_progress_float: not found 
      ./sdk.unpack: 62: ./sdk.unpack: ECHO: not found 
      mkdir: 已建立目錄 'mpp_big-little' 
      ./sdk.unpack: 64: ./sdk.unpack: run_command_progress_float: not found 
      ./sdk.unpack: 71: ./sdk.unpack: ECHO: not found 
      mkdir: 已建立目錄 'drv' 
      ./sdk.unpack: 73: ./sdk.unpack: run_command_progress_float: not found
       
      原因:

      Ubuntu中,/bin/sh預設已經指向dash,這是一個不同於bash的shell,主要是為了執行指令碼而出現,而不是互動,dash速度更快,但功能比bash少很多,語法嚴格遵守POSIX標準。

      解決方法1: 
      步驟1:vim scripts/common.sh; 第一行:#!/bin/sh->!/bin/bash 
      步驟2:vim sdk.unpack; 第一行:#!/bin/sh->!/bin/bash 
      步驟3:./sdk.unpack 
      解決方法2: 
      步驟1:sudo dpkg-reconfigure dash 
      步驟2:出現選單問是否需要dash,選no. 
      步驟3:./sdk.unpack 
      解決方法來自易百納,感謝大神們的分享。連結

    安裝交叉編譯工具鏈

    釋出包提供兩種編譯工具鏈arm-hisiv500-linux和arm-hisiv600-linux,其中arm-hisiv500-linux為基於uclibc的工具鏈,arm-hisiv600-linux 為基於 glibc 的工具鏈。

    我使用的是arm-hisiv500-linux,不過兩個編譯工具鏈都安裝是完全沒有問題的。注意,《Hi3519V101 Linux開發環境使用者指南.pdf》中的工具鏈路徑是錯誤的,實際的路徑見下面的安裝步驟。

    步驟1:解壓工具鏈。工具鏈及其安裝程式位於 
    /hisilicon/Hi3519V101_SDK_V1.0.2.0/osdrv/opensource/toolchain/arm-hisiv500-linux下,進入此命令,執行如下命令解壓: 

    cd toolchain/arm-hisiv500-linux 
    tar -xvf arm-hisiv500-linux.tar.bz2

    步驟2:安裝工具鏈。執行命令./arm-hisiv500-linux.install 
    注意:檢視arm-hisiv500-linux.install可以知道交叉編譯工具鏈的安裝路徑。 
    步驟3:source /etc/profile使環境變數生效 
    步驟4:執行arm-hisiv500-linux-gcc -v 
    出現如下錯誤: 
    bash: /opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin/arm-hisiv500-linux-gcc: 沒有那個檔案或目錄 
    解決方法:sudo apt install lib32z1-dev 
    原因在於宿主機是64為,而交叉編譯器是針對32位的開發板製作的。所以要安裝對應的32位庫。 
    解決方法來自:連結 
    然後,執行arm-hisiv500-linux-gcc -v成功。

  • 以上是Hi3519V101開發環境搭建(一)的內容,更多 的內容,請您使用右上方搜尋功能獲取相關資訊。