转载自: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进行交叉编译相关推荐

  1. arm hisiv100 linux,hisiv100交叉编译工具链安装

    hisi交叉编译工具链安装 一.         摘要: 交叉编译简单的说,就是A机器上编译生成,运行在B机器上.那么在A机器上的编译工具安装,就是本文所要描述的内容. 工欲善其事必先利其器,所以交叉 ...

  2. Android平台交叉编译流程

    一: 当我们在Android平台上开发一些软件的时候,有时不可避免的要用到一些用c/c++所编写的库.有些库有大神们已经封装好了在特定平台上对应的api,我们直接调用就可以,但是更多的库需要我们自己根 ...

  3. hisi linux nptl.tar,hisiv100交叉编译工具链安装

    hisi交叉编译工具链安装 一.         摘要: 交叉编译简单的说,就是A机器上编译生成,运行在B机器上.那么在A机器上的编译工具安装,就是本文所要描述的内容. 工欲善其事必先利其器,所以交叉 ...

  4. 在eclipse里配置Android ndk环境 适用于windows mac 和linux[转]

    由于做Android在底层有库的时候需要交叉编译环境,c代码需要用ndk-build来进行编译,而java代码则需要用Android sdk编译.之前由于对eclipse ide不太熟悉,所以往往编译 ...

  5. Android Studio 导入 so 简明教程:通过一个示例让你理解整个过程

    Introduction 如果你是一名 C/C++ 开发人员,正在尝试将 C/C++ 的代码往安卓上迁移,那么这篇文章对你有很大的帮助 如果你是一名 Android 开发人员,正在尝试将外部 so 嵌 ...

  6. 随想录(从开源的宝库中学习)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 不知不觉中,来新公司已经快一个月了.不同的公司,规章制度不同.文化氛围也是不一样的.对我来说, ...

  7. go web ssh推荐使用

    go web ssh推荐使用 文章目录 go web ssh推荐使用 1. 前言 2. 项目地址 3. 简单修改 4. 交叉编译 5. 结果展示 1. 前言 一般ssh的登录使用需要ssh客户端进行登 ...

  8. TensorRT部署YOLOv5(01)-Overview

    本系列对在Nvidia边缘计算平台进行深度学习模型部署进行一个全面的介绍,主要围绕TensorRT深度学习加速推理框架,以YOLOv5目标检测任务为例,以Jeston Nano为目标计算平台,对环境搭 ...

  9. 嵌入式Linux内核和文件系统,在IXP435上移植嵌入式Linux内核和根文件系统

    简要介绍如何在IXP435上移植嵌入式Linux内核和根文件系统 1.安装交叉编译工具 为什么要先安装交叉编译工具?由于我们的Linux操作系统是安装在嵌入式处理器平台上的,需要在主机上编译出开发板需 ...

最新文章

  1. Linux命令学习(三):文件操作命令(1)
  2. wireshark 十六进制过滤_CTF流量分析之wireshark使用
  3. oracle oci.dll的作用,ASP.NET bin目录中的Oracle oci.dll无法删除/不起作用
  4. 作者:高丰,英国南安普敦大学计算机博士,现为开放数据与创新独立咨询顾问,兼复旦大学数字与移动治理实验室特邀研究员。...
  5. HDU1757:A Simple Math Problem(矩阵快速幂)
  6. c4d计算机丢失api-ms,遭遇 mssvc.exe svcUpdate.exe IESeven.dll DBSeven.dll病毒第2/3页
  7. SpringBoot基于易邮邮件服务器实现本地邮件收发
  8. mysql 字典表设计_字典表设计
  9. 64位linux nvidia 32位,NVIDIA英伟达显卡驱动下载
  10. 蔡学镛 java,Java该何去何从思考
  11. Java游戏开发规则
  12. 我是一个线程(转载自: IBM刘欣)
  13. libusb win32简介以及应用
  14. NB模组RSRP按比例转换为CSQ范围信号
  15. 准大四生,现在是七月中旬,要为秋招准备什么?
  16. position有几种属性?
  17. VUE 表格设置序号
  18. 鼠标拖曳盒子案例(限定边界)
  19. oracle系统计算工资,基于Oracle EBS的工资核算系统的设计与实现
  20. 基于预训练模型 ERNIE 实现语义匹配

热门文章

  1. AttributedString 图片间距问题
  2. 观察者模式,从公众号群发说起
  3. HDU1466 计算直线的交点数
  4. 【Linux】统信UOS桌面壁纸右下角的统信UOS水印怎样去掉
  5. vConsole 让你在手机上也能轻松调试网页
  6. 【C语言】利用递归函数求n的阶乘
  7. C#LeetCode刷题之#876-链表的中间结点(Middle of the Linked List)
  8. C#LeetCode刷题之#566-重塑矩阵( Reshape the Matrix)
  9. houdini_通过卡通了解CSS Houdini的指南
  10. 如何在面试时保持冷静_如何保持冷静并成为安全工程师