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模組
- 下載指令碼檔案(27.1與28.1的區別在此步驟,多最後一行命令)
$ git clone https://github.com/jetsonhacks/buildJetsonTX2Kernel.git $ cd buildJetsonTX2Kernel # 如果你使用的`Tegra`版本是 `L4T 27.1`, 那麼需要切換分分支: $ git checkout vL4T27.1
一共有3個指令碼檔案。
- 獲取核心原始碼
第一個指令碼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
-
設定
Genral Setup->Local version - append to kernel release
,雙擊Local version - append to kernel release
在文字框內輸入-jetsonbot-v0.1
,回車;如圖所示: -
在
xconfig
中按Ctrl+F
,彈出一個搜尋框。
-
輸入
ACM
,點選search
按鈕,點選搜尋結果中的CDC ACM
(多點選幾次,直到左邊框中顯示對鉤
),最後結果如圖所示:
-
輸入
CH341
,在顯示的結果中,點選(多點選幾次,直到框中顯示為圓點
),然後點退出關閉該子視窗。
一定一定
記得到點選File--->save
,儲存剛才的設定,最後點選Quit
鍵退出xconfig。
- 編譯核心
$ ./makeKernel.sh
第二個指令碼makeKernel.sh
, 會給一部分Makefile
檔案更新補丁以滿足Jetson TX2
平臺的編譯條件,之後就開始核心編譯。 指令碼中的make modules install
命令會將模組安裝到/lib/modules/
目錄中。
- 將之前的啟動映象更新為新的映象
$ ./copyImage.sh
第三個指令碼檔案copyImage.sh
會將新的編譯映象Image
和zImage
檔案拷貝到/boot
目錄。
一般不會出錯,若出現沒有目標檔案的錯誤時,請檢查,新的映象是否生成成功。
cd /usr/src/kernel/kernel-4.4/arch/arm64/boot/
看該資料夾下是否有Image
與zImage
檔案。如果沒有,重新執行第8步的./makeKernel.sh
,再試。
- reboot TX2
reboot
開機後,就可以檢測到連線的hokuyo。
- 如果以上操作都成功,並且成功安裝了ACM模組,請刪除之前安裝時用到的原始檔。
cd /usr/src
sudo rm -rf kernel sources r27.1.0_sources.tbz2 kernel_src.tbz2
END