今天下午准备把TX2通过串口通信与下位机连接通信,但是插上cd340设备发现TX2上没有显示ttyUSB*或ttyACM*,插上激光雷达就可以读出端口tyUSB*,发现TX2没有CD340驱动,通过查阅参考如下博客解决问题;
https://blog.csdn.net/weixin_40554881/article/details/80782319
https://blog.csdn.net/pressuress/article/details/79253483
上述博客其实也是参考官方的解决方案,升级TX2内核,还是官方的博客。
https://www.jetsonhacks.com/2018/03/22/build-kernel-modules-nvidia-jetson-tx2-2/
主要步骤如下:
1、下载脚本文件
$ git clone https://github.com/jetsonhacks/buildJetsonTX2Kernel.git $ cd buildJetsonTX2Kernel
我使用的`Tegra`版本是 `L4T 27.1`
如何区分自己的版本是L4T 27.1
还是L4T 28.1
?
使用uname -r
提示的消息是“4.4.15-tegra”
,则说明版本是L4T
27.1
;
使用uname -r
提示的消息是“4.4.38-tegra”
,则说明版本是L4T
28.1
;
2、下载内核源码
$ ./getKernelSources.sh
源码下载完毕后,脚本会打开一个xconfig
配置界面。有两个地方需要设置:
(1) 设置Genral Setup->Local version - append to kernel release
,双击Local version - append to kernel release
在文本框内输入-jetsonbot-v0.1
,回车;如图所示:
(2) 在xconfig
中按Ctrl+F
,弹出一个搜索框,输入你想要添加的设备驱动,比如这里添加CH341
串口驱动
;如图所示:
完后一定要保存设置,File->Save
。
3、编译内核(时间较长,耐心等待)
$ ./makeKernel.sh
第二个脚本makeKernel.sh
, 会给一部分Makefile
文件更新补丁以满足Jetson TX2
平台的编译条件,之后就开始内核编译。
脚本中的make modules install
命令会将模块安装到/lib/modules/
目录中。
4、更新镜像
$ ./copyImage.sh
5、重启电脑
6、删除第二步的源文件
$ sudo rm -rf kernel sources r27.1.0_sources.tbz2 kernel_src.tbz2