编译
对于大的程序工程(比如几十兆及以上的),,最好的办法是把程序拷贝到已经搭建好相应开发环境的TX2开发板下编译。因为开发板ARM架构下编译,相比在PC机上编译较容易。用电脑的交叉编译工具编译一则麻烦,二则需要非常小心,但对于有需要的可以自己摸索。(相关信息:在TX2开发板的终端里,用make -v命令可以看到Build for aarch64-unknown-linux-gnu,而在PC机上ubuntu的终端里看到的是“Built for x86_64-pc-linux-gnu”。网上有在ubuntu下配置TX2的交叉编译工具的相关文章)
烧录
要使TX2开发板进入恢复模式,操作如下:按下并松开TX2的POWER键S4;按下并保持FORCE RECOVERY键S3;在此期间按下并松开RESET键S1;等待2秒后松开FORCE RECOVERY键S3。
切换到烧写目录:cd <dir>/jetpack/64_TX2/Linux_for_Tegra
生成系统镜像命令:sudo ./flash.sh jetson-tx2 mmcblk0p1 #重新生成system.img //谨慎操作,此操作是制作当前环境下的Linux镜像。
烧写系统命令:sudo ./flash.sh -r jetson-tx2 mmcblk0p1 #使用已有的system.img
显示
Tx2开发板一定要接HDMI的显示器。否则,就算用特殊方法,也只能到显示终端这一层。
如果使用HDMI转VGA的模块连接TX2和电脑液晶显示器,要使TX2开发板能在显示器上显示终端,需要断开HDMI接线后,重启TX2,等跳过开机画面后,再在合适的时候接上HDMI转VGA的线,这时再按下CTRL+alt+F1,如果,显示器右下角的显示状态灯为正常工作状态,则有希望正常显示登录提示,输入账号密码,就可以进入终端。一次不行,多试几次,找到感觉即可实现。
PC的linux和TX2联机
参考文章:https://blog.csdn.net/x_kh_2001/article/details/80487987
首先,感谢这篇文章带给我的启发,能让我试验成功。
我尝试的设备是一台电脑和TX2开发板,电脑系统为ubuntu 16.04,TX2为ubuntu16.04,通过网线连接。
在PC主机下,点击Ubuntu的桌面的右上角的 “表示网络连接符号”-->编辑连接-->以太网-->有线连接1-->选中-->编辑-->IPV4->方法-->与其他计算机共享-->保存。再点击右上角那个“表示网络连接的符号”-->选中 连接信息-->查看 IPV4下的IP地址-->"大约是 10.42.0.1"的样子。再返回到终端里,安装工具nmap,可以搜索该网段存在的设备,命令为sudo apt install nmap。等待一下,然后出来结果。如果这个网段就只连了你的PC和你的终端设备,那此时显示是2个设备(2 hosts up),一个是你本机的IP,那另一个就是你的终端设备的IP啦!
在终端中输入 ssh TX2_name@IP_address (说明:TX2_name是你TX2设备的用户名,IP_address是你刚刚获得的对面的IP。)
最后按照提示输入对面用户名的密码,大功告成!
PC的win7和TX2联机
具体详见以步骤(参考文章:https://www.cnblogs.com/qilai/p/11285445.html):
在TX2上设置静态IP之前,首先要确保TX2上安装openssh-server(命令为: sudo apt-get install openssh-server),然后确认sshserver是否启动(命令为:ps -e |grep ssh )然后输入命令为sudo gedit /etc/network/interfaces ,就可以编辑TX2的静态IP啦(注意:TX2的IP段需要和PC机win7里的本地连接的IP设置成一致,TX2的网关设置成和PC机win7的一致),如下图所示:
设置完TX2的静态IP后,刷新IP,命令为 sudo ip addr flush eth0 (我的是eth0,有的是wlan0,按实际情况配置),然后重新启动网络服务 sudo systemctl restart networking.service 。如果没有报错重启机器就可以生效了sudo reboot
设置完TX2的静态IP,还要在PC机上的本地连接设置静态IP,具体设置可见下图:
在PC机和TX2之间连上网线,就可以尝试在Win7下打开SSH连接TX2开发板的终端。