利用NSight进行交叉编译
转载自:http://blog.csdn.net/c406495762
PC平台(Host): 虚拟机Ubuntu14.04
嵌入式平台(Target): Jeston TX1
一、NSight简介
Jetpack开发工具为人工智能提供了一整套软件架构,包括代码示例(Sample Code)、NSight开发工具(NSight Developer Tools)。同时也为我们提供了丰富的多媒体API(Multimedia API),这些API涵盖深度学习(Deep Learning)、计算机视觉(Computer Vision)、图像渲染(Graphics)、多媒体(Media)等,对底层硬件提供了很好的支持。
如果我们在主机中安装了Jetpack工具包,那么开发利器Nsight Eclipse Edition已经安装在我们的主机(Host)中。如果找不到这个应用程序安装在哪里,可以使用如下方法进行搜索:
一般来说,针对嵌入式平台的开发有两种编译模式:原生编译和交叉编译。原生编译就是直接在嵌入式平台上编译代码并运行,而交叉编译就是在个人电脑等平台编译代码,然后加载到嵌入式平台运行。我们在Jetson TX1开发上使用交叉编译,这里需要提醒一下各位小伙伴,交叉编译需要在Jetson TX1和Host电脑间同步代码,所以需要提前安装和配置Git,否则在后续编译执行的时候会报错的呦,开发工具会深情地问你”Can you tell me who you are”。
二、使用NSight进行交叉编译
我们将使用Jetpack中自带的CUDA例程,进行交叉编译。
1.创建CUDA工程
打开Nsight Eclipse Edition软件,出现工程文件保存地址对话框,我就将工程文件保存在了/home/jack/Nsight-WorkSpace目录下,点击OK进入IDE:
点击IDE的File->New->CUDA C/C++ Project,开始创建CUDA工程。
选择Import CUDA Sample,然后输入Project name,这里暂且命名为test。点击Next进入下一步。
选择oceanFFT,交叉编译这个程序进行测试。点击Next进入下一步。
这里使用默认参数,直接点击Next。
现在,重点来了,这里默认使用的是本地系统,也就是用主机的东西进行编译,点击”X”号,取消Local System。随后点击Manage,添加一个远程连接。
进入远程连接添加界面,点击Add进行添加。
添加信息如下,Host name为TX1的IP地址,User name为ubuntu,其他信息默认,点击Finish,完成添加。
点击Browse,添加工程的保存路径,该路径为TX1中该工程的保存路径。
点击Browse之后,需要我们添加ssh连接的密码,这里添加ubuntu。可能会出现一些提示信息,点击yes即可。
选择TX1中保存工程的路径,我选择的保存路径如下所示:
随后,使用同样的方法添加Toolkit,并选择CPU架构AARch64,最终信息如下,点击Finish完成创建:
2.交叉编译
创建成功后,我们可以看到oceanFFT.cpp源码,点击Ctrl+B进行编译,此时编译之后会在TX1的工程目录出现编译好的可执行文件。
编译过程如下所示:
3.执行test可执行文件
在TX1的~/Desktop/Jack_Cui/Nsight/Debug目录下(之前填写的TX1工程呢个路径)会生成一个test可执行文件,运行程序,可查看运行结果:
运行成功!
利用NSight进行交叉编译相关推荐
- arm hisiv100 linux,hisiv100交叉编译工具链安装
hisi交叉编译工具链安装 一. 摘要: 交叉编译简单的说,就是A机器上编译生成,运行在B机器上.那么在A机器上的编译工具安装,就是本文所要描述的内容. 工欲善其事必先利其器,所以交叉 ...
- Android平台交叉编译流程
一: 当我们在Android平台上开发一些软件的时候,有时不可避免的要用到一些用c/c++所编写的库.有些库有大神们已经封装好了在特定平台上对应的api,我们直接调用就可以,但是更多的库需要我们自己根 ...
- hisi linux nptl.tar,hisiv100交叉编译工具链安装
hisi交叉编译工具链安装 一. 摘要: 交叉编译简单的说,就是A机器上编译生成,运行在B机器上.那么在A机器上的编译工具安装,就是本文所要描述的内容. 工欲善其事必先利其器,所以交叉 ...
- 在eclipse里配置Android ndk环境 适用于windows mac 和linux[转]
由于做Android在底层有库的时候需要交叉编译环境,c代码需要用ndk-build来进行编译,而java代码则需要用Android sdk编译.之前由于对eclipse ide不太熟悉,所以往往编译 ...
- Android Studio 导入 so 简明教程:通过一个示例让你理解整个过程
Introduction 如果你是一名 C/C++ 开发人员,正在尝试将 C/C++ 的代码往安卓上迁移,那么这篇文章对你有很大的帮助 如果你是一名 Android 开发人员,正在尝试将外部 so 嵌 ...
- 随想录(从开源的宝库中学习)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 不知不觉中,来新公司已经快一个月了.不同的公司,规章制度不同.文化氛围也是不一样的.对我来说, ...
- go web ssh推荐使用
go web ssh推荐使用 文章目录 go web ssh推荐使用 1. 前言 2. 项目地址 3. 简单修改 4. 交叉编译 5. 结果展示 1. 前言 一般ssh的登录使用需要ssh客户端进行登 ...
- TensorRT部署YOLOv5(01)-Overview
本系列对在Nvidia边缘计算平台进行深度学习模型部署进行一个全面的介绍,主要围绕TensorRT深度学习加速推理框架,以YOLOv5目标检测任务为例,以Jeston Nano为目标计算平台,对环境搭 ...
- 嵌入式Linux内核和文件系统,在IXP435上移植嵌入式Linux内核和根文件系统
简要介绍如何在IXP435上移植嵌入式Linux内核和根文件系统 1.安装交叉编译工具 为什么要先安装交叉编译工具?由于我们的Linux操作系统是安装在嵌入式处理器平台上的,需要在主机上编译出开发板需 ...
最新文章
- Linux命令学习(三):文件操作命令(1)
- wireshark 十六进制过滤_CTF流量分析之wireshark使用
- oracle oci.dll的作用,ASP.NET bin目录中的Oracle oci.dll无法删除/不起作用
- 作者:高丰,英国南安普敦大学计算机博士,现为开放数据与创新独立咨询顾问,兼复旦大学数字与移动治理实验室特邀研究员。...
- HDU1757:A Simple Math Problem(矩阵快速幂)
- c4d计算机丢失api-ms,遭遇 mssvc.exe svcUpdate.exe IESeven.dll DBSeven.dll病毒第2/3页
- SpringBoot基于易邮邮件服务器实现本地邮件收发
- mysql 字典表设计_字典表设计
- 64位linux nvidia 32位,NVIDIA英伟达显卡驱动下载
- 蔡学镛 java,Java该何去何从思考
- Java游戏开发规则
- 我是一个线程(转载自: IBM刘欣)
- libusb win32简介以及应用
- NB模组RSRP按比例转换为CSQ范围信号
- 准大四生,现在是七月中旬,要为秋招准备什么?
- position有几种属性?
- VUE 表格设置序号
- 鼠标拖曳盒子案例(限定边界)
- oracle系统计算工资,基于Oracle EBS的工资核算系统的设计与实现
- 基于预训练模型 ERNIE 实现语义匹配
热门文章
- AttributedString 图片间距问题
- 观察者模式,从公众号群发说起
- HDU1466 计算直线的交点数
- 【Linux】统信UOS桌面壁纸右下角的统信UOS水印怎样去掉
- vConsole 让你在手机上也能轻松调试网页
- 【C语言】利用递归函数求n的阶乘
- C#LeetCode刷题之#876-链表的中间结点(Middle of the Linked List)
- C#LeetCode刷题之#566-重塑矩阵( Reshape the Matrix)
- houdini_通过卡通了解CSS Houdini的指南
- 如何在面试时保持冷静_如何保持冷静并成为安全工程师