參考https://blog.csdn.net/coolham/article/details/89498696
https://blog.csdn.net/blackmarlin/article/details/88356849
深度學習人工智能成爲了當今的熱門,因此入手了Google TPU Edge兩枚,下面把裝機的教程簡單做個記錄。
認識一下google Edeg TPU,並熟悉一下有哪些資源:
TPU模塊
- Edge TPU Module (SOM)
- NXP i.MX 8M SOC (Quad-core Cortex-A53, plus Cortex-M4F)
- Google Edge TPU ML accelerator coprocessor
- Vivante GC7000 GPU
- Cryptographic coprocessor
- Wi-Fi 2×2 MIMO (802.11b/g/n/ac 2.4/5GHz)
- Bluetooth 4.1
- 8GB eMMC
- 1GB LPDDR4
底板:
- Baseboard
- Storage – MicroSD slot
- USB – 1x USB Type-C OTG port, 1x USB Type-C power, 1x USB Type-A 3.0 host, and 1x Micro-B serial console
- Networking – Gigabit Ethernet port
- Video Out / In
- HDMI 2.0a (full size)
- 39-pin FFC connector for MIPI-DSI display (4-lane)
- 24-pin FFC connector for MIPI-CSI2 camera (4-lane)
- Audio
- 3.5mm audio jack (CTIA compliant)
- Digital PDM microphone (x2) 2.54mm 4-pin terminal for stereo speakers
- GPIO – 40-pin Raspberry Pi style header with 3.3V power rail, 40 – 255 ohms programmable impedance, ~82 mA max current
- Power – 5V DC via USB Type-C port
- Dimensions – 88 x 60 x 24mm
可以看到底板的功能只是擴展的接口,而所有的資源都在覈心板上面,其中包含NXQ的SOC和8G的eMMC以及1G的LPDDR4,如果從此eMMC啓動的話,設置一下板子上的撥碼開關。由於在自帶的eMMC上已經安裝了bootloader,所以只需要用串口將文件下載到主板就可以了。一下是主要的步驟:
1.準備工作:
a. 找一臺裝有linux系統的電腦,或者mac電腦,這這裏我用的是ubuntu系統(沒有使用虛擬機,因爲端口一直不識別,有精力的同學可以自己試試用虛擬機的方法)
b. microUSB線,用來連接上位機的TPU板,用於串口通信。
c. typeC數據線,用來下載系統鏡像。連接上位機和TPU板的otg端口。
d. typeC線充電線和2A-3A的適配器。用於給TPU板供電。
2.上位機準備的軟件
a. linux系統上安裝Screen軟件(我安裝的是minicom串口軟件)
b. 安裝Android SDK platform-tools,或者從參考文獻中給出軟件。(這裏因爲我裝過Android Studio,所以有安裝了SDK)。
c. 一定把fastboot設置到環境變量中去。(這一點很重要)驗證一下安裝的fastboot是否安裝好,可以通過fastboot --version查看是否裝好。
3. TPU板子的設置
爲了保證下載系統通過板子的eMMC的bootloader下載,調整板子上面的撥碼開關,成爲如下的結果:
Boot mode | Switch 1 | Switch 2 | Switch 3 | Switch 4 |
---|---|---|---|---|
eMMC | ON | OFF | OFF | OFF |
4. 在計算機上安裝rule
sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0525\", MODE=\"0664\", GROUP=\"plugdev\", TAG+=\"uaccess\"' >> /etc/udev/rules.d/65-edgetpu-board.rules"
sudo udevadm control --reload-rules && udevadm trigger
或者在電腦的該文件下複製一個rules文件,並修改裏面的內容位上面的樣子,保存的名字爲65-edgetpu-board.rules
5. 調試串口
用microUSB線連接電腦和TPU的板子,此時TPU不用上電。
在電腦上查看一下:dmesg | grep ttyUSB 或者lsusb, 打開串口,sreen或者nimicom設置波特率爲115200,8bit, 無奇偶校驗,1bit停止位。
6. TPU板子上電
插上TPU板子的電源,儘量使用5V/2A以上的電源。
7. 啓動fastboot
在串口控制檯(sreen或者nimicom)上輸入:fastboot 0
8. 通過typeC連接TPU
用typeC數據鏈連接電腦和TPU板, 連接TPU板的otg接口。在計算機上新打開一個終端,輸入:fastboot devices
如果識別到設備會顯示:
1b0741d6f060XXXX fastboot (XXXX數據不一樣)
9. 下載和刷新系統
在計算機上輸入:
curl -O https://dl.google.com/coral/mendel/enterprise/mendel-enterprise-chef-13.zip
unzip mendel-enterprise-chef-13.zip && cd mendel-enterprise-chef-13
bash flash.sh
10. 登陸TPU
等下載完成後可以在串口終端的串口輸入:
Login is mendel
Password is mendel
11. TPU開啓ssh通過ssh連接TPU
連接TPU網線,然後修改sshd_config文件如下:
sudo vim /etc/ssh/sshd_config
這樣就可以遠程通過ssh登陸TPU的板子了,用戶和密碼分別是 mendel 和mendel。