1. 程式人生 > >TX2 安裝ttyACM串列埠驅動

TX2 安裝ttyACM串列埠驅動

NVIDIA Jetson TX2 編譯並啟動ttyACM模組

平臺: TX2 L4T 27.1
系統:ubuntu 16.04
感測器:hokuyo UTM-30LX laser


有兩個TX2,第一個連上hokuyo鐳射時,直接就能識別ttyACM。當用另一臺TX2讀取hokuyo UTM-30LX 鐳射的資料時,執行ls -l /dev/ttyACM*時發現,TX2的串列埠並沒有識別hokuyo。後來發現,是新的這臺沒有啟動ttyACM模組,從而導致無法識別hokuyo。網上有一些中文問題總結,但是不全面,有些關鍵步驟漏掉了,這是我多次按照他們方法配置仍失敗的原因。我把原始的英文教程總結,以備查閱。

1. 出處

原始英文配置教程對於TX2系統的兩個版本分別有兩套配置教程,BumBleBee009|CSDN部落格中給出如何檢視版本,引在此處:

Note
如何區分自己的版本是L4T 27.1還是L4T 28.1
使用uname -r提示的訊息是“4.4.15-tegra”,則說明版本是L4T 27.1
使用uname -r提示的訊息是“4.4.38-tegra”,則說明版本是L4T 28.1

Build Kernel and Modules – NVIDIA Jetson TX2–L4T 27.1

Build Kernel and Modules – NVIDIA Jetson TX2–L4T 28.1

如果,想參照原始英文教程配置,建議先科學上網,參照裡面的youtube視訊教程進行,文字教程省略了很多關鍵步驟。重點!!!!

本文剩餘部分的內容是對視訊教程內容的總結與說明,以NVIDIA Jetson TX2--L4T 27.1版本為例,它比NVIDIA Jetson TX2--L4T 28.1的配置多一步,待會會重點強調。

2. L4T 27.1配置啟動ttyACM模組

  1. 下載指令碼檔案(27.1與28.1的區別在此步驟,多最後一行命令
$ git clone https://github.com/jetsonhacks/buildJetsonTX2Kernel.git
$ cd buildJetsonTX2Kernel
# 如果你使用的`Tegra`版本是 `L4T 27.1`, 那麼需要切換分分支:
$ git checkout vL4T27.1

一共有3個指令碼檔案。

  1. 獲取核心原始碼

第一個指令碼getKernelSources.sh從NVIDIA developer網站獲取核心原始碼, 然後將原始碼解壓到/usr/src/kernel目錄中。

$ ./getKernelSources.sh

原始碼下載完畢後,指令碼會開啟一個xconfig配置介面。

此處需要說明的是,xconfig實際上在位於/usr/src/kernel/kernel -4.4資料夾下,如果第一次配置不成功,不需要重新執行./getKernelSources.sh。可以執行以下命令,開啟xconfig配置介面。

cd /usr/src/kernel/kernel -4.4
make xconfig
  1. 設定Genral Setup->Local version - append to kernel release ,雙擊Local version - append to kernel release在文字框內輸入-jetsonbot-v0.1,回車;如圖所示:在這裡插入圖片描述

  2. xconfig中按Ctrl+F,彈出一個搜尋框。
    在這裡插入圖片描述

  3. 輸入ACM,點選search按鈕,點選搜尋結果中的CDC ACM多點選幾次,直到左邊框中顯示對鉤),最後結果如圖所示:
    在這裡插入圖片描述

  4. 輸入CH341,在顯示的結果中,點選(多點選幾次,直到框中顯示為圓點),然後點退出關閉該子視窗。

在這裡插入圖片描述

  1. 一定一定記得到點選File--->save,儲存剛才的設定,最後點選Quit鍵退出xconfig。

在這裡插入圖片描述

  1. 編譯核心
$ ./makeKernel.sh

第二個指令碼makeKernel.sh, 會給一部分Makefile檔案更新補丁以滿足Jetson TX2平臺的編譯條件,之後就開始核心編譯。 指令碼中的make modules install命令會將模組安裝到/lib/modules/目錄中。

  1. 將之前的啟動映象更新為新的映象
$ ./copyImage.sh

第三個指令碼檔案copyImage.sh會將新的編譯映象ImagezImage檔案拷貝到/boot目錄。
一般不會出錯,若出現沒有目標檔案的錯誤時,請檢查,新的映象是否生成成功。

cd /usr/src/kernel/kernel-4.4/arch/arm64/boot/

看該資料夾下是否有ImagezImage檔案。如果沒有,重新執行第8步的./makeKernel.sh,再試。

  1. reboot TX2
reboot

開機後,就可以檢測到連線的hokuyo。

  1. 如果以上操作都成功,並且成功安裝了ACM模組,請刪除之前安裝時用到的原始檔。
cd /usr/src
sudo rm -rf kernel sources r27.1.0_sources.tbz2 kernel_src.tbz2

END