嵌入式实验3.docx
《嵌入式实验3.docx》由会员分享,可在线阅读,更多相关《嵌入式实验3.docx(10页珍藏版)》请在冰豆网上搜索。
嵌入式实验3
成绩
辽宁工程技术大学上机实验报告
课程名称
嵌入式系统基础实验
实验题目
Linux内核编译实验
院系
软件学院
专业
软件工程
班级
软件09-8
姓名
赵蕊
学号
0920010828
实验日期
2012-05-09
实验
目的
1、了解Linux内核源代码的目录结构及各目录的相关内容
2、了解Linux内核各配置选项内容和作用
3、掌握Linux内核配置文件config.in的作用
4、掌握Linux内核的编译过程
5、掌握将新增内核代码加入到Linux内核结构中的方法
实验
准备
预习实验指导书,明确实验目的和要求,按要求编写好源程序,以便在计算机上进行调试与修改程序。
了解实验所用的软硬件环境,熟悉操作方法和过程。
实验
进度
本次共有1个练习,完成1个。
实验
内容
1.操作系统分类
(1)电脑操作系统:
Windows98、Windows2000、WindowsXP、Windows7、WindowsVista
(2)手机操作系统:
Symbian,iPhone,安卓(Android),windowsphone,黑莓(blackberry),小米(MIUI)
(3)嵌入式系统:
Linux、WinCE、VxWorks
2.操作系统启动过程
(1)加载BIOS
当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。
这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。
在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。
在BIOS将系统的控制权交给硬盘第一个扇区之后,就开始由Linux来控制系统了。
(2)读取MBR
硬盘上第0磁道第一个扇区被称为MBR,也就是MasterBootRecord,即主引导记录,它的大小是512字节,可里面却存放了预启动信息、分区表信息。
可分为两部分:
第一部分为引导(PRE-BOOT)区,占了446个字节;第二部分为分区表(PARTITIONPABLE),共有66个字节,记录硬盘的分区信息。
预引导区的作用之一是找到标记为活动(ACTIVE)的分区,并将活动分区的引导区读入内存。
系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。
其实被复制到物理内存的内容就是BootLoader,而具体到你的电脑,那就是lilo或者grub了。
(3)BootLoader
BootLoader就是在操作系统内核运行之前运行的一段小程序。
通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。
通常,BootLoade:
是严重地依赖于硬件而实现的,不同体系结构的系统存在着不同的BootLoader。
(4)加载内核
根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。
此时,屏幕一般会输出“UncompressingLinux”的提示。
当解压缩内核完成后,屏幕输出“OK,bootingthekernel”。
系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。
至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。
start_kenrel()定义在init/main.c中,它就类似于一般可执行程序中的main()函数,系统在此之前所做的仅仅是一些能让内核程序最低限度执行的初始化操作,真正的内核初始化过程是从这里才开始。
函数start_kerenl()将会调用一系列的初始化函数,用来完成内核本身的各方面设置,目的是最终建立起基本完整的Linux核心环境。
(5)用户层init依据inittab文件来设定运行等级
内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。
3.需要掌握的操作:
(1)引导文件的烧写
(2)共享文件夹的建立与通信端口的设置
(3)网络配置
(4)内核系统文件的下载与烧写
实验
分析
日
1.检测芯片
2.烧写引导文件
3.在超级终端上配置端口
4.虚拟机的设置
5.创建共享文件夹
6.将引导文件与内核文件添加到共享文件夹中
7.将文件复制到tftpboot文件夹中
8.查看bootptap文件
9.配置通信端口
10.网络配置
11.内核文件下载与烧写
实验
总结
本次实验使我学会了引导文件的烧写、共享文件夹的建立与通信端口的设置、网络配置、内核系统文件的下载与烧写,还使我了解了炒作系统的分类和操作系统启动的流程,使我对嵌入式操作系统有了更深一步的认识。
通过配置端口和烧写引导文件和内核文件,最终在我们小组的开发板上启动了操作系统,使开发板的触摸屏幕亮了起来,并能进行各项功能的操作。
在老师和同学的帮助下本次实验进行的非常顺利,在感受实验乐趣的同时也使我收获了很多知识。
教师
评语