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

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

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

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

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

fastboot flashing unlock调试

目前已发布了Developer Preview 7版本orm

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

要从DP6.1升级到DP7,下载好DP7系统镜像以后,经过如下步骤从新刷系统:接口

1. 重启进入bootloaderip

adb reboot bootloader        开发

2. 找到要刷机的设备rem

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从新刷机便可。