【Android论文栏目提醒】:网学会员,鉴于大家对Android论文十分关注,论文会员在此为大家搜集整理了“毕业论文:Android开源项目向ARM2410实验箱上的移植 - 毕业设计”一文,供大家参考学习!
Android 开源项目向 ARM2410实验箱上的移植 资料 摘 要 1991年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。
目前,采用 ARM 技术知识产权(IP)核的微处理器,即我们通常所说的 ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了32位 RISC 微处理器75%以上的市场份额,ARM 技术正在逐步渗入到我们生活的各个方面。
Google 公司于2007年11月5日推出的基于 Linux 平台的开源手机操作系统
Android,是首个为移动终端打造的真正开放和完整的移动软件。
由于
Android的开放性和自由性,其在未来的应用必定会十分广泛。
本文介绍嵌入式系统 1.Bootloader 移植、 2.
Android Linux 内核移植、3.
Android 文件系统裁剪移植 和4.
Android 应用程序开发。
关键词:
Android Linux 嵌入式
Android 应用程序 资料 ABSTRACT ARM was founded in 1991 in Cambridge England. It primarily sells thelicensing of chip design technology. At present the use of ARM technologyintellectual property IP core microprocessor which we usually refer to the ARMmicroprocessor has control over the industry consumer electronics communicationsystems network systems wireless systems and other kinds of Market ARM-basedmicroprocessor technology applications accounted for about 32-bit RISCmicroprocessor according to more than 75 market share ARM technology isgradually infiltrated into every aspect of our lives. Google Inc. on November 5 2007 launch of the open source Linux-based mobileoperating system
Android is the first mobile terminal to create a truly open andcomplete mobile software. As the Androids openness and freedom its application inthe future will be very extensive. This article describes the embedded system Bootloader transplantation AndroidLinux kernel porting
Android and the
Android file system cutting transplantationapplication development.Key Words:
Android Linux Embedded
Android Application 资料 目 录第一章 绪论 ............................................. 7 1.1 立题背景与意义............................................... 7 1.2 本文的研究目的和主要工作..................................... 7第二章 嵌入式系统介绍 ................................... 8 2.1 嵌入式系统概述............................................... 8 2.1.1 嵌入式系统的发展 ................................................. 8 2.1.2 嵌入式系统的定义 ................................................. 9 2.1.3 嵌入式系统的特点 ................................................. 9 2.2 基于 ARM 和 Linux 的嵌入式开发平台............................ 10 2.3.1 开发平台的选择 ................................................... 10 2.3.2 Linux 操作系统................................................... 11 2.3 本章小结.................................................... 12第三章 嵌入式硬件系统及其工作原理 ...................... 13 3.1 处理器主控模块.............................................. 13 3.1.1 开发板的硬件参数 ................................................ 13 3.1.2 开发板的地址资源映射 ............................................ 14 3.2 Linux 下串口通信原理 ........................................ 15 3.2.1 异步串行通信及其协议 ............................................ 15 3.2.2 串行接口标准 .................................................... 16 3.3.3 S3C2410内置的 UART 控制器 ........................................ 16 3.2.4 Linux 下串口操作.................................................. 17 3.2 本章小结..................................................... 17第四章
Android 开源项目移植 ............................ 18 4.1 Bootloader 移植............................................. 18 4.1.1 为何重分区 ...................................................... 18 资料 4.1.2 内核为何会变大 .................................................. 18 4.1.3 如何使用 vivi 进行分区 ........................................... 20 4.1.4 vivi 的烧写...................................................... 21 4.2
Android Linux 内核移植 ...................................... 22 4.2.1 添加 MTD 分区表信息 .............................................. 22 4.2.2 配置内核 ........................................................ 22 4.3 移植网卡驱动................................................ 23 4.4 移植 LCD 驱动................................................ 30 4.4.1 LCD 概述 ........................................................ 30 4.4.2 LCD 背光 ........................................................ 30 4.4.3 LCD 分类........................................................ 30 4.4.4 TFT-LCD 的工作原理 ............................................... 31 4.4.5 LCD 常用的指标.................................................... 31 4.4.6 S3C2410中与 LCD 相关的主要信号介绍 ................................ 31 4.4.7 LCD 驱动移植步骤.................................................. 32 4.5 移植触摸屏驱动.............................................. 35 4.5.1 触摸屏中断响应过程 ............................................... 35 4.5.2 S3C2410 模数转换器(ADC)及触摸屏控制器 .......................... 35 4.5.3 ADC 及触摸屏控制器的工作模式:.................................... 36 4.5.4 几个重要的寄存器: .............................................. 37 4.5.5 触摸屏移植步骤 ................................................... 37 4.6
Android 文件系统移植 ........................................ 42 4.6.1
Android 根文件系统启动分析 ....................................... 42 4.6.2
Android 根文件系统移植 ........................................... 51 4.7
Android 应用程序开发 ........................................ 53 4.7.1 应用程序功能 .................................................... 53 4.7.2 架构及其实现 .................................................... 53 4.8 本章小结.................................................... 54第五章 结论 ............................................ 55参考文献 ................................................ 56 资料致 谢 ................................................... 57 资料 第一章 绪论1.1 立题背景与意义1991年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。
目前,采用 ARM 技术知识产权(IP)核的微处理器,即我们通常所说的ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于 ARM 技术的微处理器应用约占据了32位 RISC 微处理器75%以上的市场份额,ARM 技术正在逐步渗入到我们生活的各个方面。
Google 公司于2007年11月5日推出的基于 Linux 平台的开源手机操作系统
Android,是首个为移动终端打造的真正开放和完整的移动软件。
由于
Android的开放性和自由性,其在未来的应用必定会十分广泛。
1.2 本文的研究目的和主要工作 本文介绍嵌入式系统 Bootloader 移植、
Android Linux 内核移植、
Android文件系统裁剪移植和
Android 应用程序开发。
本项目完成了
Android 开源项目向基于 S3C2410开发板上的移植。
主要完成了以下工作: (1)构建了以 ARM 平台为核心,嵌入式 Linux 操作系统的开发平台; (2)完成了 Bootloader 移植; (3)完成了
Android Linux 内核移植; (4)完成了
Android 文件系统移植; (5)完成了一个简单
Android 应用程序开发。
资料 第二章 嵌入式系统介绍 本项目基于嵌入式 Linux 系统,涉及到嵌入式 Linux 技术。
本章将介绍嵌入式系统的发展、定义及其特点。
2.1 嵌入式系统概述 近年来,PC 已经从高速增长时期进入平稳发展时期,其年增长率由20世纪90年代中期的35逐年下降,单纯的 PC 机时代已经成为历史。
“后 PC 时代”,即嵌入式系统所带领的时代已经到来。
进入21世纪以来,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术各类产业及人们日常生活的方方面面。
随着国内外各种嵌入式产品的进一步开发和推广,嵌入式技术越来越与人们生活紧密结合。
2.1.1 嵌入式系统的发展 电子计算机诞生于1946年,此后计算机始终是供应在特殊的机房中、实现数值计算的大型昂贵设备。
知道20世纪70年代微处理器出现后,计算机才出现了历史性的变革。
以微处理器为核心的微型计算机凭借其体积小、价格低、可靠性高的优势,迅速走出了机房,走进了千家万户。
微型机表现出来的智能化特性备受关注,人们将微型机嵌入到对象体系中,实现了对其智能化控制,如此计算机便失去了原来的形态和通用的计算机功能。
于是把嵌入到对象体系中、实现对象体系智能化控制的计算机称作嵌入式计算机系统。
因此,嵌入式系统诞生于微型机时代,其本质是将一个计算机嵌入到一个对象体系中,这是理解嵌入式系统的根本所在。
嵌入系统的发展经历了以单片机为核心的可编程控制器形式的第一代嵌入式系统、以嵌入式 CPU 为基础和简单操作系统为核心的第二代嵌入式系统、以嵌入式操作系统为核心的第三代嵌入式系统以及今天的以 Internet 为标志的第四代嵌入式系统。
随着各行各业的应用需求不断扩大,加之计算机技术的进一步提高,未来嵌入式系统的发展有如下趋势: (1)随着微电子技术的高速发展,芯片功能将更加强调,在体积、成本、可靠性、功耗方面必会有突破行进展。
资料 (2)嵌入式无线通信设备的不断普及,已成为嵌入式系统应用的一个重要领域,无线技术与嵌入式系统一定会紧密结合,飞速发展。
(3)随着以太网协议应用到嵌入式领域,嵌入式系统网络与以太网之间接口,是嵌入式系统发展又一方向。
(4)随着嵌入式系统周边设备的不断增多,嵌入式应用软件的开发需求也快速递增,这使得嵌入式应用软件功能和数量也变得丰富多彩。
2.1.2 嵌入式系统的定义 如果我们了解了嵌入式(计算机)系统的由来与发展,对嵌入式系统就不会产生过多的误解,而能历史地、本质地、普遍适用地定义嵌入式系统。
按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计 。
、算机系统”“嵌入性”“专用性”与“计算机系统”是嵌入式系统的三个基本要素。
对象系统则是指嵌入式系统所嵌入的宿主系统。
根据 IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设 。
国内普遍认同的嵌入式系统定义为:以应用为中心、以计算机技术备的装置”为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
由此可知,人们平常广泛使用的手机、PDA、MP3、机顶盒都属于嵌入式系统设备;而车载 GPS 系统、机器人也属于嵌入式系统。
嵌入式系统已经出现在人们生活的方方面面。
2.1.3 嵌入式系统的特点 嵌入式系统是应用于特定环境下、面对专业领域的应用系统,一般具有以下特点: (1)通常面向特定应用,一般都有实时要求,具有功耗低、体积小、集成度高、成本低等特点; (2)系统内核小。
由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。
(3)系统精简。
嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。
(4)高实时性的系统软件OS是嵌入式软件的基本要求。
而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。
资料 (5)可靠性与稳定性对于嵌入式系统有着重要的意义。
(6)嵌入式系统开发需要开发工具和环境。
由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。
2.2 基于 ARM 和 Linux 的嵌入式开发平台2.3.1 开发平台的选择 选择开发平台主要依据就是系统的需求,本项目的主要目的是实现无线传感器网络和嵌入式系统相结合,来实现家庭的环境等监测,在最大限度满足嵌入式家庭健康安全系统实时性、安全性、可靠性要求的同时,低成本也是本项目的主要目的之一。
今年来,以 ARM 为核心的嵌入式系统应用越来越广泛,技术日趋成熟,被越来越多的应用与工业、服务业等领域。
低功耗、体积小、价格低等特点,使得ARM 系列处理器更适合做家庭的控制平台。
在这里我们选用基于 ARM9内核的处理器和 LINUX 操作系统作为本项目的嵌入式开发平台。
ARM9处理器包括 ARM920T、ARM922T 和 ARM940T,主要用于手持设备、视频电话、PDA、机顶盒、家用网关等产品中。
与 ARM7处理器相比,ARM9处理器具有以下特点:5级流水线、采用哈佛结构、引入高速缓存和写缓存、支持 MMU 等显著优点。
操作系统方面,LINUX 是应用最广泛的操作系统,集成了很多网络协议,更重要的是在2.6.X 后的内核中配置了 FTDI 的 USB 转串口驱动,这对于我们的 ARM平台和网关通信提供很大的便利。
综上考虑,本项目中我们选用了博创公司的开发板 UP-NETARM2410-S该开发板的硬件配置如表2.1所示。
采用了三星公司的基于 ARM920T 结构的处理器,该处理器完全能够满足本系统的各项需求。
该平台还配有 JTAG 仿真器和串口通信线等部件,这就大大节省了开发时间。
资料 表2.1 UP-NETARM2410-S 硬件配置2.3.2 Linux 操作系统 嵌入式 Linux 是标准 Linux 经过小型化裁剪处理之后的专用 Linux 操作系统,能够固化于容量只有几 KB 或者几 MB 的存储器芯片或单片机中,适合于特定嵌入式应用场合。
目前已经开发成功的嵌入式系统大约有一半使用的都是嵌入式Linux。
Linux 系统具有鲜明的层次结构且内核完全开放,Linux 有许多体积小性能高的微内核和系统组成,这样用户就可以根据自己的应用需要容易地对内核进行裁剪,在低成本的前提下,设计和开发满足自己需求的嵌入式系统。
Linux 还具有强大的网络功能,可以利用 Linux 的网络协议栈开发出嵌入式 TCP/IP 网络协议栈。
Linux 还具有一套完整的工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,还可已使用内核调试器来进行操作系统内核调试。
Linux 内核有五个主要的子系统构成。
图2.3 所示。
他们分别是进程调度、内存管理、虚拟文件系统、网络接口、进程间通信。
下面做简单介绍。
(1)进程调度:控制着进程对 CPU 的访问,当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。
(2)内存管理:许多个进程安全地共享主内存区域。
内存管理从逻辑上可 资料 以分为硬件无关的部分和硬件相关的部分。
硬件无关的部分提供了进程的映射和虚拟内存的对换:硬件相关的部分为内存管理硬件提供了虚拟接口。
(3)虚拟文件系统:藏了各种不同硬件的具体细节,为所有的设备提供了统一的接口。
虚拟文件系统可分为逻辑文件系统和设备驱动程序。
(4)网络接口:供了对各种网络标准协议的存取和各种网络硬件的支持。
(5)进程间的通信:持进程间的各种通信机制。
图2.1 Linux 内核结构2.3 本章小结 本章首先简单的介绍了嵌入式系统的概念及其特点,然后根据本项目对硬件和软件的需求,确定了基于 S3C2410处理器的 UP-NETARM2410-S 开发板和 Linux操作系统的嵌入式平台,并对 Linux 内核的体系结构进行了简单介绍。
资料 第三章 嵌入式硬件系统及其工作原理3.1 处理器主控模块 本项目中使用的硬件平台是博创公司开发的 UP-NETARM2410-S 开发板,UP-NETARM2410-S 的 CPU 为 ARM920T 内核的三星 S3C2410芯片,由于有 MMU 可以运行标准的 ARM-Linux 内核。
3.1.1 开发板的硬件参数 S3C2410X 芯片集成了大量的功能单元,包括以下特性: 内部1.8V,存储器3.3V,外部 IO 3.3V,16KB 数据 CACH,16KB 指令 CACH,MMU; 内置外部存储器控制器(SDRAM 控制和芯片选择逻辑) ; LCD 控制器(最高4K 色 STN 和256K 彩色 TFT) ,一个 LCD 专用 DMA; 4路带外部请求线的 DMA; 三个通用异步串行端口(IrDA1.0 16-Byte Tx FIFO and 16-Byte RxFIFO),2通道 SPI; 一个多主 IIC 总线,一个 IIS 总线控制器; SD 主接口版本1.0和多媒体卡协议版本2.11兼容; 2个 USB HOST ,一个 USB DEVICE(VER1.1) ; 4个 PWM 定时器和一个内部定时器; 看门狗定时器; 117个通用 IO; 24个外部中断; 电源控制模式:标准、慢速、休眠、掉电; 8通道10位 ADC 和触摸屏接口; 带日历功能的实时时钟; 芯片内置 PLL; 设计用于手持设备和通用嵌入式系统; 16/32位 RISC 体系结构,使用 ARM920T CPU 核的强大指令集; ARM 带 MMU 的先进的体系结构支持 WINCE、EPOC32、LINUX; 资料 指令缓存(Cache) 、数据缓存、写缓冲和物理地址 TAG RAM,减小了对主存储器带宽 和性能的影响; ARM920T CPU 核支持 ARM 调试的体系结构; 内部先进的位控制器总线AMBA2.0 AHB/APB . S3C2410X 芯片结构图如图4.1所示: 图3.1 S3C2410X 芯片结构图3.1.2 开发板的地址资源映射 下面分别介绍开发板的内存空间映射: (1)NAND FLASH 系统的 NAND FLASH 选用 SAMSUNG 公司的 K9F5608UOB,64M。
(3)SDRAM 资料 系统配置两片32MB 的 HY57V561620芯片,地址空间为: Ox30000000—0x34000000。
开发板采用两片半字half-wordSDRAM 器件共同组成一个32位数据宽度的SDRAM 系统,提高了其与 CPU 的通信效率。
4以太网卡 采用 AX88796片,工作方式为 I/O 模式。
3.2 Linux 下串口通信原理 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus 或者 USB 混淆)。
大多数计算机包含两个基于 RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多 GPIB 兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管.