您的位置首页>硬件>

基于Android系统的家庭体感娱乐平台

导读大家好,我是极客范的本期栏目编辑小友,现在为大家讲解基于Android系统的家庭体感娱乐平台问题。序本文基于TI公司的开源平台OMAP3515设计

大家好,我是极客范的本期栏目编辑小友,现在为大家讲解基于Android系统的家庭体感娱乐平台问题。

本文基于TI公司的开源平台OMAP3515设计了一款客厅游戏控制台。开源软件平台采用Linux系统,自主移植了更流行、更友好的安卓系统,开发了平台软件SDK,开发了hopoplayer播放器,支持Flash格式游戏,建立了友好的移植框架,可以轻松移植到其他平台。控制台使用体感手柄控制显示界面,控制体感游戏。完整的家庭体感娱乐平台如图1所示。

图1家庭体感娱乐平台

1个客厅游戏控制台

客厅的游戏控制台是基于TI公司的OMAP3515开源平台设计的。软件方面,可以选择安卓系统或者Linux系统。安卓系统也是基于开源的Linux系统内核,所以网卡驱动、HDMI驱动、音频驱动、显示驱动、NAND Flash驱动和USB驱动的设计原理是一样的。硬件方面,更换了网卡芯片、电源管理芯片、音频解码芯片、USB芯片和NAND Flash芯片,增加了HDMI驱动芯片。

Linux和Android使用相同的引导程序xloader和uboot,设计不同的内核和文件系统,修改不同的启动参数选择Linux或Android。

将Android系统移植到嵌入式Linux平台设备主要有两种方式:一种是在使用过的内核中对Android进行补丁,补丁量大,出错几率大,移植时间长;另一种是使用开源安卓系统对平台的驱动和配置进行补丁,添加到安卓系统中。本文采用了这种方法。

1.1下载安卓源代码,搭建编译环境

主持人:Linux Fedora 10。

(1)下载安卓源代码

$ yum安装git?核心

$ curl http://android.git.kernel.org/repo》~/bin/repo

$ chmod a x ~/bin/repo

$ mkdir划艇?机器人

$ cd划艇?机器人

$回购初始化?u git ://gitorious . org/row boat/manifest . git?划艇吗?甜甜圈. xml

$回购同步

(2)建立编译环境。

准备所需的开发包:

Git 1.5.4或更新版本和GNU隐私保护。

JDK 5.0,更新12或更高版本。不支持Java 6,因为与@Override不兼容。

flex,bison,gperf,libsdl?dev,libesd0?dev,libwxgtk2.6?dev(可选),构建?必要的,拉链,卷曲,minicom,tftp?服务器,uboot?mkimage

对Fedora 10使用以下命令:

$ yum安装bison gperf flex xorg?x11?原型?发展阅读线?重击

下载jdk?1_5_0_22?linux?I586.bin,安装在/usr/local/鲁花/安卓/划艇?Android/jdk1.5.0_22。

图2主机框架

修改java环境变量:

导出JAVA _ HOME=/usr/local/鲁花/安卓/划艇?android/jdk1.5.0_22

导出路径=$JAVA_HOME/bin:$PATH

导出类路径=$ JAVA _ HOME/lib/tools . jar:$ JAVA _ HOME/lib/dt . jar:$类路径

对于Ubuntu 32?bit使用这样的命令:

$ sudo apt?获取安装git?太阳核心?java5?jdk flex bison gperf libsdl?dev libesd0?dev libwxgtk2.6?dev构建?必备拉链卷发库5?dev zlib1g?开发迷你

com tftpd uboot?mkimage

  Ubuntu Intrepid (8.10) users may need a newer version of libreadline:

  $ sudo apt?get install lib32readline5?dev

  下载jdk?1_5_0_22?linux?i586.bin,安装在/usr/local/hualu/android/rowboat?android/jdk1.5.0_22下。

  修改java环境变量:

  export JAVA_HOME=/usr/local/hualu/android/rowboat?android/jdk1.5.0_22

  export PATH=$JAVA_HOME/bin:$PATH

  export CLASSPATH=$JAVA_HOME/ lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

  ③ 建立rootfs:

  $ make TARGET_PRODUCT=omap3?evm TARGET_BUILD_VARIANT=tests ?j8

  $ cd out/target/product/omap3evm

  $ mkdir android_rootfs

  $ cp ?r root/* android_rootfs

  $ cp ?r system android_rootfs

  $ sudo ////build/tools/mktarball.sh ///host/linux?x86/bin/fs_get_stats android_rootfs 。 rootfs rootfs.tar.bz2

  ④ 建立kernel:

  $make ARCH=arm omap3_evm_android_defconfig

  1.2 移植Android系统的主要流程

  ① 首先到http://code.google.com/p/rowboat/wiki/Source网站,参考说明下载2.6.29 kernel和omap3evm?donut?2009?12?22.tar.bz2 文件系统。

  如果只下载TI OMAP3EVM 内核,可以使用git clone git://gitorious.org/rowboat/kernel.git.

  ② 修改uboot的启动参数:

  setenv bootargs ?mem=128M console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw init=/init rootwait?。

  ③ 把平台上在TI OMAP3EVM中修改的内容打补丁,移植到步骤①下载的内核中,重点是针对平台的驱动和显示部分。

  ④ 拷贝修改后内核的uImage和文件系统到的SD卡中,从SD卡启动Android系统。

  ⑤ 启动后首先出现机器人LOGO,然后出现“android”字体LOGO,最后出现Android主界面。

  ⑥ 优化、修改启动界面,如需要从NAND Flash启动则修改相应的启动参数和文件系统等。

  引言

  本文基于TI公司的OMAP3515开源平台设计了一款客厅游戏主机,开源软件平台使用Linux系统,独立移植了更流行、界面更友好的Android系统,开发了平台软件SDK,研发了hopoplayer播放器,支持Flash格式的游戏,并建立了友好的移植框架,可方便地移植到其他平台使用,主机使用体感手柄控制显示界面和操控体感游戏。完整的家庭体感娱乐平台如图1所示。

  

  图1 家庭体感娱乐平台

  1 客厅游戏主机

  客厅游戏主机基于TI公司的OMAP3515开源平台设计。软件上,可以选择Android系统,也可以选择Linux系统。Android系统也是基于开源Linux系统内核,所以设计网卡驱动、HDMI驱动、音频驱动、显示驱动、NAND Flash驱动、USB驱动原理相同。硬件上,更换了网卡芯片、电源管理芯片、音频解码芯片、USB芯片和NAND Flash芯片,增加了HDMI驱动芯片。

  Linux系统和Android系统使用相同的引导程序xloader、uboot,设计不同的kernel和文件系统,修改不同的启动参数即可选择Linux系统或Android系统。

  移植Android系统到嵌入式Linux平台设备,主要有两种方法:一种是在使用的内核里打Android补丁,补丁量比较大,出错的机会也大,移植时间也会很长;另一种是使用开源的Android系统,将平台的驱动和配置等打补丁,添加到Android系统中,本文采用了这种方法。

  1.1 下载Android源码和建立编译环境

  主机系统: Linux Fedora 10.

  (1) 下载Android源码

  $ yum install git?core

  $ curl http://android.git.kernel.org/repo 》~/bin/repo

  $ chmod a+x ~/bin/repo

  $ mkdir rowboat?android

  $ cd rowboat?android

  $ repo init ?u git://gitorious.org/rowboat/manifest.git ?m rowboat?donut.xml

  $ repo sync

  (2) 建立编译环境

  ① 准备需要的开发包:

  Git 1.5.4 or newer and the GNU Privacy Guard.

  JDK 5.0, update 12 or higher. Java 6 is not supported, because of incompaTIbiliTIes with @Override.

  flex, bison, gperf, libsdl?dev, libesd0?dev, libwxgtk2.6?dev (optional), build?essential, zip, curl, minicom, tftp?server, uboot?mkimage

  ② 对于Fedora 10使用如下命令:

  $ yum install bison gperf flex xorg?x11?proto?devel readline?devel

  下载jdk?1_5_0_22?linux?i586.bin,安装在/usr/local/hualu/android/rowboat?android/jdk1.5.0_22下。

  

  图2 主机框架

  修改java环境变量:

  export JAVA_HOME=/usr/local/hualu/android/rowboat?android/jdk1.5.0_22

  export PATH=$JAVA_HOME/bin:$PATH

  export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

  For Ubuntu 32?bit use such command:

  $ sudo apt?get install git?core gnupg sun?java5?jdk flex bison gperf libsdl?dev libesd0?dev libwxgtk2.6?dev build?essential zip curl libncurses5?dev zlib1g?dev minicom tftpd uboot?mkimage

  Ubuntu Intrepid (8.10) users may need a newer version of libreadline:

  $ sudo apt?get install lib32readline5?dev

  下载jdk?1_5_0_22?linux?i586.bin,安装在/usr/local/hualu/android/rowboat?android/jdk1.5.0_22下。

  修改java环境变量:

  export JAVA_HOME=/usr/local/hualu/android/rowboat?android/jdk1.5.0_22

  export PATH=$JAVA_HOME/bin:$PATH

  export CLASSPATH=$JAVA_HOME/ lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

  ③ 建立rootfs:

  $ make TARGET_PRODUCT=omap3?evm TARGET_BUILD_VARIANT=tests ?j8

  $ cd out/target/product/omap3evm

  $ mkdir android_rootfs

  $ cp ?r root/* android_rootfs

  $ cp ?r system android_rootfs

  $ sudo ////build/tools/mktarball.sh ///host/linux?x86/bin/fs_get_stats android_rootfs 。 rootfs rootfs.tar.bz2

  ④ 建立kernel:

  $make ARCH=arm omap3_evm_android_defconfig

  1.2 移植Android系统的主要流程

  ① 首先到http://code.google.com/p/rowboat/wiki/Source网站,参考说明下载2.6.29 kernel和omap3evm?donut?2009?12?22.tar.bz2 文件系统。

  如果只下载TI OMAP3EVM 内核,可以使用git clone git://gitorious.org/rowboat/kernel.git.

  ② 修改uboot的启动参数:

  setenv bootargs ?mem=128M console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw init=/init rootwait?。

  ③ 把平台上在TI OMAP3EVM中修改的内容打补丁,移植到步骤①下载的内核中,重点是针对平台的驱动和显示部分。

  ④ 拷贝修改后内核的uImage和文件系统到的SD卡中,从SD卡启动Android系统。

  ⑤ 启动后首先出现机器人LOGO,然后出现“android”字体LOGO,最后出现Android主界面。

  ⑥ 优化、修改启动界面,如需要从NAND Flash启动则修改相应的启动参数和文件系统等。

技术专区 Alexa语音服务软件扩展STM32Cube结合DNN API驱动未来神经网络应用的解决方案针对于高端移动通信和汽车市场的四集群设计一款基于帧捕捉的开源图形调试器应用设计即将成为标准配置的最新安全技术:后视摄像系统
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。