海思SDK 學習 :001-HI_SDK 的 安裝


背景

保密。不管怎么樣接觸到了海思SDK的開發,作為一項比較常見的技術,我們開展有關地學習。

host平台   :Ubuntu 16.04
arm平台   : 3531d
arm-gcc   :4.9.4

概況

海思給出的官方資料有:

文件名 解釋
Hi3531D_Vxxxxxx.rar 包含了有關的SDK
ReleaseDoc.rar 官方發布的中英文文檔
arm-hisiv500-linux.tgz 開發用的工具鏈

安裝

以下的操作在 Linux主機上進行。(本人這里是Ubuntu)

Hi3531D_Vxxxxxx.rar:解壓SDK包、並展開包的內容

Hi3531D SDK包位置:在"Hi3531D Vxxxxxx/01.software/"目錄下,有 Hi3531D_SDK_Vx.x.x.x.tgz 的文件,該文件就是Hi3531D的軟件開發包。

tar -xf Hi*SDK*.tgz

cd Hi*SDK*

# 如果需要拷貝SDK包,請先運行source  sdk.cleanup,收起SDK包的內容,拷貝到新的目錄后再展開。
source sdk.unpack

SDK目錄介紹

# schips @ ubuntu in Hi3531D_SDK [10:54:44]
$ tree  -L 2
.
├── drv                #平台驅動
│   ├── cipher
│   ├── hisi-irda
│   ├── rtc
│   ├── sys_config
│   └── wtdg
├── mpp                # 存放媒體處理平台的目錄
│   ├── component      # 組件源代碼 
│   ├── extdrv         # 板級外圍驅動源代碼
│   ├── include        # 對外頭文件
│   ├── ko             # 內核模塊
│   ├── lib            # release版本庫以及音頻庫
│   ├── linux.param
│   ├── Makefile.param
│   ├── sample         # 樣例源代碼
│   └── tools          # 媒體處理相關工具
├── osal
│   ├── include
│   └── source
├── osdrv              # 存放操作系統及相關驅動的目錄
│   ├── drv            # drv源代碼
│   ├── Makefile       # osdrv Makefile
│   ├── opensource     # 包含了 uboot、kernel、busybox等源碼
│   ├── pub            # 編譯好的鏡像、工具、drv驅動等(空的)
│   ├── readme_cn.txt
│   ├── readme_en.txt
│   ├── rootfs_scripts # rootfs源代碼
│   └── tools          # linux工具源代碼
├── package            # 存放SDK各種壓縮包的目錄
│   ├── drv.tgz        # 平台驅動壓縮包
│   ├── image_uclibc   # 可供FLASH燒寫的映像文件,如內核、根文件系統
│   ├── mpp.tgz        # 媒體處理平台軟件壓縮包
│   ├── osal.tgz
│   ├── osdrv.tgz      # linux內核/uboot/rootfs/tools源碼壓縮包
│   └── rootfs_uclibc.tgz
├── scripts            # 存放shell腳本的目錄
├── sdk.cleanup        # SDK清理腳本
└── sdk.unpack         # SDK展開腳本

arm-hisiv500-linux.tgz:安裝交叉編譯器到HOST

解壓與自動安裝

tar -xf arm-hisiv500-linux.tgz

cd arm-hisiv500-linux
# arm-hisiv500-linux.install 腳本中的 TOP_DIR 為安裝工具鏈的位置,可以修改,一般默認即可
chmod +x arm-hisiv500-linux.install
sudo ./arm-hisiv500-linux.install

配置工具鏈到 PATH中

# 默認情況下的工具鏈配置路徑
export PATH=$PATH:/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin

測試

$ arm-hisiv500-linux-gcc --version

arm-hisiv500-linux-gcc (Hisilicon_v500_20170922) 4.9.4 20150629 (prerelease)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

如果出現:

arm-hisiv500-linux-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

這是因為gcc太老的問題:解決辦法:

sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6  -y

編譯osdrv

osdrv ,具體參見osdrv目錄下readme;這里給出自用的編譯kernel 有關的腳本

  • 配置:make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- menuconfig
  • 清除:make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- clean
  • 編譯:
sudo PATH=$PATH:/opt/hisi-linux/x86-arm/arm-hisiv500-linux/target/bin make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- uImage -j4 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM