海思平台

板端编译首先需要配置系统的NFS,挂载NFS服务器;然后安装ubuntu下的交叉编译环境(3516A和3518为例);登录板端;板端编译(需要修改相关的makefile文件);板端运行;

一 NFS配置

1 下载相关软件

sudo apt-get install nfs-kernel-server  # 安装nfs服务端
sudo apt-get install nfs-common         #  安装nfs客户端

2 建立共享目录

sudo mkdir /nfsshare        # 设置共享目录,尽量不要设置的太长
sudo chmod 777 /nfsshare    # 更改目录的使用权限

3 修改该配置文件

sudo gedit /etc/exports

在里面加入

/nfsshare *(rw,sync,no_root_squash)
### *代表允许所有的网络段访问
### rw是可读写权限
### sync是资料同步写入内存和硬盘
### no_root_squash是NFS客户端分享目录使用者的权限,如果客户端使用的是root用户,### 那么对于该共享目录而言,该客户端就具有root权限
### 最后重新扫描配置文件,使用户修改/etc/exports配置文件不必重启NFS服务
sudo exportfs -ra

4 重启服务

sudo /etc/init.d/nfs-kernel-server restart
[OK ] Restarting nfs-kernel-server.......  # 正常

5 测试服务器

showmount -e    # 查看服务目录和权限

6 测试客户端

touch /nfsshare/testfile      # 在/nfsboot里新建文件,主要是作测使用
# 在其他分区挂载nfs文件系统,记得该目录要先存在才行
sudo mount 192.168.0.10:/nfsshare   /mnt
# 192.168.0.10为本机的IP地址,可通过ifconfig查询。
#  查看一下,出现testfile,正常
ls /mnt
sudo  umount  192.168.0.10:/nfsshare  /mnt     # 解除mount,注意用的时候用相对路径

二 安装ubuntu下的交叉编译环境

1 下载或拷贝安装包

下载SDK包"Hi3518C_V100R001C01SPC081"
下载SDK包"Hi3516A V100R001C01SPC050"
解压缩该文件得到一个目录

2 展开SDK包内容

返回Hi3516A…目录,运行

# 更改 sdk.unpack里的第一行 (在运行不可用时,bin/sh ---> bin/bash)
sudo ./sdk.unpack

3 安装交叉编译器

安装uclibc交叉编译器,(注意,需要有sudo权限或者root权限):
进入Hi3516A_SDK_Vx.x.x.x/osdrv/opensource/toolchain/arm-hisiv300-linux目录,

sudo chmod +x cross.install
sudo ./cross.install
source /etc/profile   ### 安装交叉编译器的脚本配置的环境变量生效

由于ubuntu16.04是64位的 交叉编译工具为32位的,还需要安装两个库:

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

三 板端交叉编译

准备程序,可以在ubuntu或者其他linux系统上能编译和运行的源码;

1 挂载目录

在/etc/exports里写入 /home/usrname 192.168.0.0/24(rw) # 需要挂载的目录

sudo ufw disable ### 关闭防火墙,可以在板端对服务器访问
sudo /etc/init.d/nfs-kernel-server restart ### 重启NFS服务
telnet 192.168.0.228 ### 远程登录到板端

输入用户名和密码

root/nvsS3 ### xx相机的用户名和密码

mount -t nfs -o nolock,rsize=1024 (nfs服务器IP):(服务器共享路径) (板子路径) ### 板子上运行
如:
mount -t nfs -o nolock,rsize=1024 192.168.0.129:/home/usrname /mnt/usrname

2 交叉编译

进入到应用程序目录,修改makefile的编译器为

CC = arm-hisiv300-linux-gcc # 3516

Make 应用程序,生成静态库

在ubuntu上将程序拷贝到3516A/mpp/sample目录下,通过cd 进入到sample下的路径

海思开发板上的重要优化选项,加上,至少可以提速20%

-mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4

安霸平台

nfs配置(跟海思系列一致)

安装

主要是交叉编译链安装不太一致。

将S2L两个压缩文件分别拷贝到/usr/local/下:

在S2L目录下

sudo cp filename /usr/local/
cd  /usr/local
sudo unzip arm-elf-4.5.2.zip
cd arm-elf-4.5.2
sudo tar jxvf arm-elf-64.tar.bz2 # (根据宿主机选择是32还是64)# 然后解压toolchain:
cd /usr/local
sudo tar xvJf linaro-armv7ahf-2015.11-gcc5.2-x86_64.tar.xz

然后增加环境变量:

sudo gedit /etc/profile

在最后一行增加

export PATH="/usr/local/linaro-armv7ahf-2015.11-gcc5.2/bin:$PATH"

然后 终端执行:

source /etc/profile 然后在同一个终端内输入arm然后按TAB看能否显示
,然后注销系统,使环境变量永久生效。

优化指令:

CFLAGS = -O3 -mcpu=cortex-a9 -fPIC

【交叉编译】海思平台和安霸平台交叉编译相关推荐

  1. ssh海思3531a开发板的交叉编译

    作者: 使徒保罗 邮箱:297329588szh@163.com 声明: 欢迎交流学习,如有任何疑问,请通过邮箱联系本人 环境: ubuntu14.04 32位 功能: ssh 海思3531a交叉编译 ...

  2. 开发板屏幕截图-适用于本公司海思和智源平台

    C源码(screenshot.c): #include <stdio.h> #include <stdlib.h> #include <sys/ioctl.h> # ...

  3. ISP主流芯片方案---海思、安霸、TI、NXP、升迈和Nextchip对比

  4. c++ opencv mat_海思平台OpenCV编译与进一步裁剪

    OpenCV是计算机视觉算法开发常用的工具.如果我们需要在嵌入式设备上运行opencv,那么就需要交叉编译,将它移植到对应平台上.但是有些嵌入式平台的存储空间有限,能节省1MB也有相当大的作用.Ope ...

  5. Hi35XXX海思媒体处理平台架构介绍.

    海思的媒体处理平台(MPP,Media Process Platform),在系统中的位置如下图所示,内部主要分为视频输入(VI).视频处理(VPSS).视频编码(VENC).视频解码(VDEC).视 ...

  6. RT3070驱动移植笔记 海思3515

    今天将rt3070wifi模块安装到海思3515开发板上,需要移植驱动程序.下面就移植过程做一下笔记 首先下载源码,可以到我的资源中下载http://download.csdn.net/detail/ ...

  7. 建立live555海思编码推流服务

    因项目需要,这一周弄了一下live555.需求:海思编码-->RTSP server,使用VLC可以访问,类似于网络摄像机的需求.看了一下,live555的架构太复杂了,半桶水的C++水平还真的 ...

  8. 海思3518ev200学习记录(1)- 根据用户手册烧录系统镜像

    系列文章目录 海思3518ev200学习记录(1)- 根据用户手册烧录系统镜像 海思3518ev200学习记录(2) - 交叉编译官方webRTC 海思3518ev200学习记录(3) - 编译 am ...

  9. OpenCV开发笔记(七十四):OpenCV3.4.1+ffmpeg3.4.8交叉编译移植到海思平台Hi35xx平台

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/123696821 各位读者,知识无穷而人力有穷 ...

最新文章

  1. java jibx_Jibx 处理XML
  2. 软件质量没有银弹:阿里巴巴的25个技术实践与坑
  3. java整理软件--- Java OCR 图像智能字符识别技术,可识别中文,但是验证码不可以识别...已测识别中文效果很好...
  4. 【内核】linux内核启动流程详细分析
  5. 美国计算机科学厉害的大学,求推荐美国综合排名40~70间计算机科学较好的大学...
  6. .NET 2.0 CER学习笔记
  7. Statement对象重新执行将关闭当前ResultSet
  8. 选什么地方,进多少商品,想开超市,这些必须了解
  9. centos 开机执行的命令
  10. HGE2D引擎按键消息分析(续)
  11. Docker图形化工具Portainer
  12. mysql rrd_将RRD数据库中数据导入MYSQL中
  13. 解决:本地计算机上的MySQL80服务启动后停止,某些服务在未由其他服务或者程序使用时将自动停止
  14. html菜鸟css,css菜鸟教程,css菜鸟教程官网
  15. tiny yolov3 海思_yolov3及tiny版本的实践(Windows)
  16. java缓存Ehcache的使用
  17. ubuntu18.04安装cudnn出现错误:FreeImage is not set up correctly. Please ensure FreeImae is set up correctly
  18. Unexpected bus error encountered in worker. This might be caused by insufficient shared memory(shm)
  19. dry的原理_6、干货!老司机带你利用高中化学知识理解蚀刻(dry etch)选择比(selectivity)原理......
  20. Rust学习第九天——控制测试运行

热门文章

  1. socket和threading的智能问答机器人服务器与客户端(python)
  2. 【Python错误】Simplify chained comparison
  3. vs2015+qt国际化翻译问题:Linguist中源代码不可见
  4. 8086汇编之乘法指令MUL
  5. java gui程序设计_JAVA进行GUI程序设计之一
  6. 中国丙烯酸酯和丙烯酸乙基己酯共聚物市场市场发展现状及需求潜力分析报告2022-2028年
  7. 计算机类专业中对数学物理要求低的,哪些专业对数学和物理要求比较高
  8. IEEE 802.11 RTS/CTS 协议
  9. 【Linux 驱动】下编写和加载 .ko 文件(驱动模块文件)
  10. 大阪第17天——清明古诗