admin管理员组文章数量:1537537
2024年7月3日发(作者:)
基于ARM11的Android的操作系统的移植
[摘 要] android是一个专为移动设备设计的软件综合平台,
凭借良好的可移植性、应用程序的硬件平台无关性及其开放性,迅
速成为主流的手机平台之一。本文重点研究了基于linux平台的开
源操作系统android移植到arm11的过程。
[关键词] android 移植 arm11
1、引言
目前,随着移动通信技术的发展,移动终端正在向多媒体化和
网络化的方向发展,手机操作系统已经成为嵌入式系统发展的一个
重要方向。google与开放手机联盟联合开发的一个专为移动设备设
计的软件开放平台—android。其凭借很强的开放性、可移植性和
丰富的应用程序极大的满足了用户的需要以及技术的发展。本课题
以arm11系列的s3c6400开发板为系统移植目标平台,重点分析了
android的linux内核的移植过程。
2、android操作系统简介
android 是google于2007 年11月宣布的基于linux平台开源
手机操作系统名称,号称是首个为移动终端打造的真正开放和完整
的移动软件。google 重新设计java虚拟机和系统,使得android
的java应用更接近于底层系统效率更高;另外使用虚拟机技术使
得 android的应用在被监控的情况下运行,安全性更高。android
是一个对第三方软件完全开放的平台。其平台采用了整合的策略思
想,包括底层linux操作系统、中间层的中间件和上层的java应
用程序。操作系统的体系结构从上到下分为5个部分,分别是:应
用程序、应用程序框架、程序库、android运行环境、linux核心
层。linux内核层用来提供系统的底层服务,位于硬件和其它软件
层之间,采用 yaffs2文件系统。android运行库包含一组核心库
和dalvik虚拟机,android提供丰富的数据库支持且大部分为开源
代码,如采用嵌入式数据库sqlite。应用框架层为android 开发
人员提供了访问框架应用程序接口的全部权限,采用结构化设计简
化了组件之间的重用。在应用程序层,android本身附带了一些核
心的应用程序,大大简化了android应用程序的开发。
3、基于arm11的android的操作系统的移植
本课题采用arm11系列的s3c6400为移植目标,主要过程:安
装linux环境 安装编译工具 下载linux kernel 安装android
sdk 获得root file system 修改linux kernel源码 配置linux
kernel 修改root file system 编译linux kernel 下载kernel
image
1.安装 linux环境
安装ubuntu linux系统,从网站上下载操作系统安装光盘映像,
地址: /ubuntu/releases/8.04/,
下载, 刻录成光盘安装, 安装
可以在windows系统下进行,选取有15g 空间的硬盘安装,输入用
户密码开始安装。这一步结束退出光盘重启进入ubuntu系统,完
成余下系统安装。
linux安装完成,进入ubuntu系统,确保电脑连接internet,
安装一些必要软件。
打开终端输入命令框,进行下面的操作: $ sudo apt-get
install ssh
$ sudo apt-get install flex bison gperf libsdl-dev
libesd0-dev libwxgtk2.6-devbuild-essential zip curl
$ sudo apt-get install valgrind $ sudo apt-get install
sun-java6-jdk $ sudo apt-get install libncurses5-dev
所有软件系统会自动从网络下载安装,完成后可以开始android
的移植。
2.安装编译工具
下载: $ wget
/public/gnu_toolchain/arm-n
one-linux-gnueabi/arm-2008q1-126-arm-none-linux-gnueabi-i
2
安装:$ tar -xjvf
arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.t
2
3.下载 linux kernel
从下面地址获得:
/p/android/downloads/list?can=1&
q=&colspec=filename+summary+uploaded+size+downloadcount
kernel :
解压文件:$ tar -xf
4.安装 android sdk
从网上下载linux版本的 android sdk,如下:
/android/android-sdk_m5-rc15_linux
-
下载后解压,获得android-sdk_m5-rc15_linux-x86 文件
5.获得 root file system
⑴下载busybox工具从下面地址
/blog/2007/11/14/android-busybox
(linux环境中下载)
⑵运行emulator 获取root file system
$ cd / android-sdk_m5-rc15_linux-x86/tools
$ ./emulator& 等待emulator启动,看到出现android系统画
面,进入菜单all/dev tools/development settings下,将wait for
debugger,show running processes,show screen updates这三
项打勾,回到命令输入终端。通过busybox工具获得了emulator 的
文件并打包,再建立root文件目录,最后android root文件系统
的initial_ram_disk就做好了。
6.修改 linux kernel 源码
下载的kernel文件是不支持smdk6400开发板的,必须加入
smdk6400的配置文件到kernel中,同时修改kconfig和makefile
文件。
修改如下:
1>选择 /arch/arm/mach-s3c2410/ 改为下面内
容,
zreladdr-$(config_plat_s3c24xx) := 0x30008000
params_phys-$(config_plat_s3c24xx) := 0x30000100
zreladdr-$(config_plat_s3c64xx) := 0x50008000
params_phys-$(config_plat_s3c64xx) := 0x50000100
2>从成熟的smdk6400平台文件中拷贝下面文件到kernel目录
/arch/arm/mach-s3c6400 /drivers/serial/s3c6400.c
/drivers/input/touchscreen/s3c-ts.c
/drivers/usb/gadget
3>拷贝/drivers/android/ashmem.c 文件到相应目录下从另外
的android kernel (the android source code for 2.6.23 不包
含此文件)
4>修改相应的kconfig和makefile文件,使最终能编译到加载
的smdk6400文件。
7.配置linux kernel
修改kernel后进行配置,用到第2步的编译工具 $ cd
$ make cross_compile=/bin/arm-none-linux-gnueabi-
arch=armmenuconfig
这时进入kernel配置画面,注意配置 initramfs source file
选项指定到 initial_ram_disk文件。
8.修改 root file system
配置touchscreen使之能正常工作,initial_ram_disk文件下
修改/etc/,加入下面内容
tslib_consoledevice none tslib_fbdevice
/dev/graphics/fb0
tslib_tsdevice /dev/input/ts0 tslib_calibfile
/etc/pointercal
tslib_conffile /etc/ tslib_plugindir
/lib/ts
9. 编译 linux kernel
$ make cross_compile=/bin/arm-none-linux-gnueabi-
arch=armzimage 编译成功,在arch/arm/boot下面是生成的
zimage文件。
10.下载 kernel image
进入windows系统,下载过程在windows系统中完成。
①打开:程序附件通讯超级终端,配置com口,115200,8n1
②连接smdk6400开发板和电脑通过串口线,打开开发板电源,
可以在超级终端中看到输出信息,bootloader启动,按空格键进入
命令输入状态。
③板子上连接usb线到电脑,安装usb驱动程序
④运行程序,配置configuration/options,地址
0x57e00000,确定
⑤在超级终端中输入相应命令,开始下载
$ run bootup (下载bootloader) $ run kernelup (下载
kernel image)
$ run rootup (下载root file system)
⑥ 这里我们输入 $ run kernelup
等待dnw发送文件,dnw 显示
[com1,115200bps][usb:ok][addr:0x57e00000]说明连接成功,选
择usb port>transmit,选取编译成功的zimage文件,开始下载。
下载完成,重启开发板,等待,lcd上出现一些android字符,一
段时间白屏,出现一个左右滚动的红色滚动条,进入主界面,
android移植成功。
4、结束语
本文在简单介绍android操作系统的基础上,详细分析了
android移植到s3c6400开发板的步骤。作为一个开源的、可移植
性良好的操作系统,android的发展会越来越好。
参考文献
[1]叶炳发. android操作系统移植及关键技术研究. [硕士学
位论文]. 暨南大学,2010.
[2]郭秋平. 基于arm系统的linux平台移植研究. [硕士学位
论文]. 杭州:浙江大学,2006.
[3]郭宏志. android应用开发详解[m]. 电子工业出版社,
2010.6.
[4]姚星星,刘卫国. android的架构与应用开发研究[d]. 长沙:
中南大学,2008.
[5]s3c6400/6410移植android内核 android开发网,
.
版权声明:本文标题:基于ARM11Android操作系统移植论文 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1720021086a817482.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论