嵌入式系统.doc

上传人:sk****8 文档编号:3558472 上传时间:2019-06-04 格式:DOC 页数:3 大小:38.50KB
下载 相关 举报
嵌入式系统.doc_第1页
第1页 / 共3页
嵌入式系统.doc_第2页
第2页 / 共3页
嵌入式系统.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、谈谈你学习该课程的收获及建议.结合你做过的具体项目说明构建嵌入式系统开发环境、开发团队的方法及具体的开发流程。linux 系统继承了 unix 操作系统结构的清晰特点。系统通过目录系统对文件组织非常有条理,说明 linux 的典型目录结构。安装好的 linux 或从等内河网站下载的 linux,展开后都有一个名为 linux 的目录。即 linuxkernel 目录树,理解解释相关文件和目录的作用。就你所熟悉的某一体系的处理器说明 linux 的启动过程,给详细的流程图及相关代码,结合具体的项目说明嵌入式开发用到的三个映像文件(bootloader,kernel ,filesystem)的作用

2、。结合具体的项目说明 linux 内核的配置系统。收获在本学期的学习过程中,了解到了嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统的重要组成部分。嵌入操作系统具有通用操作系统的基本特点,能够有效管理复杂的系统资源,并把硬件虚拟化。嵌入式系统是当前最热门最有发展前途的 IT 应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源非常有限,并且对成本很敏感,有时对实时响应要求很高。明白了像我们平常常见到的手机、电子字典、游戏机等等都是典型的嵌入式系统。了解到了 android 和 Iphone 的内核是基于 linux 建立起来的系统以及系统的启动过程,同时学

3、会了 linux 系统一些基本的操作命令,如:mkdir(创建目录) 、rmdir (删除目录)、rm (删除文件),了解了在 linux系统的一些典型的目录结构,如: /boot(存放的是启动 Linux 时使用的一些核心文件) 、/bin(存放着使用者最经常使用的基本命令) 、/etc(这个目录用来存放系统管理所需要的配置文件和子目录)等等。总之,在学习嵌入式操作系统这门课中,让我对嵌入式系统特别是 linux 操作系统有了更深的认识。 建议在学习这门课的过程中,从基础讲起,让我对 linux 的认识逐步的加深,即使对 linux 没有基础也可以听懂您所讲的内容。但是,由于本门课的抽象性,

4、再加上平时很少接触,在学习的时候有点难度,在课堂上展示操作的次数太少了(好像就一次),再加上一句,您非常敬业,好像没有缺过我们的课,讲课非常的认真细心。由于没有接触过此类开发项目,所以这里只说一般的开发流程。嵌入式软件的开发流程与通用软件的开发流程大同小异,但开发所使用的设计方法具有嵌入式开发的特点。整个开发流程可分为四个阶段:需求分析阶段、设计阶段、生成代码阶段、固化阶段。在需求分析阶段的主要任务是:(1)对问题的识别和分析。(2)制订规格说明文档。(3)需求评审。系统的设计阶段包括系统设计、任务设计和任务的详细设计。由于嵌入式系统中任务的并发性,嵌入式软件开发中引入了 DARTS。DART

5、S 设计方法:是结构化分析/结构化设计的扩展。它给出划分任务的方法,并提供定义任务间接口的机制。 DARTS 设计方法有三个设计步骤:(1)数据流分析 (2)划分任务 (3)定义任务间的接口。在生成代码阶段工作包括代码编程、交叉编译和链接、交叉调试和测试等。嵌入式系统的应用软件是针对特定的实际专业领域的,基于相应的嵌入式硬件平台,并能完成用户预期任务的计算机软件。嵌入式软件的特点如下:(1)软件要求固态化存储。(2)软件代码要求高质量、高可靠性。(3)系统软件的高实时性是基本要求。(4)多任务实时操作系统成为嵌入式应用软件的必需。总之,嵌入式应用软件高度依赖目标应用的软硬件环境,软件的部分任务

6、功能函数由汇编语言完成,具有高度的不可移植性。为了保证实时性能,使用效率高和速度快的汇编语言是不可避免的。尽可能提高嵌入式应用软件的可移植性方法:(1)尽量用高级语言开发,少用汇编语言。(2)局域化不可移植部分。(3)提高软件的可重用性。linux 系统典型的目录结构通过这学期的学习已经知道,每一个 linux 都有一个内核(vmlinuz) ,在这个内核上添加上可以完成各种特定功能的模块,每个模块就体现在 linux 中各种不同的目录上。当然,各种不同的发行套件,其目录有细小的差别,但主要结构都是一样的。还要将 linux 的功能模块和各种应用程序结合起来,这样,才能使 linux 系统服务

7、。/bin 目录 bin 是二进制(binary)英文缩写。这个目录是对 UNIX 系统习惯的沿袭,存放着使用者最经常使用的命令。例如:cp,ls,cat。/boot:这里存放的是启动 LINUX 时使用的一些核心文件。/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home 用户文件的主目录,用户数据存放在其主目录中。如果我们建立一个用户,用户名是“xx“,那么在/home 目录下就有一个对应的/home/xx 路径,用来存放用户的主目录。/lib:这个目录里存放着系统最基本的动态链接共享库,其作用类似于 Windows里的.dll 文件。几乎所有的应用程序都需要用到这些

8、共享库。/lost+found:这个目录在大多数情况下都是空的。但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下,就象为无家可归的人提供一个临时住所,有点类似于 DOS 下的.chk 文件。/mnt:这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容并不在硬盘上而是在内存里。/lib:这个目录里存放着系统最基本的动态链接共享库,其作用类似于 Windows里的

9、.dll 文件。几乎所有的应用程序都需要用到这些共享库,因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,linux 系统就不能工作了。/root:系统管理员,也叫作超级权限者的用户主目录,如果你是以超级用户的身份登录的,这个就是超级用户的主目录。/usr:这是 linux 系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。/var:这个目录中存放着那些不断在扩充着的东西,为了保持/usr 的相对稳定,那些经常被修改的目录可以放在这个目录下。启动过程Arm 系列处理器是最常见的处理器,因此,本文就以 S3C2410 Arm 处理器为例说明 linux 的启动过程。

10、1、对于 ARM 系列处理器来说,zImage 的入口程序即为arch/arm/boot/compressed/head.s2、解压内核3、启动非压缩的内核 Image4、Linux 非压缩内核的入口位于文件/arch/arm/kernel/head-armv.S 中的stext 段。该段的基地址就是压缩内核解压后的跳转地址5、检测处理器内核类型6、检测处理器类型7、建立页表, 调用结束后 0x300000000x30400000 物理地址将映射到0xC00000000xC0400000 虚拟地址处。 b SYMBOL_NAME(start_kernel)8、start_kernel()是所有

11、 Linux 平台进入系统内核初始化后的入口函数。9、进行与体系结构相关的第一个初始化, 首先通过检测出来的处理器类型进行处理器内核的初始化。10、根据系统定义的 meminfo 结构进行内存结构的初始化。11、开启 MMU,创建内核页表,映射所有的物理内存和 IO 空间。12、以上初始化工作结束后,start_kernel()函数会调用 rest_init()函数来进行最后的初始化,包括创建系统的第一个进程。init 进程首先进行一系列的硬件初始化,然后通过命令行传递过来的参数挂载根文件系统。13、当所有的初始化结束后,cpu_idle()函数会被调用来使系统处于闲置(idle)状态并等待用户程序的执行14、至此,整个 Linux 内核启动完毕。Bootloader 是嵌入式系统的引导加载程序,它是系统上电后运行的第一段程序,其作用类似于 PC 机上的 BIOS。在完成对系统的初始化任务之后,它会将非易失性存储器(通常是 Flash 或 DOC 等)中的 Linux 内核拷贝到 RAM 中去,然后跳转到内核的第一条指令处继续执行,从而启动 Linux 内核。由此可见,bootloader 和 Linux 内核有着密不可分的联系,要想清楚的了解 Linux 内核的启动过程,我们必须先得认识 bootloader 的执行过程,这样才能对嵌入式系统的整个启过程有清晰的掌握。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。