1. 程式人生 > >在TX2上編譯CP2102驅動

在TX2上編譯CP2102驅動

原由

希望在TX2上使用串列埠與下位機通訊及進行RPLIDAR開發等。與X86架構的Ubuntu 16.04 自帶CP2102驅動不同,TX2上的ARM版Ubuntu 16.04核心中不包含CP2102的驅動。插入串列埠裝置後,系統/dev資料夾下不會出現新檔案(裝置)

插入RPLIDAR後的tty裝置

網上的常見解決方法是重新編譯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

更新後的tty裝置

此裝置即為RPLIDAR。

我們執行RPLIDAR的例項程式進行檢驗:

roslaunch rplidar_ros view_rplidar.launch
  • 1

圖中可以看出,RPLIDAR已經可以正常工作 
RPLIDAR正常工作