AndroidThings系列之二:硬件及准备

epeppanda
发布于 2021-2-21 09:34
浏览
0收藏

PICO-PI-IMX7的硬件资源丰富,接下来让我们烧写一下Android Things,看看谷歌出品的OS是否有那么令人期待。

 i.MX7D是一款二合一型开发板,包括一个i.MX7D SoM模块及一个基板,专门为IoT进行了优化。其中SoM模块使用了POP封装,集存储/CPU/MCU于一体,集成度非常高,基板通过高速接口与SoM连接,同时基板也提供了各类接口如USB、音频及GPIO等。AndroidThings系列之二:硬件及准备-鸿蒙开发者社区硬件包装上很醒目的Android Things标签,表明这是一款经谷歌认证的Android Things硬件,PICO-PI-IMX7是产品的具体型号。i.MX 7Dual包括两个高达1.2 GHz的ARM®Cortex®-A7内核以及一个ARM®Cortex®-M4内核,既保证了高性能,还能提供低功耗服务,是现代IoT硬件的典型解决方案。开发板与英特尔®Edison的引脚兼容,用于传感器和低速I / O,同时还为多媒体和连接增加了额外的扩展可能性,可轻松扩展和实现物联网设计。AndroidThings系列之二:硬件及准备-鸿蒙开发者社区开发套件的SoM模块通过3个70针的Hirose接口与基板相连,上图中用3个小螺丝固定的就是SoM模块,该模块的集成度非常高,小小的模块上集成了包括 NXP i.MX7, Memory, eMMC, Power Management IC (PMIC) and WiFi / Bluetooth等在内的主要功能组件。AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

i.MX7D套件提供的主要特性如下

• 集成两颗ARM Cortex-A7内核,主频高达1GHz,32KB L1指令缓存及32KB L1数据缓存,NEON MPE协处理器

• 集成一颗ARM Cortex-M4内核,主频为200MHz,集成MPU, FPU处理单元

• 提供512MB的RAM及4GB的eMMC外部存储

• LCD接口,但是没有HDMI接口

• MIPI CSI摄像头接口

• 外设接口包括:GPIO、I2C、SPI、PWM及UART等

• 板载千兆以太网络接口,WiFi/BL4 4.1无线接口

• USB 2.0及USB Type-C接口

AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

接口图一AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

接口图二

i.MX7D套件提供的GPIO接口如下AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

J8提供的40针GPIO接口与RPI接口兼容,J9主要用于I2S音频连接,JP1及JP2遵循Click标准,可以使用市面上大量的Click模块来进行功能扩展。

 

要使用i.MX7D套件来进行Android Things开发,首先需要在i.MX7D上烧写Android Things固件,有两种类型的固件,一是标准型固件,即只提供系统固件,无附加App应用;另一种类型的固件是用户定制型,包含App程序,烧写后开机即可运行指定的App,系统启动后自动加载程序并运行。

 

使用随产品附赠的USB Type-C数据线将开发板连接到PC的USB 3.0端口,从Android Things Console下载Android Things Setup Utility 。此过程需要登录谷歌帐户并接受许可协议和服务条款。

 

接下来运行Setup Utility程序,如下AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

这是一个控制台程序,用户从菜单中选择自己需要的操作,如安装固件或是设置网络。这里选安装固件,接下来的操作询问用户具体的硬件平台类型,目前只支持i.MX7D及RPI3,选择i.MX7D后开始下载平台工具,接下来询问用户使用何种类型的固件,刚开始还是选择Default Image吧,等玩熟了,再来定制固件。

接下来就是漫长的下载过程,等下载完成后程序自动执行烧写操作

AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

这里是烧写完成的画面,接着询问用户是否设置WiFi连接,选y则进入连接设置操作AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

开始连接WiFi,稍等片刻,连接就完成了

AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

设置完成,等待用户重启系统!

重新启动后新的固件应该开始工作了,如果需要验证的话,可以使用adb shell来进入Android Things系统,还可以使用pio来进行简单的查看及设置操作。

AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

这是使用adb shell连接到系统后执行ls命令的效果

使用内置的pio命令查看可用的GPIO端口,后续将介绍如何使用Android Studio来编写控制GPIO的应用程序,当然其实用pio也可以实现的,而且是交互方式,非常方便!AndroidThings系列之二:硬件及准备-鸿蒙开发者社区

除了可以使用adb,也可以使用串口方式来访问设备。使用终端程序(如PuTTY(Windows), Serial(Mac OS)或 Minicom(Linux))在开发计算机上打开与USB串行设备的连接。控制台的串口参数如下:

• 波特率:115200

• 数据位:8

• 校验:无

• 停止位:1

烧写好Android Things固件后,接下来就是写程序了,官方推荐使用Android Studio来完成,接下来准备安装Android Studio,熟悉Android Things API,开始尝试吃螃蟹了!没有真正用Android Things点个灯,是真不知道其便利性的!

且听下回分解。

分类
已于2021-2-21 09:34:27修改
收藏
回复
举报
回复
    相关推荐