海思开发环境搭建,编译整个osdrv

1、开发环境

  • windows10电脑 + 虚拟机14 Pro + Ubuntu16.0.4

2、拷贝并解压。将 Hi3518E_SDK_V1.0.3.0.tgz拷贝到 Linux 服务器上。

    cd ~/sambashare/
    cp /mnt/hgfs/winshare/HI3518EV200/Hi3518E_V200R001C01SPC030/01.software/board/Hi3518E_SDK_V1.0.3.0.tgz ./ -f          
    ls
    tar -xvf Hi3518E_SDK_V1.0.3.0.tgz

3、 安装

进入Hi3518E_SDK_V1.0.3.0目录,执行以下两个命令

    source sdk.cleanup         清除SDK
    source sdk.unpack         解压SDK

4、编译OSDRV

进入osdrv目录。
先执行distclean命令,确保SDK命令是干净的

    make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 distclean            

执行make all,编译整个osdrv目录

    make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.1 出现错误

/bin/sh: 1: pushd: not found

原因:

不能压栈入栈,因为pushd命令需要在bash的环境中执行,所以需要修改系统默认shell为bash

解决方法1

  • 步骤1.which sh,结果是/bin/sh
  • 步骤2.ls -l /bin/sh,结果sh指向dash
  • 步骤3.sudo rm /bin/sh
  • 步骤4.sudo ln -s /bin/bash /bin/sh
  • 步骤5.ls -l /bin/sh,结果sh指向bash

解决方法2

  • 步骤1.sudo dpkg-reconfigure dash 【NO】
    技术分享图片
  • 步骤2.ls -l /bin/sh,结果sh指向bash

进入osdrv,继续编译

make OSDRV_CROSS=arm-hisiv300-linux CHIP=hi3518ev200 all

4.2 出现错误

make[2]: arm-hisiv300-linux-gcc: Command not found

原因

交叉编译工具链未安装。
由于嵌入式单板的资源有限,不能在单板上运行开发和调试工具,通常需要交叉编译调试的方式进行开发和调试,即“宿主机+目标机(评估板)”的形式。  
宿主机和目标机的处理器一般不相同。宿主机需要建立合适于目标机的交叉编译环境。程序在宿主机上经过“编译-链接-定位”得到可执行文件。通过一定的方法将可执行文件烧写到目标机中,然后再目标机上运行。所谓的交叉编译也就是A机编译,B机运行。
发布包提供两种编译工具链arm-hisiv300-linux 和 arm-hisiv400-linux,其中 arm-hisiv300-linux 为基于 uclibc 的工具链, arm-hisiv400-linux 为基于 glibc 的工具链。 uclibc比 glibc要小很多,因此我们选用arm-hisiv300-linux。

解决方法

  • 步骤1,进入工具链及其安装程序的目录位置:Hi3518E_SDK_V1.0.3.0/osdrv/opensource/toolchain/arm-hisiv300-linux
  • 步骤2,解压工具链:tar -xvf arm-hisiv300-linux.tar.bz2
  • 步骤3,安装工具链:sudo ./cross.install.v300
  • 步骤4,进入交叉编译工具链的挂载目录:cd /opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin
  • 步骤5,ls 【发现里面有很多arm-hisiv300-linux-uclibcgnueabi-xxx编译工具链】
  • 步骤6,file file arm-hisiv300-linux-uclibcgnueabi-gcc 【ELF 32-bit LSB executable,也就是说这个交叉编译工具链是32位的,但是我是用的虚拟机上Ubuntu16.04是64位的,因此必须安装32位的兼容包】
  • 步骤7,cd ../target/bin
  • 步骤8,ls 【发现里面有很多arm-hisiv300-linux-xxx编译工具链,这些是arm-hisiv300-linux-uclibcgnueabi-xxx的符号链接,就是我们要找的arm-hisiv300-linux工具链,可以用ls -l查看】
  • 步骤9,pwd 【/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin,记住这个路径,需要将这个路径导入到环境变量中:见步骤9,10】
  • 步骤10,vi ~/.bashrc,在文件末尾追加export PATH=/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin:$PATH
  • 步骤11,source ~/.bashrc 【确保环境变量设置生效.,可以用echo $PATH查看是否成功导入】
  • 步骤12,ping www.baidu.com 【确保虚拟机能上网】
  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要搭建海思3518环境,你需要参考官方文档和相关教程。可以参考Hi3516EV200R002C05SPC012\ReleaseDoc\zh\01.software\board\OSDRV\Hi35xx Huawei LiteOS 开发环境用户指南和Hi3516EV200R002C05SPC012\ReleaseDoc\zh\01.software\board\Hi3516EV200╱Hi3516EV300╱Hi3518EV300 Huawei LiteOS SDK 安装以及升级使用说明中的指南和说明。这些文档会提供详细的步骤和说明,帮助你完成环境搭建的过程。另外,你还可以参考基于3519av100的SDK开发环境搭建过程,这可以起到触类旁通的作用,帮助你尽快上手海思35系列的开发工作。在搭建过程中,可能会涉及到网络设置,你可以使用命令"sudo ifconfig ens33 down"重启网卡,然后使用"sudo ifconfig ens33 up"启动网卡。通过参考这些文档和教程,你应该能够成功搭建海思3518环境。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [海思Hi3518—开发环境搭建](https://blog.csdn.net/s19933183110/article/details/114752066)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [华为海思35xx开发板的SDK环境搭建](https://download.csdn.net/download/weixin_27219587/19749555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值