嵌入式Linux实验汇报.docVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌 入 式 程 序 设 计 实 验 报 告 评 语: 成绩 教 师: 年 月 日 班 级: 学 号: 姓 名: 地 点: EII-506 时 间: 2013年6月 实验一开发环境的搭建与配置 【实验目的】 熟悉嵌入式Linux开发平台。 掌握嵌入式Linux开发平台的开发环境搭建与配置。 了解minicom配置串口通信参数的过程。 了解嵌入式Linux的启动过程。 掌握程序交叉编译运行及调试的一般方法。 掌握网络文件系统NFS的配置方法。 掌握嵌入式系统内核的编译、文件系统的打包及镜像的下载方法。 【实验内容】 连接实验开发板与宿主机。 在虚拟机中的CentOS(宿主机)搭建开发环境。 在宿主机中配置minicom。 分析嵌入式Linux的启动过程。 在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,然后传输到目标机上运行。 在宿主机上编写简单的C语言程序并用交叉编译工具进行编译,用gdbserver进行远程调试。 配置NFS并用NFS进行文件拷贝。 嵌入式系统内核编译与文件系统的打包。 内核文件镜像与文件系统镜像的下载(从宿主机下载到目标机)。 【实验步骤】 连接实验开发板,对虚拟机进行设置 工具链的配置 tftp的安装 进入minicom软件,配置串口通信参数 有关串口通信选项的含义: Filenames and paths:选择需要传输的文件和路径 File transfer protocols:选择传输文件的通信协议 Serial port setup:设置串口通信参数 Save setup as dfl:将设置好的各项参数保存为dfl Save setup as:将设置好的各项参数保存为自定义的文件名 Exit:退出返回到minicom设置好后的终端 Exit from Minicom:从minicom命令中退出返回Linux终端 将光标移到Serial port setup,按回车键会弹出串口通信参数的配置菜单。 实验开发板的启动 嵌入式Linux系统的启动过程分析 启动Bootloader Bootloader是嵌入式系统的引导加载程序,它是系统上电后运行的第一段程序,其作用类似于PC机上的BIOS。在本系统中这段程序的起始地址为0Bootloader在完成初始化RAM、初始化串口、检测处理器类型、设置Linux启动参数后,开始调用Linux内核。本系统Linux内核镜像zImage放在Flash中,Bootloader首先把它拷贝到RAM中,然后跳转到RAM中对zImage进行解压缩。解压缩后启动内核。 加载内核 内核启动后先进行一系列与内核相关的初始化,然后调用第一个用户进程——init进程并等待用户进程的执行。具体的过程如下: 进行与体系结构相关的第一个初始化工作,首先通过检测出来的处理器类型进行处理器内核的初始化,然后进行内存结构的初始化,最后开启MMU,创建内核页表,映射所有的物理内存和IO空间; 创建异常向量表和初始化中断处理函数; 初始化系统核心进程调度器和时钟中断处理机制; 初始化串口控制台,在minicom中看到的系统启动过程中的信息都是通过串口输出的; 创建和初始化系统cache,为各种内存调用机制提供缓存,包括动态内存分配、虚拟文件系统及页缓存; 初始化内存管理,检测内存大小及被内核占用的内存情况; 初始化系统的进程间通信机制(IPC); 创建init进程,结束内核的启动。 执行init进程。 内核被加载后,第一个运行的程序便是/sbin/init,init进程是所有进程的发起者和控制者,它的进程号是1。init进程首先读取/etc/inittab文件,并依据此文件来进行初始化工作(首先进行一系列的硬件初始化,然后通过命令行传递过来的参数挂载根文件系统。最后执行一些其它的进程)。 init配置文件每行的基本格式为“id:runlevel_ignored:action:process”,其中某些部分可以为空。各部分的具体内容如下: id:指定启动进程的控制终端,如果所启动的进程并不是可以交互的shell,应该会有个控制终端(在PC机上该字段表示配置行的惟一标识)。 runlevel_ignored:该字段是忽略掉的,配置inittab时空着它就行了(在PC机上该字段用来配置所启动进程适用的系统运行级别)。 执行/bin/login程序。 有些嵌入式系统在init进程执行完后会执行/bin/login。login程序会提示使用者输入账号及密码,

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档