NVIDIA Jetson TX1 系列开发教程之二:刷机与开发前准备

2024-06-09 09:08

本文主要是介绍NVIDIA Jetson TX1 系列开发教程之二:刷机与开发前准备,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

NVIDIA Jetson TX1 系列开发教程之二:刷机与开发前准备


  • 转载请注明作者和出处:http://blog.csdn.net/u011475210
  • 嵌入式平台:NVIDIA Jetson TX1
  • 嵌入式系统:Ubuntu16.04
  • 虚拟机系统:Ubuntu14.04
  • 编者: WordZzzz

1. JetPack3.0下载与安装

本人PC端使用虚拟机安装Ubuntu14.04系统进行开发,需要有效联网。

1.首先在自己的home目录下创建Jetson文件夹:

        $ mkdir ~/Jetson$ cd ~/Jetson

2.下载可执行文件到新建的Jetson文件夹下:
https://developer.nvidia.com/embedded/downloads

3.在虚拟机上运行安装脚本:

        $ chmod +x  ./JetPack-L4T-<version>-linux-x64.run$ ./JetPack-L4T-<version>-linux-x64.run

之后出现如下图所示,单击Next:

之后会显示安装路径,单击Next:

4.接下来是开发板选型,这里我选TX1,单击Next:

5.输入root用户密码:

6.联网获取安装包信息,此处必须联网,否则出不来安装信息,选完安装信息之后单击Next(ps:一般默认即可,只安装Jetpack不刷机的话就把下面的Target-Jetson TX1的Action一栏全部改为no action;由于我的已经安装完毕,所以Action一栏都是no action):

7.接受所选组件的许可协议,全部同意并单击Next:

8.报错的话就按提示安装依赖库后再进行Jetpack安装:

9.安装完成后如下图所示,单机Next:

10.点击Finish即可完成安装,最好不要勾选移除安装包:

2. 刷机
    刷机过程需要重复上述1-5步,并且在第6步中Target-Jetson TX1的Action一栏改为需要的各个软件安装版本。所以刷机从第6步开始介绍.
6.联网获取安装包信息,此处必须联网,否则出不来安装信息,选完安装信息之后单击Next(一般默认即可):

7.接受所选组件的许可协议,全部同意并单击Next:

8.该组件管理器将继续安装。一旦主机的安装步骤完成后,单击下一步按钮继续安装目标组件。

9.a.如果在6中取消选择Flash OS的组件管理器(即不烧写系统,只烧写某些组件),将需要输入IP地址,用户名和密码来建立ssh连接到目标设备:

9.b.如果在6中选择Flash OS的组件管理器,需要选择适合的特定环境中的网络布局:

10.a.如果选择了通过路由器/交换机设备访问互联网的布局,你会被要求选择哪个接口用于上网。

10.b.如果您选择的设备通过主机IP获得通过指定DHCP服务器主机和访问互联网上的布局,您必须选择哪个接口是用于上网,并且将被用于目标接口。

11.烧写确认,单击Next:

12.之后会弹出POST窗口来引导你开启USB强制恢复模式:

    TX1与主机使用usb连接,开启USB强制恢复模式(关机情况下,按一下POWER键,再长按REC键的同时点按RESET键,两秒后松开REC键)此时虚拟机会弹出NVIDIA设备:

可以lsusb确认一下:

13.在POST窗口中回车,开始安装:

14.系统安装完成后板子会重启。如果TX1重启后出现了Ubuntu的GUI界面,说明系统已经安装完成。重启完之后POST窗口会提示你输入IP地址,这里如果输入正确,等待十分钟左右就会进入下一个界面;如果失败,最好查看一下TX1现在的IP。接下来就需要安装CUDA、OpenCV等组件。在按Enter继续安装之前,需要确保TX1已经连网外网,如果校园网需要登录网关这样的,先将网关登录好再继续,因为安装组件的时候,需要安装一些依赖库,需要有外网的情况下才能进行。按Enter继续后,会出现提示信息,确定TX1的IP地址,手动输入TX1的IP地址后,按回车继续,稍等一会儿,会出现如下对话框(和9a里的一样,如果执行的9a而不是9b,这里就不会再出现确认信息):

15.一路NEXT,再次进入POST界面,此时使用SSH远程服务,无需下载线。

16.安装完之后,程序自动关闭POST,回到如下界面,点击FINISH完成安装。

3. 测试
Jetpack自动编译所有例程,CUDA例程可以在以下目录中找到:

<JetPack_Install_Dir> / NVIDIA_CUDA- <版本> _samples

可以通过重新编译运行示例:

SMS=53 EXTRA_LDFLAGS=--unresolved-symbols=ignore-in-shared-libs TARGET_ARCH=aarch64 make

运行:
CUDA的例程编译后的二进制文件目录:

/home/ubuntu/NVIDIA_CUDA-<version>_Samples/bin/aarch64/linux/release/

命令行运行或双击运行:
例如,当您运行oceanFFT样品,将显示如下画面。

4. 开发前准备工作

更新源:

    因为默认源会找不到我们下述要用的一些依赖库和安装包,所以需要加入国内源,本例中采用的是中科大的源。值得注意的是,如果你之后回头来刷固件,一定还要把源换回来,否则有可能会安装失败。所以我们先做一下备份:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list

在sources.list中将被#注释掉的源全部打开,随后在底部添加新的源:

deb http://mirrors.ustc.edu.cn/ubuntu-ports trusty main universe restricted multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports trusty-security main universe restricted multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports trusty-updates main universe restricted multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports trusty main universe restricted multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports trusty-security main universe restricted multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports trusty-updates main universe restricted multiverse

保存文件后,进行更新:

sudo apt-get update
sudo apt-get upgrade

浏览器安装:

    直接能上外网的请忽略此步骤。

    由于身在校内,且实验室网络连接都是交换机模式,每一台设备连接外网时都需要登陆,所以就涉及到浏览器的安装。当然,大家也可以直接用PYTHON写个登陆脚本也是可以的。

    NVIDIA Jetson TX1自带系统没有浏览器是个很尴尬的事情。我们尝试了两款浏览器,分别是Epiphany和Firefox。前者相对稳定,但是用一段时间之后就再也不能跳转至校园网登陆界面;后者经常闪退,但是至少还给我输入账号密码的机会。最后我们选择的是Firefox。

    安装浏览器也需要联网,so,还得先用WiFi连接一下个人热点。

安装Epiphany:

sudo apt-get install epiphany-browser

安装Firefox:

sudo apt-get install firefox-browser

输入法安装:

    命令行操作一般不需要使用输入法,但是如果我们想在GUI上进行一些操作,比如上网查资料等,输入法还是得有的。

安装google输入法:

sudo apt-get install ibus-googlepinyin
sudo reboot now

    安装完后重启系统,随后在GUI界面右上角找到文本输入设置(Text Entry Settings),在里面将自己新下载的google输入法添加进去即可,操作和WINDOWS下添加输入法一样,故不在此赘述。

lrzsz安装:

    NVIDIA Jetson TX1的SSH服务(端口号:22)已经配好,所以我们可以直接使用Xshell或者其他支持SSH远程登陆的客户端软件通过SSH服务来连接TX1,从而方便多人在WINDOWS上远程操控TX1。当然,Xshell是不支持图形界面的,如果想远程登录图形界面,可以配置一下vncserver,但是会消耗资源,个人不建议使用。

    远程登录难免涉及到文件传输,文件传输有两种方法,大文件最好用FTP来传输,推荐使用File Zilla;小文件Xshell自己就可以搞定,需要在TX1上安装lrzsz。

安装lrzsz:

sudo apt-get install lrzsz

sz发送TX1文件到本地:

sz filename

rz发送本地文件到服务器:

rz

    下篇博文将以JetPack3.0为例,向大家介绍如何使用Nsight进行程序开发。

系列教程持续发布中,欢迎订阅、关注、收藏、评论、点赞哦~~( ̄▽ ̄~)~

完的汪(∪。∪)。。。zzz

这篇关于NVIDIA Jetson TX1 系列开发教程之二:刷机与开发前准备的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044759

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.