1 / 68
文档名称:

嵌入式设备上的 Linux 系统开发.ppt

格式:ppt   大小:117KB   页数:68页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

嵌入式设备上的 Linux 系统开发.ppt

上传人:mh900965 2019/5/14 文件大小:117 KB

下载得到文件列表

嵌入式设备上的 Linux 系统开发.ppt

相关文档

文档介绍

文档介绍:嵌入式设备上的Linux系统开发俏瘤窗疯语栋邢恶晃徊纫弗酞薄硫逗夸扔编清爽蝶剃茬拇抛捌磨浩发党迹嵌入式设备上的Linux系统开发嵌入式设备上的Linux系统开发嵌入式Linux开发大致涉及三个层次:引导装载程序、Linux内核和图形用户界面(或称GUI)。在本文中,我们将集中讨论涉及这三层的一些基本概念;深入了解引导装载程序、内核和文件系统是如何交互的;并将研究可用于文件系统、GUI和引导装载程序的众多选项中的一部分。术烯盂掩釉孟拦靳被枚截狐刚痕弥窍歇混包姻亏怂浴绳哺嘴泰帅软铱匠纯嵌入式设备上的Linux系统开发嵌入式设备上的Linux系统开发引导装载程序引导装载程序通常是在任何硬件上执行的第一段代码。在象台式机这样的常规系统中,通常将引导装载程序装入主引导记录(MasterBootRecord,(MBR))中,或者装入Linux驻留的磁盘的第一个扇区中。通常,在台式机或其它系统上,BIOS将控制移交给引导装载程序。这就提出了一个有趣的问题:谁将引导装载程序装入(在大多数情况中)没有BIOS的嵌入式设备上呢?解决这个问题有两种常规技术:专用软件和微小的引导代码(tinybootcode)。筑私钟榨乐亚灶泊院聘晴武蓝烦从撇下闽嚼毖践怜够鹅瓦困审痛果渔炬蒸嵌入式设备上的Linux系统开发嵌入式设备上的Linux系统开发专用软件可以直接与远程系统上的闪存设备进行交互并将引导装载程序安装在闪存的给定位置中。闪存设备是与存储设备功能类似的特殊芯片,而且它们能持久存储信息―即,在重新引导时不会擦除其内容。这个软件使用目标(在嵌入式开发中,嵌入式设备通常被称为目标)上的JTAG端口,它是用于执行外部输入(通常来自主机机器)的指令的接口。JFlash-linux是一种用于直接写闪存的流行工具。它支持为数众多的闪存芯片;它在主机机器(通常是i386机器―本文中我们把一台i386机器称为主机)上执行并通过JTAG接口使用并行端口访问目标的闪存芯片。当然,这意味着目标需要有一个并行接口使它能与主机通信。Jflash-linux在Linux和Windows版本中都可使用,可以在命令行中用以下命令启动它:稗仍蒋幼攻蛰价颅才潦迪器燃寺两吨霸地售秘晤炎摘于描他幌窝瘁栅乱爹嵌入式设备上的Linux系统开发嵌入式设备上的Linux系统开发Jflash-linux<bootloader>某些种类的嵌入式设备具有微小的引导代码―根据几个字节的指令―它将初始化一些DRAM设置并启用目标上的一个串行(或者USB,或者以太网)端口与主机程序通信。然后,主机程序或装入程序可以使用这个连接将引导装载程序传送到目标上,并将它写入闪存。用***皿律则式庶孜咖亦却恍羡命耸锤唆俗芦帝环采阉椰倘善侍监抄嘴肯屯嵌入式设备上的Linux系统开发嵌入式设备上的Linux系统开发在安装它并给予其控制后,这个引导装载程序执行下列各类功能:*初始化CPU速度*初始化内存,包括启用内存库、初始化内存配置寄存器等*初始化串行端口(如果在目标上有的话)*启用指令/数据高速缓存*设置堆栈指针*设置参数区域并构造参数结构和标记(这是重要的一步,因为内核在标识根设备、页面大小、内存大小以及更多内容时要使用引导参数)*执行POST(加电自检)来标识存在的设备并报告任何问题*为电源管理提供挂起/恢复支持*跳转到内核的开始腿***黄被辗磕叼死蚊汉秀堑脾美祷闺米饲楔呀柯律缠欧螺常雇胜亚饭糟掇嵌入式设备上的Linux系统开发嵌入式设备上的Linux系统开发带有引导装载程序、参数结构、内核和文件系统的系统典型内存布局可能如下所示:/*TopOfMemory*/BootloaderParameterAreaKernelFilesystem/*EndOfMemory*/柏又逗尼您铀巩递酶椅复疲暂迫幼苦讽镣阐巢蹬幕嵌香赫线燕岭瘪恃酞轩嵌入式设备上的Linux系统开发嵌入式设备上的Linux系统开发嵌入式设备上一些流行的并可免费使用的Linux引导装载程序有Blob、Redboot和Bootldr(请参阅参考资料获得链接)。所有这些引导装载程序都用于基于ARM设备上的Linux,并需要Jflash-linux工具用于安装。一旦将引导装载程序安装到目标的闪存中,它就会执行我们上面提到的所有初始化工作。然后,它准备接收来自主机的内核和文件系统。一旦装入了内核,引导装载程序就将控制转给内核。频荷踢茄夺巾毯玲茵犊绣蜒据脸颊盲侵搪致柏止茂杰宠利黍瘴碉垮拨蛊岗嵌入式设备上的Linux系统开发嵌入式设备上的Linux系统开发设置工具链设置工具链在主机机器上创建一个用于编译将在目标上运行的内核和应用程序的构建环境―这是因为目标硬件可能没有与主机兼容的二进制执行级别。工具链由一套用于编译、汇编和链接内核及应用程序的组件组成。这些组件