第一部分    嵌入式系统概论
1.什么叫嵌入式系统?
以应用为中心,以计算机技术为基础的,并且软件硬件是可剪裁的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标的严格要求的专用计算机系统。它可以实现对其他设备的控制、监视或管理等功能。
2.嵌入式系统有哪几个组成部分?
通常由嵌入式处理机、嵌入式外围设备、嵌入式操作系统和嵌入式应用软件等几大部分组成。
3.嵌入式系统有什么特点?
与通用的计算机系统相比较,有如下特点:
1.面向特定应用,一般都有实时要求;
2.集先进的计算机技术、半导体工艺、电子技术和通信网络技术于一体的并且在不断创新的知识集成系统。
3.嵌入式系统是和具体应用对象有机地结合在一起,因而其升级换代也是和具体的产品同步进行的。
4.嵌入式系统的软硬件设计着重于高效率性。在最大限度满足应用需求的前提下,降低成本是必需要考虑的主要问题。
5.嵌入式系统软件一般都固化在存储器芯片中。
4.现有的嵌入式处理器有哪几种类型?
ARM系列产品、Motorola(DragonBall)系列、TI系列、ATMEL系列、ADMTEK系列、
  CIRRUS LOGIC 系列、 INTEL系列、NETSILICON系列、 SAMSUNG系列
5.嵌入式外围设备的主要功能是什么?
主要是指以完成存储、通信 、保护 、调试 、显示等辅助功能的其他部件。
6.嵌入式外围设备可分成哪几类?
存储器类型:RAM 、SRAM 、DRAM 、ROM 、EPROM ,EEPROM 、FLASH
接口类型:RS-232 、IRDA(红外线数据输入输出)SPI(串行外设接口)、I2C(现场总线)、USB 、Ethernet 、EPP。
显示类型:CRT 、LCD及各种不同类型的触摸屏等外围显示设备。
7.什么是嵌入式操作系统?它与台式计算机操作系统有什么不同之处?
嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前在嵌入式领域广泛使用的操作系统有:嵌入式LinuxWindows EmbeddedVxWorks等,以及应用在智能手机和平板电脑的AndroidiOS等。
8.什么叫实时操作系统(RTOS)?
实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。
9.试举出三种以上的典型嵌入式操作系统,并简要阐述其有何特点?
目前在嵌入式领域广泛使用的操作系统有:嵌入式LinuxWindows EmbeddedVxWorks等,以及应用在智能手机和平板电脑的AndroidiOS等。
μC/ OS-II: 当一个系统选用μC/ OS2II 时,最多只需要2 MB 的NOR Flash ,2MB 的SDRAM 或最多8 MB 的SDRAM ,因此整个系统的硬件成本是最低的,能满足很多项目的需求。如果需要支持WiFi 等更多的协议软件时,那就非常麻烦了,且μC/ OS2II 要收费。
资源丰富、具有完美继承性的WinCE:由于WinCE 与Windows一脉相承,且使用同样的开发工具,那么对于熟练掌握Windows 编程的软件开发人员来说也就非常方便了,所以很多客户还是选择WinCE。如果项目中还需要用到GUI或具有更加复杂的功能,那么WinCE 可以说是最佳的选择,这是WinCE 最明显的优势之一。硬件成本高。
高贵、实时、稳定的VxWorks:VxWorks 最大的应用价值是实时性和稳定性
第二部分  Linux 简介
1.如何定义Linux?
Linux常用来指Linux内核、Linux系统或Linux发行套件等术语。严格的说,Linux指的是Linux Torvalds维护的(及通过主要和镜像网站发布的)内核。
从Linux所代表的三个涵义开始:一个内核、一个系统、一个发行套件。由于Linux并未发行过嵌入式版本的内核,所以“内核”应从清单中移除。一个嵌入式Linux系统只是代表它是一个基于Linux内核的嵌入式系统,这并不意味着该内核使用了任何特定的链接库或用户工具。一个嵌入式Linux发行套件可能包括:用来开发嵌入式Linux系统的平台、各种为了在嵌入式系统中使用而裁剪过的应用软件,或是这二者。
2.试列出三种Linux的发行版本?
Slackware Linux      Debian GNU/Linux      RedHatLinux
3.嵌入式Linux指的什么含义?
嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。
嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。
4.什么是实时Linux?
实时Linux是指1996年在Victor Yodaiken管理下,由Michael Barabanov发表的RTLinux计划。该计划的目标是在Linux环境下提供确定的响应时间。现在更多的计划是在Linux元下提供这种形式或其他形式的实施相应功能。它主要是用来描述系统或其中的组件具有固定的响应时间。
5. Linux的内核(kernel)有哪几个部分组成?主要完成什么任务?
MMU:内存管理单元,完成地址映射(应用虚拟地址方式)
嵌入式系统开发是什么
VFS:虚拟文件管理系统,提供了统一管理计算机资源的途径。使统一规范计算机资源的使用格式成为可能,方便传输
SCHED:进程调用单元。支持多任务运行。利用软件中断的特点,将CPU 的时间线划分给各个任务,完成多任务管理
IPC:进程间通信单元。实现多个不同程序在运行时可以进行数据交换、通信。
NET:网络。网络不做为通用设备,以特定工作单元存在。负责计算机系统与其他计算机相互通信的接口。
6.试简要说明Linux系统启动过程?
第一阶段:BIOS启动引导阶段;                       
1.在该过程中实现硬件的初始化以及查启动介质;                       
2.从MBR中装载启动引导管理器(GRUB)并运行该启动引导管理 
第二阶段:GRUB启动引导阶段;                       
1.装载stage1                       
2.装载stage1.5                       
3.装载stage2                       
4.读取/f文件并显示启动菜单;                       
5.装载所选的kernel和initrd文件到内存中 
第三阶段:内核阶段:                       
1.运行内核启动参数;                       
2.解压initrd文件并挂载initd文件系统,装载必须的驱动;           
3.挂载根文件系统 
第四阶段:Sys V init初始化阶段:                       
1.启动/sbin/init程序;                       
2.运行rc.sysinit脚本,设置系统环境,启动swap分区,检查和挂载文件系统;       
3.读取/etc/inittab文件,运行在/et/rc.d/rc<#>.d中定义的不同运行级别的服务              初始化脚本;                       
4.打开字符终端1-6号控制台/打开图形显示管理的7号控制台
7.试列出选择Linux作为嵌入式操作系统的几个理由?
1、可应用于多种硬件平台。Linux已经被移植到多种硬件平台,这对于经费,时间受限制
的研究与开发项目是很有吸引力的。
2.Linux是一个和Unix相似、以内核为基础的、具有完全的内存访问控制,支持大量硬件(包括X86,Alpha、ARM和Motorola等现有的大部分芯片)等特性的一种通用操作系统。其程序源码全部公开,任何人可以修改并在GUN通用公共许可证(GNU General Public License)下发行。这样,开发人员可以对操作系统进行定制,适应其特殊需要。
3、 Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux上。Linux还提供了强大的网络功能,有多种可选择窗口管理器(X Windows)。其强大的语言编译器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。
答:(1)程度代码是可以获取的,可高度高;
(2)    有完整的源码,软件丰富并且免费;
(3)    得到众多硬件生产家的广泛支持;包括cpu、计算机外围设备
(4)    完善的通信协议、软件标准和文件管理机制;
(5)    提供完全免费且优秀的开发工具;
(6)    广泛的社支持
(7)    无需购买licence,是免费的;
(8)    不依赖特定厂商、供应商;
(9)    成本相对低廉。
8.常用的嵌入式Linux操作系统有哪几种版本?各有什么特点?
1. uC/OS—II
uC/OS—II是赫赫有名的开源嵌入式OS(Operating System),但如果用于商业目的,需要授权。内核简单清晰,是学习嵌入式 实时操作系统极好的入门材料。近来增加了uC/GUI图形界面,uC/FS文件系统,uC/TCP网络功能,这些都是要收费的。进行简单的开发还是不错的选择。 在8位的51系列单片机用的很多,16位、32位也支持。
2. FreeDOS
FreeDOS,是开源的兼容DOS。自从微软抛弃DOS,一心一意谋Windows,开源社区就开发了FreeDOS。DOS的几个缺点:单进程,网络功能弱。用于DOS免费的网络协议栈已经有了。要做真正的嵌入式,当慢腾腾又臃肿 的AWORD生产的BIOS伤你的心时,你需要开发一个嵌入式的BIOS,主要用X86汇编。台湾很多公司喜欢用兼容DOS,毕竟DOS时代的程序员还在。FreeDOS是X86系列嵌入式OS的首选,特别是80186兼容的16位,80386兼容的32位。
3. eCOS
eCOS是真正的GPL实时嵌入式OS,大概比uC/OS-II大一倍,是因为Linux的实时性不好开发的,很有前途,只是中国学eCOS的很少。
4. Linux
Linux如此有名,但因为实时性问题,只能用在要求不高的嵌入式系统中。 不过有几家大公司比如风河,在开发高实时性的Linux。Linux的前途越来越好,我是说服务器和嵌入式,不是说桌面。Linux是32位,不是16位,ARM9用的多。
5. uCLinux
uCLinux,32位ARM7TDMI的首选。主要用于没有MMU的CPU,简单的说是没有虚拟内存。

6. RTLinux
RTLinux,Linux的实时扩展,商业目的需要收费,主要是实时API作为驱动模块加载到内核,架空Linux的底层,通过实时FIFO进程间通讯
7. RTAI
RTAI,类似于RTLinux,真正GPL,我看前途比RTLinux好,结构清晰,有实时串口API,实时TCP等。
8. FreeRTOS
FreeRTOS这是一个开源的项目,属于轻量级内核,API比较全,支持AVR、ARM、MSP430等处理器,同时有移植好的uIP。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。