您的位置:首页 > 其它

TX2 USB串口驱动ttyACM模块 通过编译内核设置

2017-11-29 10:39 531 查看
        最近在使用TX2跑ROS,公司刚好有个eai激光雷达没人用,然后就拿来在TX2上试一试。本人用的是ubuntu 16.04, ros kinetic版本。

        首先在eai官网下载ros驱动和官方提供的使用文档,按照文档的提示先把驱动安装好。驱动安装好啦,那就来试试吧,启动了ROS的launch文件,哈哈,rviz也正常跑起来啦,本来心情大好,以为雷达可以正常使用啦。 但是。。。rviz竟然没有显示出来激光雷达的扫描点,顿时心里一阵瓦凉。没成功,那就看下报错信息吧,原来是没有找到ttyACM。

        然后手动输了遍命令看看情况。

        ls /dev/tty*

        果然没有找到串口。咋办,先在百度上找资源,公司工作时间可以用外网真不错,哈哈。很幸运的找到了一篇博客(http://blog.csdn.net/gzj2013/article/details/77069803),讲的很好,但是一开始也没搞明白具体怎么操作呀。最好还是看nvidia官网的视频教程

        1.从github上下载源码,我自己把源码放到了Downloads目录下

          cd Downloads

git clone https://github.com/jetsonhacks/buildJetsonTX2Kernel.git

          cd buildJetsonTX2Kernel

          然后你就可以看到以下几个文件啦

          copyImage.sh  getKernelSources.sh  makeKernel.sh  scripts     diffs         LICENSE              README.md

        2. 在当前目录下输入命令

          ./getKernelSources.sh          执行完这条指令将在/usr/src下载几个内核文件

(注意,如果是第一次下载内核进行编译,那么这么做是ok的,考虑到TX2会经常通过内核启用驱动,比如我之前的博客里启用xbox360手柄的驱动也需要通过编译内核的)

          如果你要启用新的驱动,那就可以输入下面这条命令(可以在下载的源码的scripts目录中的getKernelSources.sh中找到)

          cd /usr/src/kernel/kernel -4.4

          make xconfig

          运行了命令后系统会自动弹出一个配置框,然后选择要启用的驱动保


(1) 设置
Genral Setup->Local version - append to kernel release


文本框内输入
-jetsonbot-v0.1
,回车;如图所示:



(2) 在
xconfig
中按
Ctrl+F
,弹出一个搜索框,输入你想要添加的设备驱动,比如这里添加
CH341
串口驱动

;如图所示:



最后一定要保存设置,
File->Save


3.编译内核

$ ./makeKernel.sh
1
第二个脚本
makeKernel.sh
, 会给一部分
Makefile
文件更新补丁以满足
Jetson TX2
平台的编译条件,之后就开始内核编译。

脚本中的
make modules install
命令会将模块安装到
/lib/modules/
目录中。

4.将之前的启动镜像替换为新的镜像

$ ./copyImage.sh
1
第三个脚本文件
copyImage.sh
会将新的编译镜像
Image和zImage
文件拷贝到
/boot
目录。

重新启动
TX2
:reboot。

5.删除
2
中下载的源文件

源文件的下载目录为
/usr/src


$ sudo rm -rf kernel sources r27.1.0_sources.tbz2 kernel_src.tbz2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐