第1章 产品概述】 - 【第2章 硬件资源介绍】 - 【第3章 MDK例程的使用】 - 【第4章 Linux系统指南】 - 【第5章 Android系统指南

5.1 概述

Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。自第一个版本发布以来深受广大消费者的欢迎,2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一;2012年2月数据显示,Android占据全球智能手机操作系统市场52.5%的份额。

Android系统是基于Linux系统运行的,主要由Linux Kernel、系统库、Dalvik虚拟机、应用框架和主要由JAVA编写的应用程序组成,其框架如图5-1所示:

图 5-1

本章主要介绍如何在MYD-SAM9X5平台上搭建与运行Android 2.3.5系统,主要包括以下几项内容:

(1)快速搭建Android系统;

(2)Android 系统的编译;

(3)Android系统的使用。

5.2 软件资源

软件资源如表5-1所示:

类别 名称 备注
引导程序 AT91Bootstrap 用来引导Uboot
Uboot 1.支持 NandFlash 擦除读写
2.支持网络下载映像
3.支持设置、保存环境变量
4.支持内存内容显示、对比、修改
5.支持bootm、bootargs设置
Linux内核 Linux 2.6.39 专为MYD-SAM9X5的硬件制定的Linux内核
设备驱动 网口驱动 ETH0
串口驱动 USART0、DBGU
USB USB_HOST*2、USB_OTG
SMD驱动 仅提供硬件接口
SD卡驱动 MicroSD、SDCard
LCD+touch LCD 屏驱动
SPI驱动 提供源码
TWI驱动 Two Wire Interface,即I2C
DMA驱动 已测试,提供源码
GPIO驱动 已测试,提供源码
文件系统 Android文件系统 已测试,提供二进制镜像文件

表 5-1

5.3 快速搭建Android系统

这一小节介绍如何直接用MYD-SAM9X5产品光盘中提供的映像快速搭建Android系统。

5.3.1 安装下载工具

(1) 安装 atmel 的 ISP下载软件 SAM-BA(要求版本2.11以上,在光盘中的位置:03-Tools/SAM-BA/)。

注意:如果安装了 SAM-BA 2.10 及以前的版本,需要先将其全部卸载(SAM-BA 软件以及开发板 USB驱动)。如果需要两个或以上的SAM-BA版本共存,那么不同版本的SAM-BA应该使用PC上不同的USB接口。

(2)开发板上电,通过 micro USB线将开发板(J17)与 PC相连。

(3)将开发板上的拨码开关SW1、SW2都拨到关的位置,断开底板跳线JP8,然后按下NRST按键复位开发板(顺序不可颠倒)。第一次连接时PC端会提示安装开发板驱动,此时选中SAM-BA安装目录下的相关位置安装即可,如图5-2所示:

图 5-2

(4) 此时若在 PC机的设备管理器中看到如图5-3所示的提示,则说明开发板驱动已经装好:

图 5-3

此处COM9为本机下的连接端口(根据实际情况确定,这里为 COM9)。

5.3.2 连接开发板与SAM-BA

(1) 安装MYD-SAM9X5的USB驱动。

详见03-Tools\SAM-BA\the board driver install.pdf。

(2)连接开发板。具体步骤如下:

① 用USB线连接PC机与开发板

② 断开底板的跳线JP8

③ 将开发板上的拨码开关1、2拨到关的位置

④ 按NRST按键复位开发板,然后再将拨码开关1拨到ON的位置。

此时在PC机上便可以看到开发板对应的USB设备。

5.3.3 自动烧写

注:这里以使用4.3寸屏的镜像为例,如果使用的是其它尺寸的屏,请下载对应目录的镜像。 完成步骤5.3.1和步骤5.3.2后,打开光盘中目录02-Images/Android/4.3 LCD/,编辑at91sam9x5.bat文件,如图5-4所示:

图 5-4

将原来的 COMx更改为本机下对应的连接端口 COM9。双击at91sam9x5.bat,Android 镜像开始自动地烧写到开发板上,等待 2-3分钟自动弹出logfile.log文件表示自动烧写完毕。

5.3.4 手动烧写

注:这里以使用4.3寸屏的镜像为例,如果使用的是其它尺寸的屏,请下载对应目录的镜像。

本小节用到的所有映像文件都可以在产品光盘中的目录:02-Images/Android/4.3 LCD/下找到。

Android系统中的NandFlash内容划分如图5-5所示:

图 5-5

利用SAM-BA手动下载linux

(1) 完成5.3.1小节和5.3.2小节中的操作后,双击PC桌面上的sam-ba v2.11,出现如图5-6所示界面:

图 5-6

点击Connect进入SAM-BA的主界面,如图5-7所示:

图 5-7

(2)选择NandFlash选项卡。并在Scripts选项卡中选择Enable NandFlash,然后点击 Execute,如图5-8所示:

图 5-8

(3)在Scripts选项卡中选择Enable OS PMECC parameters,然后点击Execute,在弹出的对话框中采用默认选项,直接点击OK即可(注意:这里不能勾选 Trimffs),如图5-9所示:

图 5-9

(4) 在Scripts选项卡中选择Erase All,然后点击Execute,如图5-10所示:

图 5-10

(5)烧写at91sam9x5ek-nandflashboot-3.1.bin文件,如图5-11,5-12所示:

图 5-11



图 5-12

(6)烧写u-boot.bin文件到地址0x40000处,如图5-13所示:

图 5-13

(7)烧写ubootEnvAndroidNandFlash.bin到地址0xc0000处,如图5-14所示:

图 5-14

(8)烧写linux 内核uImage到地址0x200000处,如图5-15所示:

图 5-15

(9)在烧写文件系统之前,先启用Trimffs(注意:这里一定要勾选Trimffs),如图5-16所示:

图 5-16

(10)烧写文件系统system_ubifs-SAM9X5-ANDROID-2.3.5_r1.img到地址0x500000处,如图5-17所示:

图 5-17

(11)烧写文件系统userdata_ubifs-SAM9X5-ANDROID-2.3.5_r1.img到地址0x6400000处,如图5-18所示:

图 5-18

至此,Android系统所需要的所有映像文件烧写完毕,按K1键重启开发板便可启动Android系统。

5.4 Android系统文件的编译

本节对Android系统文件编译的方法和步骤进行展开说明。

5.4.1 Android 系统运行原理

(1)文件说明:

文件 说明
at91sam9x5ek-nandflashboot-3.1.bin 由AT91Bootstrap源码编译得到的引导程序,用来启动u-boot
u-boot.bin 二级引导,用于启动内核
uImage 由Linux内核源码编译得到的Linux内核文件
system_ubifs-SAM9X5-ANDROID-2.3.5_r1.img Android文件系统(系统文件部分)
userdata_ubifs-SAM9X5-ANDROID-2.3.5_r1.img Android文件系统(用户数据部分)
at91sam9x5.tcl 烧写记录文件,可用记事本查看
at91sam9x5ek_demo_android_nandflash.bat 自动烧写工具(MS-DOS 批处理文件,手动烧写过程中不需要此文件)

表 5-2

(2)系统运行原理

开发板上电,系统从 nandflash启动时,启动步骤如下:

① 在at91sam9x5内部rom中固化的引导代码将nandflash中的一级引导程序at91sam9x5ek-nandflashboot-3.1.bin 拷贝到 SRAM中运行。此引导程序主要对硬件进行基本的初始化,如设置CPU频率、配置PIO等,然后将二级引导程序uboot.bin拷贝到 DDRAM中并开始执行;

② 二级引导程序uboot主要负责引导Linux,其中包括设置linux的运行环境、载入linux镜像文件uImage、向Linux传递启动参数等,最后引导Linux启动;

③ Linux内核启动后将自动挂载Android文件系统。至此,Android系统启动完毕。

5.4.2 系统文件编译

我们知道Android系统是基于Linux系统运行的,所以要搭建Android系统首先必须搭建一个Linux的基础平台。

(1)安装交叉编译工具

解压交叉编译工具到/usr/local目录下:

#tar  xvjf 05-Linux_Source/CrossTool/arm-2010q1-202-arm-none-linux-gnueabi.tar.bz2 -C /usr/local

(2)编译AT91Bootstrap

$ tar xjvf 06-Android_Source/AT91Bootstrap/AT91Bootstrap-5series_1.2.tar.bz2
$ cd AT91Bootstrap-5series_1.2 
$ make mrproper
$ cp board/at91sam9x5ek/at91sam9x5nf_android_defconfig .config 
$ make CROSS_COMPILE=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi- 
$ cd binaries 

此目录下的at91sam9x5ek-nandflashboot-3.1.bin,这就是我们要烧写的 AT91Bootstrap。

(3)编译u-boot

注意:默认编译出来的u-boot是不带debug功能的,即u-boot启动后直接引导内核,而不进行配置网络等耗时操作,关于u-boot编译的详细说明请参考4.5.4编译u-boot。

$ tar xjvf 06-Android_Source/U-Boot/u-boot-android.tar.bz2
$ cd u-boot-android
$ make at91sam9x5ek_nandflash_config
$ make CROSS_COMPILE=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-

编译完成后可以在u-boot-android目录里看到u-boot.bin,这就是我们要烧写的u-boot。

(4)编译Android系统所使用的Linux kernel

解压Linux kernel到工作目录:

$ tar xvjf 06-Android_Source/Linux_Kernel_For_Android/linux-2.6.39.tar.bz2
$ cd linux-2.6.39/

配置文件(根据不同的 LCD 尺寸选择不同的配置文件)

LCD型号 配置文件
LCD_4.3 myir_MYD-SAM9X5_4.3LCD_Android_defconfig
LCD_7.0 myir_MYD-SAM9X5_7.0LCD_Android_defconfig
LCD_10.2 myir_MYD-SAM9X5_10.2LCD_Android_defconfig

根据实际屏幕大小选择相应的配置文件,拷贝至根目录并重命名为“.config”:

$ cp arch/arm/configs/<配置文件> .config

例如对于4.3寸的LCD,应该执行以下命令:

$ cp arch/arm/configs/myir_MYD-SAM9X5_4.3LCD_Android_defconfig .config

输入以下命令编译linux kernel:

$ make ARCH=arm menuconfig #(这里弹出制定框后直接保存退出即可)
$ make uImage ARCH=arm CROSS_COMPILE=/usr/local/arm-2010q1/bin/arm-none-linux-gnueabi-

注意:make uImage这个命令要求编译环境中已经安装uboot-mkimage工具,否则请使用以下命令安装该工具:

$ apt-get install uboot-mkimage

内核编译结束后,arch/arm/boot/目录下的uImage就是可烧写的Linux kernel文件。

5.5 Android系统的使用

5.5.1 USB keyboard 的测试

在USB键盘插入到开发板的J15的HOST口上之后,按下Num Lock键之后,右上角的灯变绿表示usb键盘已经可以使用。

5.5.2 浏览图片的测试

(1) 在主菜单界面选择“Gallery”图标,如果插入了存有图片的 SD卡,Gallery界面就会弹出来,如图5-19所示:

图 5-19

(2)选择某个图片文件夹,如图5-20:

图 5-20

(3)查看某张图片,效果如图5-21:

图 5-21

5.5.3 播放音频的测试

(1) 在主菜单界面选择“Music”图标,会弹出音乐播放界面,如图5-22:

图 5-22

(2)选择“Songs ”选项,如图5-23所示:

图 5-23

(3)选中某一首歌曲播放,效果如图5-24所示:

图 5-24

5.5.4 以太网的测试

注意:首先使用网线将开发板和路由器连接起来。

(1) 进入窗口界面,选择“Ethenet”图标,如图5-25所示:

图 5-25

(2)打开以太网,如图5-26所示:

图 5-26

(3)配置以太网,如图5-27所示:

图 5-27

(4) 配置IP地址,如图5-28所示:

注意:在这里如果使用的是动态获取IP,只要选择“Dhcp”即可;否则要选择“Static IP”后手动设置IP地址、子网掩码、DNS server、默认网关。



图 5-28

(5)配置成功之后,打开浏览器,输入:www.baidu.com,如图5-29所示:

图 5-29

5.6 资源下载

打印/导出
语言
本页面的其他翻译: