版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一部分嵌入式系统概论1.什么叫嵌入式系统?以应用为中心,以计算机技术为基础的,并且软件硬件是可剪裁的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。它可以实现对其他设备的控制、监视或管理等功能。2.嵌入式系统有哪几个组成部分?通常由嵌入式处理机、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成。3.嵌入式系统有什么特点?与通用的计算机系统相比较,有如下特点:1.面向特定应用,一般都有实时要求;2.集先进的计算机技术、半导体工艺、电子技术和通信网络技术于一体的并且在不断创新的知识集成系统。3.嵌入式系统是和具体应用对象有机地结合在一起,因而其升级换代也是和具体的产品同步进行的。4.嵌入式系统的软硬件设计着重于高效率性。在最大限度满足应用需求的前提下,降低成本是必需要考虑的主要问题。5.嵌入式系统软件一般都固化在存储器芯片中。4.现有的嵌入式处理器有哪几种类型?ARM系列产品、Motorola(DragonBall)系列、TI系列、ATMEL系列、ADMTEK系列、CIRRUSLOGIC系列、INTEL系列、NETSILICON系列、SAMSUNG系列5.嵌入式外围设备的主要功能是什么?主要是指以完成存储、通信、保护、调试、显示等辅助功能的其他部件。6.嵌入式外围设备可分成哪几类?存储器类型:RAM、SRAM、DRAM、ROM、EPROM,EEPROM、FLASH接口类型:RS-232、IRDA(红外线数据输入输出)SPI(串行外设接口)、I2C(现场总线)、USB、Ethernet、EPP。显示类型:CRT、LCD及各种不同类型的触摸屏等外围显示设备。7.什么是嵌入式操作系统?它与台式计算机操作系统有什么不同之处?嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前在嵌入式领域广泛使用的操作系统有:嵌入式Linux、WindowsEmbedded、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等。8.什么叫实时操作系统(RTOS)?实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。9.试举出三种以上的典型嵌入式操作系统,并简要阐述其有何特点?目前在嵌入式领域广泛使用的操作系统有:嵌入式Linux、WindowsEmbedded、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等。μC/OS-II:当一个系统选用μC/OS2II时,最多只需要2MB的NORFlash,2MB的SDRAM或最多8MB的SDRAM,因此整个系统的硬件成本是最低的,能满足很多项目的需求。如果需要支持WiFi等更多的协议软件时,那就非常麻烦了,且μC/OS2II要收费。资源丰富、具有完美继承性的WinCE:由于WinCE与Windows一脉相承,且使用同样的开发工具,那么对于熟练掌握Windows编程的软件开发人员来说也就非常方便了,所以很多客户还是选择WinCE。如果项目中还需要用到GUI或具有更加复杂的功能,那么WinCE可以说是最佳的选择,这是WinCE最明显的优势之一。硬件成本高。高贵、实时、稳定的VxWorks:VxWorks最大的应用价值是实时性和稳定性第二部分Linux简介1.如何定义Linux?Linux常用来指Linux内核、Linux系统或Linux发行套件等术语。严格的说,Linux指的是LinuxTorvalds维护的(及通过主要和镜像网站发布的)内核。从Linux所代表的三个涵义开始:一个内核、一个系统、一个发行套件。由于Linux并未发行过嵌入式版本的内核,所以“内核”应从清单中移除。一个嵌入式Linux系统只是代表它是一个基于Linux内核的嵌入式系统,这并不意味着该内核使用了任何特定的链接库或用户工具。一个嵌入式Linux发行套件可能包括:用来开发嵌入式Linux系统的平台、各种为了在嵌入式系统中使用而裁剪过的应用软件,或是这二者。2.试列出三种Linux的发行版本?SlackwareLinuxDebianGNU/LinuxRedHatLinux3.嵌入式Linux指的什么含义?嵌入式Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。嵌入式linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。4.什么是实时Linux?实时Linux是指1996年在VictorYodaiken管理下,由MichaelBarabanov发表的RTLinux计划。该计划的目标是在Linux环境下提供确定的响应时间。现在更多的计划是在Linux元下提供这种形式或其他形式的实施相应功能。它主要是用来描述系统或其中的组件具有固定的响应时间。5.Linux的内核(kernel)有哪几个部分组成?主要完成什么任务?MMU:内存管理单元,完成地址映射(应用虚拟地址方式)VFS:虚拟文件管理系统,提供了统一管理计算机资源的途径。使统一规范计算机资源的使用格式成为可能,方便传输SCHED:进程调用单元。支持多任务运行。利用软件中断的特点,将CPU的时间线划分给各个任务,完成多任务管理IPC:进程间通信单元。实现多个不同程序在运行时可以进行数据交换、通信。NET:网络。网络不做为通用设备,以特定工作单元存在。负责计算机系统与其他计算机相互通信的接口。的提高一定有好处,所以建议即使已经在嵌入式行业中工作之后也应该多补充一些相关的知识。许多在学校没有学过数据结构的同学往往认为这部分非常枯燥、难学。而实际上如果你能明白研究计算机存储和数据组织方式的意义,就一定能够充分体会到数据结构的价值和魅力。
二、操作系统工作原理,这部分往往是非计算机专业的同学在学校时没有接触过的。而由于嵌入式软件设计相关的多任务环境、模块间的同步与通信协同、驱动设计等往往都需要有对操作系统工作机制的了解和掌握作为基础,因此建议没有系统学习过的同学,找一本相关的操作系统工作原理书籍认真看一下。
三、基本的硬件基础,由于嵌入式Linux开发往往是ARM+Linux路线,所以为了能够在后续培训过程中很好地掌握主流嵌入式微处理器的结构与原理(例如:ARM9),就需要对硬件工作原理有初步的了解和掌握,建议看一下诸如计算机组成原理、体系结构等相关的专业书籍。第三部分构建嵌入式Linux系统开发平台1.嵌入式Linux系统开发平台有几种形式?请分别给出示意图?2.为什么要在主机(host)上建立交叉开发环境?1、一般的嵌入式系统资源有限,所以,在嵌入式系统上建立开发环境来开发应用程序比较困难,甚至是不可能的;
2、一般,嵌入式操作系统是需要经过剪裁的,所以某些功能上有限制,如果在嵌入式系统上建立开发环境来开发应用程序保证不了良好的软件兼容性;
3、在宿主机上开发嵌入式系统程序,可以利用现有较成熟的商业系统及开发环境,获得很好的软件支持和稳定性,也便于软件在不同平台之间的移植。另外,可以不受嵌入式系统资源的限制。
这其中最主要的是第一条。当然,总的来说,以PC机作为宿主机开发嵌入式系统给我们带来了极大的方便,同时,现有的软件也大都是在PC机平台下开发的,所以建立交叉开发环境既是必要也是可能的。4.在主机上为什么需要装载GNUC(gcc)?gcc的作用是什么?GNU提供的关于C语言编译器,多版本GCC是一个用于linux系统下编程的编译器,原名GMUC语言编译器(GNUCCompiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objective-C、Java、Ada及Go与其他语言。5.在主机上建立交叉开发环境为什么需要装载二进制工具软件包(binutils)?交叉编译就是跨架构编译,编译出来的程序不能在本机执行(当然有例外情况)。所以这个时候就需要交叉编译工具链。
工具链光有GCC是不行的,还需要一个binutils的二进制连接器,以及一个最基本的目标架构的C库,C库还需要一个目标架构的内核源代码才能完全工作(当然不是必须的,但编译有的时候需要)
又因为GCC、binutils不能实现单软件同时多架构输出,所以需要单独另装,又加上C库和内核头文件需要目标架构的东西而不能用本机本地架构的数据。
所以一个交叉编译工具链就是针对目标架构准备的单独安装单独使用的binutils+gcc+glibc+kernel-header的集合了。6.在选择LINUX内核时需要考虑哪些问题?7.在目标机(Target)中采用不同的CPU的结构对交叉开发平台中的哪些工具软件有影响?8.为什么要重新配置LINUX内核?针对嵌入式系统,内核需要知道运行在怎么样的平台上,它要管理的硬件单元,这就需要我们重新组装内核来达成上述目标。因为完整的Linux的内核比较庞大,不适合嵌入式系统这样的对速度、容量要求苛刻的系统上面运行,因此我们需要去掉那些与目标系统无关的、只编译系统需要的功能的代码。9.为什么要重新编译LINUX内核?Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译Linux内核。
通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是Linux使用者的必要操作内容。
为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主要有下面四个考虑:
(1)自己定制编译的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Photoshop基础测试题(含详细答案)
- 2026学年江西省景德镇市一年级语文期末自测思维拓展题附答案详细答案和解析
- 基站蓄电池安装工安全操作规程
- 人防地下室防水及抗渗混凝土施工方案
- 肿瘤脊髓压迫症康复时机选择共识
- 老年衰弱高血压降压方案动态调整规范共识
- PA性格测试+服务意识面试题库(含详细答案解析)
- 性早熟体重长期管控实施方案共识
- 自动化设备点检安全操作规程
- 注册安全工程师考试金属冶炼安全生产专业实务(中级)试卷与参考答案
- 广东省深圳市红岭教育集团2025-2026学年九年级上学期语文期中试卷(含答案)
- 路面工程施工课件 【学习模块四】学习单元四 再生沥青路面施工
- 2025年云南省事业单位统考《综合应用能力(A类)》真题及答案解析
- 2026年重庆市高考物理真题卷(含答案与解析)
- 2026年四川省高考思想政治试卷(含答案)
- 2026 ATA《孕前、妊娠及产后甲状腺疾病指南》备孕阶段核心解读
- 新教科版科学五年级上册2.3《制作独轮车》课件
- AI在稀土材料科学与工程中的应用
- 2026年G3锅炉水处理证考试题库及答案
- 2026年上海中考英语考纲词汇表
- 安全使用家电课件
评论
0/150
提交评论