北京邮电大学嵌入式操作系统实验报告.docx

上传人:s****u 文档编号:12807891 上传时间:2020-05-25 格式:DOCX 页数:11 大小:2.23MB
返回 下载 相关 举报
北京邮电大学嵌入式操作系统实验报告.docx_第1页
第1页 / 共11页
北京邮电大学嵌入式操作系统实验报告.docx_第2页
第2页 / 共11页
北京邮电大学嵌入式操作系统实验报告.docx_第3页
第3页 / 共11页
点击查看更多>>
资源描述
北京邮电大学嵌入式操作系统实验报告学院:信息与通信工程学院班级: 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相关的开发并不是我特别喜欢的方向,以后也不打算在这方面深入研究。但是在做整个大作业的时候,我发现Android的方面涉及的其实很浅,主要是让我们熟悉了Linux终端的基本操作指令。虽然之前有一些Linux下开发的经验,懂得基本操作指令的使用,但是此次实验能够让我更加熟悉Linux环境下的操作,并且附带了解了Android的内核编译与裁剪,这些都是很宝贵的经验!
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!