NXP Pico i.MX7D上安装Android Things系统疑难杂症汇总

Android Things在NXP Pico i.MX7D上刷机的正常步骤还是很简单的,不过也陆续有不少朋友碰到各种问题。这里把问题和解决方法做个汇总,有新问题再继续补充。碰到问题的朋友,也可以在文后留言。

状况0. 提示"writing 'gpt'... FAILED (remote: device is locked.)"

刷写过程中,如果提示"writing 'gpt'... FAILED (remote: device is locked.)",则需要执行以下指令先解锁,再执行flash-all。

我从DP6.1系统刷到DP7时就遇到了此问题。

fastboot flashing unlock

目前已发布了Developer Preview 7版本

Developer Preview 7
Date: March 2018
Build Number: OIM1.180123.019
Play Services: 11.8.0

要从DP6.1升级到DP7,下载好DP7系统镜像之后,通过以下步骤重新刷系统:

1. 重启进入bootloader

adb reboot bootloader        

2. 找到要刷机的设备

fastboot devices

3. 解锁

fastboot flashing unlock

4. 刷入系统

flash-all


状况1. 刷机过程异常终止

有朋友发现刷机过程中出现FAILED刷机过程异常终止了。

刷机过程异常终止

其实上面红色这条FAILED是没有问题的,这是一个"或"的关系,刷写bootloader0或bootloader,所以这一步是成功的,bootloader0分区不存在,但bootloader分区存在,刷写成功了。

需要关注的是最后一句蓝色框中的内容。

usage: fastboot [ <option> ] <command>

这其实是提示fastboot指令格式不对,也就是flash-all.bat文件中的某条调用fastboot指令的格式不对。为什么会出现这种情况呢?其实就是电脑上的fastboot版本不对。也就是Android SDK Platform Tools版本不对,按照官网文档描述,要更新到25.0.3或以上。

Android SDK Platform Tools要更新到25.0.3或以上


状况2. 系统没有刷完整,既无法进入Android Things,也无法进入bootloader

如果已经刷写Android Things,但没有刷写完整,则陷入比较尴尬的境地,既进入不了Android Things,又没办法用adb指令进入bootloader重新刷。

此时,就必须想办法进入bootloader,这需要用到串口控制台。

NXP板上的USB口

NXP板上有一个USB Type-C接口,用于供电、fastboot刷系统、adb连接,如图中1。

另外还有个Micro USB口,这是个USB串口,用于串口调试,如图中2。

先将2.Micro USB接口接入电脑。通常电脑上可以自动找到驱动出现串口,如果没有,可下载FTDI的串口驱动程序(http://www.ftdichip.com/Products/ICs/FT232R.htm)。

在设备管理器中,可以看到串口号

下载一个串口调试工具,可以用PuTTY,下载地址:https://www.putty.org/

下载PuTTY

安装完成后,在PuTTY中打开串口控制台。

PuTTY打开串口控制台

Connection type选择Serial,填写串口号,在自己电脑的设备管理器中查看,我这里是COM5,Speed填写115200,点击Open,会打开如下图所示的串口控制台。

串口控制台

此时,插入1. USB Type-C接口,给NXP开发板上电启动,串口控制台中会有启动信息输出。尽快在串口控制台中任意按下按键,中止自动启动。

Hit any key to stop autoboot

停止自动启动

停止自动启动后,会出现=>命令提示符。

在=>输入 fastboot usb 回车。

fastboot命令

此时,开发板就已经进入bootloader模式了。打开Windows命令提示符,执行:

fastboot devices

就可以找到设备了。

fastboot发现设备

之后再用flash-all重新刷机即可。

上一篇:Android Things入门教程


下一篇:Android Things新版本发布了,DP7中你需要知道的