最近一周感觉都是在给Jetson TX1刷机,然而每次都得各种查资料,然后从师兄那得到启示(养成记录的好习惯),感觉是时候写下刷机的心路历程了。
Jetson TX1刷机不难,直接跟着官方教程走就行Download and Install JetPack L4T(这里不难是指当你的载板(carrier boards)是官方载板的时候)。在第六步的地方,如果不需要在Target-Jetson TX1上安装samples的话,可以点一下右上角的clear actions,以取消在host上安装那一堆东西,这样会给刷机节约不少时间。
下文将进入正题。
1、Auvidea载板带来的坑及解决办法
当你的载板是Auvidea载板时(图1中这货),直接照着NVIDIA官方教程走就会带来不少问题,例如如果你下载的是Jetpack 3.1的话,刷完机后就只有一个USB3.0可以使用(图2中插着无线鼠标接收器的位置),另外一个USB是不能使用的(插上任何USB设备都没有反应的),而且micro USB也可能不能使用。
图1 图2
当然,这个问题还是比较好解决的,下载Jetpack 3.0进行刷机就能解决另一个USB与micro USB不能使用的问题,但是还有一个问题,这个USB是2.0,这不是期望的结果,这很鸡肋。这是载板不是官方载板的缘故,一旦安装官方教程刷机,会Aauvidea的固件覆盖掉,解决方法就是重新把固件刷回来。
首先到Avidea官网下载固件,如下图,可以看到2.1版本已经支持2个USB3.0,所以2.2肯定也是支持的,同时2.2还修复了WIFI,所以直接下载2.2版本即可。安装方法依然是安装按照2.1版本的教程走。你可能会想用lsusb命令来查看一下TX1是不是真的有两个USB3.0了,但是不好意思,你仍然只会看到一个USB3.0,但是不要失望,因为两个USB都确实能当3.0使用了(经过项目实测)。
注意:刷机的时候host和target应该用网线连接在同一个路由器上(当然target也可以通过host连接到网络,但是我没有试过),同时要求能连接到网络,所以如果要通过认证才能连接网络的话,请自行想办法让target能连上网。另外Jetpack3.0刷机之后,target系统中是不会有浏览器的,建议安装火狐浏览器(没有坑),sudo apt-get install firefox,当然可以不用着急安装它,因为如果你也要使用openCV3.2的话,你还需要再卸载掉的。
2、TX1源码编译安装opencCV3.2
TX1刷完机之后安装上的是openCV2.4.13(即使是使用目前最新的Jetpack),由于项目的原因不得不使用openCV3.2,所以只能硬着头皮源码编译安装openCV3.2。为什么这么说了。因为刷完机后如果安装了samples的话,TX1的16G存储空间就只剩下4.8G左右了。但是如果你关注过openCV编译时对存储空间的占用的话,你就会发现这点存储是肯定不够编译openCV3.2的。但是千万不要以为可以在扩展的SD卡或者其他介质上编译