您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 药学 > Android系统移植
基于ARM11的Android系统移植演讲人:张亚飞班级:电子信息工程01班指导老师:邹连英(副教授)要点:Android系统框架BootloaderLinux内核与驱动文件系统系统移植1Android系统整体框架介绍应用应用框架库Linux内核主屏浏览器联系人电话...Activity管理器内容提供器位置管理器通知管理器包管理资源管理器电话管理器视图系统窗口管理器FreeTypeLibcLibWebCore媒体框架SQLiteOpenGL|ESSSLSGL外观管理器Android运行时核心库Dalvik虚拟机音频驱动摄像头驱动Bindre(IPC)驱动显示驱动闪存驱动键盘驱动电源管理WiFi驱动Java应用程序Java应用程序框架C/C++本地库和Android运行时环境Linux内核与驱动2Bootloader简介2.1PC和嵌入式系统的引导加载程序PC引导加载程序OSLoaderBootloader嵌入式系统引导加载程序BIOS2.3Bootloader启动流程分析Bootloader所处的层次一个嵌入式Linux系统从软件的角度看通常可以分为四个层次引导加载程序Linux内核文件系统用户应用程序固态存储设备进行分区后来装载Bootloader、内核启动参数、内核映像和根文件系统映像的空间分配结构示意图。KernelRootfilesystemBootparametersBootloader2020/1/292.4配置编译支持NAND启动的U-boot这里编译适合于128M内存开发板的U-boot(根据开发板不同的内存DDRRAM容量,需使用不同的U-boot配置选项)。进入U-boot源代码目录,执行:#cd/opt/FriendlyARM/mini6410/Linux/u-boot-mini6410#makemini6410_nand_config-ram128#make将会在当前目录配置并编译生成支持Nand启动的U-boot.bin文件。3Android驱动3.1Android驱动使用的Linux驱动输入设备驱动Framebuffer,显示设备驱动V4L2,摄像头驱动框架音频驱动MTD驱动(MemoryTechnologyDevice,内存技术设备),也称为Flash,闪存。MMC驱动,SD,SDIO,SPI接口的设备都使用MMC子系统作为驱动框架WIFI驱动3.2Android专用驱动AndroidBinderAndroid电源管理(PM)低内存管理器(LowMemoryKiller)匿名共享内存(ashmem)AndroidPMEM(Physical)AndroidLoggerAndroidAlarmUSBGadget驱动(一个基于标准LinuxUSBgadget驱动框架的设备驱动)AndroidSwitch(Android新引进的驱动,用于侦测某些开关量,比如说耳塞、USB的插入,移除)AndroidRamConsole(Android允许将调试日志信息写入一个被称为RAMConsole的设备里,它是一个基于RAM的Buffer。)Androidtimeddevice(提供了对设备进行定时控制功能,如LED设备。)3.3编译Linux内核这里编译适于N43型号LCD的内核,执行命令:#cd/opt/FriendlyARM/mini6410/android/Linux-2.6.36-android#cpconfig_android.config#make最后会在arch/arm/boot目录下生成zImage,将它重新命名为zImage_n43,以便记忆。4文件系统它通过一套统一的接口函数对不同的文件进行操作根文件系统是在内核启动结束后挂接上的,文件系统是指在一个物理设备上的任何文件组织和目录,程序、库、系统文件和用户文件都驻留其中。所以我们必须先使用mktools系列工具将它制作成单个镜像文件,才能下载烧写到开发板上。统常见的文件系统主要有ext2、ext3、UBIFS和yaffs2等。这里选择制作UBIFS格式的文件系统镜像。使用mkubimage-mcl2工具,可以把目标文件系统目录制作成UBIFS格式的镜像文件,当它被烧写入NandFlash中启动时,整个根目录会以UBIFS文件系统格式存在,在命令行输入:#cd/opt/FriendlyARM/mini6410/android/Android-2.3#mkubimage-mcl2rootfs_dirrootfs_android-mcl2.ubi稍后,将会在当前目录下生成rootfs_android-mcl2.ubi文件。5.1烧写Nand启动的Android系统完成引导程序的SD卡启动后,需要连接一些连接线,如串口线、usb下载线、网线和电源。5系统移植通过超级终端或DNW工具我们可以看见系统烧写的详细过程,系统烧写完成后,超级终端工具显示U-boot界面如下图所示。1)安装Bootloader擦除操作完成后,打开DNW程序,确保接上USB线,这时根据菜单选择功能号[v]准备开始下载U-boot.bin,在DNW软件中点击“USBPort-Transmit/Restore”选项,并选择打开文件u-boot.bin的路径,开始下载。如下图所示。2)安装Android内核在引导界面的菜单中选择功能号[k],准备开始下载Android内核镜像(zImage),通过DNW软件确定下载路径后,开始下载内核文件zImage_n43。如下图所示。3)安装目标文件系统在主功能菜单中选择功能号[u],准备开始下载UBIFS根文件系统镜像文件,通过DNW软件确定需要下载的文件路径后,开始下载内核文件rootfs_android-mcl2.ubi。如下图所示。烧写成功后,将开发板SD卡启动方式设置成NandFlash模式下启动,Android系统便可以在Tiny6410开发板上运行。
本文标题:Android系统移植
链接地址:https://www.777doc.com/doc-3375711 .html