在TX2上編譯CP2102驅動
阿新 • • 發佈:2018-12-05
原由
希望在TX2上使用串列埠與下位機通訊及進行RPLIDAR開發等。與X86架構的Ubuntu 16.04 自帶CP2102驅動不同,TX2上的ARM版Ubuntu 16.04核心中不包含CP2102的驅動。插入串列埠裝置後,系統/dev
資料夾下不會出現新檔案(裝置)
網上的常見解決方法是重新編譯Ubuntu 核心,但這種方法過於麻煩,這裡介紹的是一種不需編譯核心的CP2102驅動方法。
步驟
下載驅動程式
首先,下載Ubuntu下CP210x的驅動程式,此處選擇圖中Download for Linux 部分,根據自己電腦核心版本選擇不同VCP進行下載。
編譯驅動程式
將下載的Linux_3.x.x_4.x.x_VCP_Driver_Source.zip
檔案解壓,在終端中輸入
$ sudo make
$ make
- 1
- 2
注意,此時不能直接make
。編譯後文件夾中會出現cp210x.ko
檔案,這個.ko
檔案就是我們的目標檔案。
此時,執行
$ insmod cp210x.ko
- 1
安裝驅動
這一步需要將驅動檔案拷貝至指定資料夾,而這一資料夾在TX2
中本身並不存在,需要手動建立,指令為:
$ sudo mkdir /lib/modules/4.4.38-tegra/kernel/drivers/usb/serial
- 1
然後就可以將.ko
檔案拷貝至這一資料夾中,指令為:
$ sudo cp cp210x.ko /lib/modules/4.4.38-tegra/kernel/drivers/usb/serial
- 1
效果
此時在終端中輸入:
$ ls /dev/tty*
- 1
我們可以看到出現了新的USB
裝置ttyUSB0
此裝置即為RPLIDAR。
我們執行RPLIDAR的例項程式進行檢驗:
roslaunch rplidar_ros view_rplidar.launch
- 1
圖中可以看出,RPLIDAR已經可以正常工作