北京邮电大学嵌入式操作系统实验报告.docx_第1页
北京邮电大学嵌入式操作系统实验报告.docx_第2页
北京邮电大学嵌入式操作系统实验报告.docx_第3页
北京邮电大学嵌入式操作系统实验报告.docx_第4页
北京邮电大学嵌入式操作系统实验报告.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学嵌入式操作系统实验报告学院:信息与通信工程学院班级: XXXX 学号: XXX 姓名: XX 指导老师: XX 日期: 2017年12月14日 目录嵌入式操作系统实验报告1一、实验步骤31.建立Android开发环境32.建立交叉编译环境63.内核源码编译64.内核运行95.内核裁剪9二、实验中遇到的问题及解决方案11三、实验总结11一、 实验步骤1. 建立 Android 开发环境:新建文件夹,命名为学号后四位:0305,在0305文件夹中再新建文件夹命名为“嵌入式软件实验”,最后在“嵌入式软件实验”文件夹下拷贝三个压缩包JDK、Android SDK 和交叉编译器。在终端切换至嵌入式实验文件目录下查询,查看到所有文件已存在。解压 JDK:tar zxvf jdk-7u15-linux-x64.tar.gz后,执行ls命令,看到实验文件夹下面生成文件夹 jdk1.7.0_15:设置环境变量,编辑文件/etc/profile,执行 vi /etc/profile打开 profile:打开 profile 文件后,在最下面补充:export JAVA_HOME=/home/lq/0305/嵌入式软件实验/jdk1.7.0_15export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin 执行 source /etc/profile使对/etc/profile 的修改立即生效执行 java -version 命令,出现 java 版本信息为 1.7.0_15,此时Java 开发环境建立好了。解压 Android SDK,看见目录下产生一个文件夹 android-sdk-linux编辑文件/etc/profile,在环境变量PATH后面增加android的环境变量执行android命令 弹出android SDK manager窗口为了获取更新列表,设置Android SDK Manager -Settings,修改配置:安装一个Android 2.1版本的 SDK Platform,再安装 Android SDK Tools、Android SDK Platform-tools和Android SDK Build-tools:新建一个虚拟机,创建的虚拟机名称为 2.1: 启动新建的虚拟机:2. 建立交叉编译环境:执行 tar jxvf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2在嵌入式软件实验目录下生成一个arm-2014.05 文件夹再次执行 vi /etc/profile,在 PATH 中添加/home/lq/0305/嵌入式软件实验/arm-2014.05/bin/ (注意用冒号隔开),保存退出后执行 source /etc/profile。3. 内核源码编译:在实验目录下新建 Kernel 文件夹,将 goldfish-android-goldfish-2.6.29.tar.gz拷贝到 Kernel 中:切换至Kernel 文件夹,然后执行 tar zxvf goldfish-android-goldfish-2.6.29.tar.gz 解压源码压缩包:执行vi Makefile,找到 ARCH 和 CROSS_COMPILE 的定义:修改为:再修改 kernel 目录下的 timeconst.pl 文件:将文件末尾的 defined()去掉:*更新!*因为实验文件的目录中含有中文命名,为了保证不影响内核编译,*此处将“嵌入式软件实验”更改为“Research”*编译内核,执行如下命令:出现上图所示的问题,上网查阅后发现该问题的原因是64位系统运行32位的程序需要32位运行库,于是安装上对应的运行库: 再次编译内核,发现内核编译成功,问题解决: 在 0305/Research/Kernel/arch/arm/boot 文件夹下生成一个 zImage 镜像文件:在文件属性中查看镜像大小为1624048字节:4. 内核运行:在终端执行 emulator64-arm -avd 2.1 -kernel ./arch/arm/boot/zImage指定虚拟机从编译的内核启动:启动后在Settings 的 About Phone 中可以看到内核版本 Kernel version 为 2.6.29,在虚拟机编译内核时的用户名为 rootlq-virtual-machine。启动后在Settings 的 About Phone 中可以看到内核版本 Kernel version 为 2.6.29,在虚拟机编译内核时的用户名为 rootlq-virtual-machine。5. 内核裁剪:(选择了内核中Networking options部分一些关于Ipv6的部分进行注释裁剪。) 再次 make goldfish_defconfig Make编译内核:新生成的 zImage 文件覆盖了原先的文件,由于裁剪的内容不多,所以编译后内核大小变化不大,但还是有所减小。(1624048字节 =1615788字节)再次在终端执行 emulator64-arm -avd 2.1 -kernel ./arch/arm/boot/zImage指定虚拟机从编译的内核启动:裁剪后的内核可以在虚拟机中启动。二、 实验中遇到的问题及解决方案a.问题一:在获取安卓更新资源时,发现无论怎么修改Options始终无法更新资源。解决措施:通过从网上搜索原因并且在虚拟机中询查错误时,偶然发现虚拟机并不能联网,于是更改了虚拟机的网络适配器的设置,将其改为NAT 模式,问题得到解决。b.问题二:在编译内核时始终不能成功,执行make指令时总是会出错。解决措施:由于此问题在嵌入式的微信讨论群中已经有人提及,所以按照已做的同学提供的教程,即:64位系统运行32位的程序需要32位运行库,安装上对应的32位的运行库后问题得到解决。三、 实验总结本次实验于我而言,虽然关于Android相关的开发并不是我特别喜欢的方向,以后也不打算在这方面深入研究。但是在做整个大作业的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论