参考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。