01、HI3518环境搭建和熟悉

@(HI3518EV200学习)

参考博文:https://blog.csdn.net/qq_39436605/article/details/90081360

文章目录

  • 01、HI3518环境搭建和熟悉
    • 软硬件环境和准备
    • 安装交叉编译工具
    • 编译OSDRV及出现的问题

软硬件环境和准备

ubuntu:16.04 可联网
window7
HI3518EV200开发板(网卡、SD卡、16Mspi_flash、USB 、 串口)
SDK包:Hi3518E V200R001C01SPC040

安装交叉编译工具

路劲:Hi3518E V200R001C01SPC040\01.software\board\Hi3518E_SDK_V1.0.4.0.tgz

①、将编译工具链拷到ubuntu,并解压

cp /mnt/hgfs/winshare/Hi3518E_SDK_V1.0.4.0.tgz ./
tar -xvf Hi3518E_SDK_V1.0.4.0.tgz

②、运行sdk.unpack

解压后的文件:package scripts sdk.cleanup sdk.unpack
运行 sdk.unpack source sdk.unpack,会自动解压等操作

③、安装交叉工具链

进入路径:/osdrv/opensource/toolchain
有两个,我们选择第一个arm-hisiv300-linux ,再进入
运行cross.install.v300 ./cross.install.v300
进入 /opt/hisi-linux/x86-arm/arm-hisiv300-linux/ 发现自动帮我们把编译工具链安装到此处了
④、创建交叉编译工具链符号链接
为工具链创建符号链接,因为编译osdrv时,需要使用arm-hisiv300-linux, 在此目录下,进入bin文件夹,创建一个脚本creat_hisiv300.sh,直接运行 source creat_hisiv300.sh,脚本内容如下

ln -s arm-hisiv300-linux-uclibcgnueabi-addr2line arm-hisiv300-linux-addr2line
ln -s arm-hisiv300-linux-uclibcgnueabi-ar arm-hisiv300-linux-ar
ln -s arm-hisiv300-linux-uclibcgnueabi-as arm-hisiv300-linux-as
ln -s arm-hisiv300-linux-uclibcgnueabi-c++ arm-hisiv300-linux-c++
ln -s arm-hisiv300-linux-uclibcgnueabi-c++filt arm-hisiv300-linux-c++filt
ln -s arm-hisiv300-linux-uclibcgnueabi-cpp arm-hisiv300-linux-cpp
ln -s arm-hisiv300-linux-uclibcgnueabi-elfedit arm-hisiv300-linux-elfedit
ln -s arm-hisiv300-linux-uclibcgnueabi-g++ arm-hisiv300-linux-g++
ln -s arm-hisiv300-linux-uclibcgnueabi-gcc arm-hisiv300-linux-gcc
ln -s arm-hisiv300-linux-uclibcgnueabi-gcc-4.8.3 arm-hisiv300-linux-gcc-4.8.3
ln -s arm-hisiv300-linux-uclibcgnueabi-gcc-ar arm-hisiv300-linux-gcc-ar
ln -s arm-hisiv300-linux-uclibcgnueabi-gcc-nm arm-hisiv300-linux-gcc-nm
ln -s arm-hisiv300-linux-uclibcgnueabi-gcc-ranlib arm-hisiv300-linux-gcc-ranlib
ln -s arm-hisiv300-linux-uclibcgnueabi-gcov arm-hisiv300-linux-gcov
ln -s arm-hisiv300-linux-uclibcgnueabi-gdb arm-hisiv300-linux-gdb
ln -s arm-hisiv300-linux-uclibcgnueabi-gprof arm-hisiv300-linux-gprof
ln -s arm-hisiv300-linux-uclibcgnueabi-ld arm-hisiv300-linux-ld
ln -s arm-hisiv300-linux-uclibcgnueabi-ld.bfd arm-hisiv300-linux-ld.bfd
ln -s arm-hisiv300-linux-uclibcgnueabi-nm arm-hisiv300-linux-nm
ln -s arm-hisiv300-linux-uclibcgnueabi-objcopy arm-hisiv300-linux-objcopy
ln -s arm-hisiv300-linux-uclibcgnueabi-objdump arm-hisiv300-linux-objdump
ln -s arm-hisiv300-linux-uclibcgnueabi-ranlib arm-hisiv300-linux-ranlib
ln -s arm-hisiv300-linux-uclibcgnueabi-readelf arm-hisiv300-linux-readelf
ln -s arm-hisiv300-linux-uclibcgnueabi-size arm-hisiv300-linux-size
ln -s arm-hisiv300-linux-uclibcgnueabi-strings arm-hisiv300-linux-strings
ln -s arm-hisiv300-linux-uclibcgnueabi-strip arm-hisiv300-linux-strip

⑤、添加环境变量

vi ~/.bashrc,在文件末尾追加export PATH=/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin:$PATH
重启终端,以便环境变量生效
验证是否生效 arm-hisiv300-linux-gcc -v
出现以下错误

bash: /opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin/arm-hisiv300-linux-gcc: No such file or directory

⑥、解决64位ubuntu不兼容32bit工具问题

以上问题由于64位ubuntu不兼容32bit工具问题,使用以下步骤解决
sudo aptitude install lib32z1 第一个选择N
sudo aptitude install lib32stdc++6-4.8-dbg 第一个选择N
有时选择国内镜像源安装可能不成功

⑦、验证安装成功

运行arm-hisiv300-linux-gcc -v出现版本号
gcc version 4.8.3 20131202 (prerelease) (Hisilicon_v300)

编译OSDRV及出现的问题

进入cd /usr/HI/Hi3518E_SDK_V1.0.4.0/osdrv/编译时使用

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

①、问题 /bin/sh: 1: pushd: not found

查看sh链接为dash
改为bash
rm -sh
ln -s bash sh

②、问题 “mkimage” command not found - U-Boot images will not be built

进入/usr/HI/Hi3518E_SDK_V1.0.4.0/osdrv/opensource/uboot/u-boot-2010.06/tools
将mkimage拷贝到/bin
cp mkimage /bin

③、问题 compr_zlib.c:39:18: fatal error: zlib.h: No such file or directory

sudo aptitude install zlib1g-dev

④、问题 serve_image.c:103:35: error: dereferencing pointer to incomplete type ‘struct addrinfo’

在于ubuntu操作系统版本太高,而SDK使用的mtd-utils版本太低导致
修改操作系统头文件/usr/include/netdb.h,将此宏__USE_XOPEN2K注释
注意#ifdef与#endif是一一对应的

⑤、mkfs.ubifs/hashtable/hashtable_itr.c:42:1: error: redefinition of ‘hashtable_iterator_key’

先下载mtd-utils_1.5.2.orig.tar.bz2
下载地址:http://nl.archive.ubuntu.com/ubuntu/pool/universe/m/mtd-utils/mtd-utils_1.5.2.orig.tar.bz2
拷贝到此目录下:/osdrv/tools/pc/jffs2_tool
重命名为:mtd-utils_1.5.2.orig.tar.bz2
更改同目录下的makefile MTD_UTILS := mtd-utils-1.5.2

⑥、问题 mkfs.ubifs/mkfs.ubifs.h:46:23: fatal error: uuid/uuid.h: No such file or directory compilation terminated.

⑦、问题 error: ncurses or ncursesw selected, but library not found (–without-ncurses to disable)

sudo apt-get install libncurses5-dev libncursesw5-dev

01、HI3518环境搭建和熟悉相关推荐

  1. HI3518环境搭建

    1.HI3518环境搭建 1.1软硬件环境和准备 1.ubuntu:16.04 可联网 2.window7 3.HI3518EV200开发板(网卡.SD卡.16Mspi_flash.USB . 串口) ...

  2. stm32f4 hal 4位数码管_STM32裸机开发基础篇01开发环境搭建(HAL库)

    前言 众所周知,在32位单片机中,STM32占有重要市场份额,其社区活动频繁,网上相关资料也比较多,无论是学习入门,还是工作使用,都无疑是极好的选择,本节开始,我们将学习如何使用STM32,首先,我们 ...

  3. SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口

    一.SpringBoot 框架的特点 SpringBoot2.0 特点 1)SpringBoot继承了Spring优秀的基因,上手难度小 2)简化配置,提供各种默认配置来简化项目配置 3)内嵌式容器简 ...

  4. STM32G0学习手册——开发环境搭建与熟悉(CubeMX与MDK5)

    目录 CubeMX设置 CubeMX界面认识 Project(工程管理) Code Generator(代码生成) MDK-ARM软件安装 ST-LINK设置 CubeMX设置 1.在官网下载安装包安 ...

  5. Dart学习笔记01:环境搭建与开发环境配置

    文章目录 一.Dart概述 二.下载Dart for Windows 三.安装Dart for Windows 四.命令行方式安装Dart (一)安装Chocolatey 1.启动PowerShell ...

  6. 【三维激光扫描】实验01:环境搭建CAD2014+StonexSiScan软件安装

    目 录 一.CAD2014简体中文版安装 1. 安装过程 2. 激活过程 二.Si-Scan安装 1. 主程序安装 2. 驱动安装 一.CAD2014简体中文版安装 1. 安装过程 双击安装包:Aut ...

  7. RN学习笔记01:概述、特点与环境搭建

    RN学习笔记01:概述.特点与环境搭建 一.RN概述 React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 Reac ...

  8. 华为云IoT智慧物流案例01 | 背景介绍与环境搭建

    华为云IoT智慧物流案例01 | 背景介绍与环境搭建 引言 第一章 背景介绍与案例开发及实现方案的步骤分析 1.1 背景介绍 1.2 智慧物流方案分析 1.3 方案开发想法及流程 1.4 小章总结 第 ...

  9. MyBatis-学习笔记01【01.Mybatis课程介绍及环境搭建】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

最新文章

  1. 使用ThinkPHP实现生成/校验验证码功能
  2. 双绞线,同轴电缆和光纤电缆之间的区别—Vecloud微云
  3. 【PAT乙级】1092 最好吃的月饼 (20 分)
  4. Uber七折流血融资,软银拿下15%股份,滴滴笑了
  5. Asp.Net Core Mvc上Json序列化首字母大小写的问题
  6. 特效字幕(ass)简易制作教程
  7. java节假日算法_java节假日
  8. 802.11 ------ Beacon帧、Beacon Interval、TBTT、Listen Interval、TIM、DTIM
  9. 王立军 - 民警维权工作
  10. centos8 配置DNS服务
  11. 《C语言详解》_by_Hanly.学习笔记(1)
  12. 模具人看过来!!10大影响注塑模具质量的因素
  13. Windows XP 下载
  14. 四天工作制究竟香不香;复旦发布类ChatGPT模型Moss;苹果上新348元省电保护膜 | EA周报...
  15. 感悟生活,由一款很火的APP拼多多,想到的
  16. 关于MathType蓝多多的备忘录
  17. warning: go env -w GO111MODULE=... does not override conflicting OS environment variable
  18. mycat 分表子查询_MyCat分库分表策略详解
  19. 智能红外遥控器(二): Arduino环境搭建及库安装
  20. Mac OS X 10.11 EI Capitan 的iso镜像提取

热门文章

  1. RC4加密方式及代码实现
  2. linux系统怎么卸载触摸屏驱动,linux系统下怎么卸载旧的驱动
  3. 170916_算法导论学习(四)_2.3 设计算法_练习
  4. 培训day09(推单)
  5. 手把手教你写android项目@第一期项目——身份证查询创新
  6. 前端三剑客--->HTML
  7. vivado下载步骤
  8. 两步验证Authy时间同步问题
  9. 复制指定目录下的所有文件(包含目录下的子目录文件)
  10. 《Java并发编程实战》读书笔记