第一篇:嵌入式课程考题总结
第一章
1、填空题
(1)ARM嵌入式系统数据宽度为32位。(2)ARM7处理器采用3级流水线。
(3)请列出3种常见的嵌入式系统处理器:S3C4510B、AT91RM9200、S3C4410X。(4)请列出3种常见的嵌入式操作系统:WinCE、Vxworks、uClinux。(5)请列出3个ARM7处理器的应用领域:网络、控制、消费电子。
2、简答题
(1)嵌入式系统与通用计算机有何区别?
答:通用计算机系统采用标准化、模块化的设计,其技术要求是高速、海量的信息处理,技术发展方向是处理速度、总线宽度、存储容量的无限提升。而嵌入式系统则常采用针对性较强的专用化设计,技术要求是满足具体应用,技术发展方向是在保证应用系统的技术要求和可靠性的前提下,尽可能减小成本、体积和功耗。
(2)ARM处理器的特点是什么?它的应用领域有哪些?
答:ARM处理器采用32位的数据总线,可以运行32位的ARM指令,也可以运行16位的Thumb指令,可以处理32位、16位、8位的数据。应用领域有空也控制、无线通信、消费电子、成像与安全等。
(3)4位/8位/16位/单片机是否属于嵌入式系统?
答:4位/8位/16位/单片机也具有嵌入式处理器的特征,也是属于嵌入式系统的。(4)单片机与32位ARM嵌入式系统有何异同?
答:单片机一般是4位、8位、16位的数据总线,一般内置存储器,不运行操作系统,侧重低成本,主要应用于工业控制等领域;而ARM嵌入式系统是32位的数据总线,运算速度快,外接大容量存储器,能运行操作系统以适合多种应用。(5)简述嵌入式软件系统的组成?
答:嵌入式系统的软件系统一般由引导程序BootLoader、操作系统和应用程序构成。(6)嵌入式操作系统的作用是什么?
答:嵌入式操作系统的作用主要有管理存储器分配、中断处理、任务间通信和定时器相应,以及提供多任务处理等。使用操作系统,能大大地提高嵌入式系统硬件工作效率,并为应用软件开发提供便利。
(7)简述嵌入式系统的开发流程
答:嵌入式系统开发流程一般可分为四个阶段:需求分析阶段,硬件开发阶段,软件开发阶段和程序固化阶段。
第二章
1、填空题
(1)RAM7TDMI处理器有7种运行模式,他们分别是:用户模式(usr)、快速中断模式(fiq)、外部中断模式(irq)、管理模式(svc)、数据访问终止模式(abt)、系统模式(sys)、和未定义指令终止模式(und)。(2)ARM7TDMI处理器工作在ARM状态下,其指令长度为32位,工作在Thumb状态下,指令长度为16位。
(3)ARM7TDMI处理器支持9种寻址方式,使用立即数寻址时,操作数直接在指令中给出。(4)ARM7TDMI内核有31个通用寄存器,R13被用来保存不同模式下的堆栈指针。(5)汇编语言中,LDM是批量数据加载指令,其后缀IA表示每次传送后地址加1。(6)嵌入式系统的指令共有62条。
(7)CPRS的T位反映了处理器的运行状态。
(8)在复位后,ARM处理器出于用户模式,ARM状态。
2、简答题
(1)ARM存储器格式有哪些?并指出其特点
答:ARM存储器有大端格式和小端格式,大端格式中,字数据的高位字节存储在低地址中,而字数据的低字节折存放在高地址中,小端格式则相反。
(2)字(word)、半字(half-word)、字节(byte)的概念,ARM与8086/8088有什么异同?
答:字(word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位;半字(half-word):在RAM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中的字长度一致;字节(byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。
(3)在ARM汇编语言程序里,什么是伪指令?它有什么作用?
答:在ARM汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常陈这些特殊指令助记符为伪指令。伪指令在源程序中的作用是为完成汇编程序做各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成了。
(4)CISC与RISC分别是什么?说明他们各有什么特点
答:CISC,即复杂指令集。在复杂指令集中,各种指令的使用频率相差悬殊,大概有20%的指令被反复使用,而又80%左右的指令很少使用,其使用量约占整个程序的20%。RISC,即精简指令集,RISC指令集与CISC指令集相比,它要求指令规整、对称和简单。RISC指令集可以使处理器流水线高效地执行,是编译器更易于生成优化代码。
(5)ARM微处理器的指令集可以分为几大类?分别是什么?
答:ARM微处理器的指令集可以分为6大类,分别是跳转指令,数据处理指令,程序状态寄存器(PSR)处理指令,加载/存储指令,协处理器指令和一擦汗那个产生指令。(6)请简述ARM7TDMI内核的架构。
答:ARM7TDMI内核主要由32位ALU,指令解码器与控制逻辑,指令流水线,读写寄存器,移位器,乘法器,地址递增器,地址寄存器等构成。
第三章
1、填空题
(1)S3C4510B处理器采用ARM内核是ARM7TDMI。(2)S3C4510B处理器有4个外部中断引脚。(3)S3C4510B处理器可使用18个通用I/O口。(4)S3C4510B处理器使用LVTTL电平。
(5)请列出3个S3C4510B处理器的片内外设:UART、IIC、、。(6)S3C4510B处理器有4个外部I/O组。
(7)S3C4510B处理器编制空间的大小为64MB。
(8)S3C4510B芯片的数据总线有32位,地址总线有22位。(9)复位电路中两级非门的作用是波形整形和去抖动。(10)实验板晶振电路工作正常时,输出的时钟频率为10MHz。
(11)处理器工作正常时,SDCLK引脚输出的时钟频率为50MHz。
2、简答题
(1)简述硬件开发流流程。
答:硬件开发流程主要包括硬件方案拟定与选型,原理图设计,PCB版图设计,电路板加工,元件装焊和硬件调试。(2)如何提高系统的可维护性?
答:标准化和模块化设计能提高系统的可维护性。(3)影响系统可靠性的因素有哪些?
答:主要有环境温度和湿度,粉尘,电磁干扰,机械磨损。冲击等。(4)列出集中对嵌入式系统功耗要求较高的应用场合。
答:手机,数码相机,MP3等
(5)带锁开关和不带锁开关在实验板中的作用是什么?
答:带锁开关主要用于程序流程控制,不带锁开关主要用于中断输入等。
(6)硬件电路通常的调试顺序是什么?
答:调试硬件电路一般应按照如下顺序:电源电路,晶振电路和复位电路,处理器及JATG接口电路,SDRAM存储器,FLASH存储器,其他电路。(7)简述测试SDRAM电路时,输入obey命令的作用。
答: 在测试SDRAM电路时,通常使用obey命令批量配置寄存器,配置的目的是将SDRAM映射到0x40 0000~0x140 0000,Flash映射到0x0~0x20 0000。
第四章
1、填空题(1)ARM7TDMI芯片上共有5根引脚用于JTAG调试,他们分别是TDO、TDI、TCK、TMS、nTRST。
(2)在最小系统电路中,S3C4510B及部分外围器件需3.3V电源,其他部件器件需5V电源。
(3)ROM是只读存储器,各字母代表的含义是:READ-ONLY-MEMORY,在嵌入式最小系统中,一般采用Flash作为ROM存储器。
(4)在ARM芯片上电或复位后,可以被访问的两个组分别是Flash组0和特殊功能寄存器组。
(5)通过对数据总线宽度寄存器EXTDBWTH寄存器的配置,使系统可以访问不同数据宽度的外部ROM、SRAM、Flash存储器。
(6)容量为2MB的Flash存储器映射到起始地址为0x0处,其结束地址应该为0x20 0000。(7)存储器映射时,Flash控制寄存器fROMCON0赋值为0x0200 0060时,其首地址被映射到0x0。
2、简答题
(1)什么是初始化程序?BootLoader初始化程序有什么作用?
答:初始化程序是系统加电后运行的第一段软件代码。在嵌入式系统中,通常整个系统的加载启动任务就完全由BootLoader来完成。简单来说,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软、硬件环境带到一个合适的状态,以便为调试应用程序或者操作系统内核准备好正确的环境。
(2)S3C4510B的引脚主要分为哪几类?各自的作用分别是什么?
答:S3C4510B(也包括其他的微处理器)的引脚主要分为3类,即:输入(I)、输出(O)、输入/输出(I/O)。
输出类型的引脚——主要用于S3C4510B对外设的控制或通信,由S3C4510B主动发出,这些引脚的连接不会对S3C4510B自身的运行有太大的影响。
输入/输出类型的引脚——主要是S3C4510B与外设的双向数据传输通道。
某些输入类型的引脚——其电平信号的设置是S3C4510B本身正常工作的前提,在系统设计时必须小心处理。
(3)什么叫做重映射?S3C4510B为什么要进行重映射?
答:在ROM从0x0用几句指令引导系统之后,把SDRAM映射到0x0就是重映射。重映射的作用:当ARM处理器上电或者Reset后,处理器从0x0取指。因此,必须保证系统上电时,0x0处有指令可以执行。所以,上电的时候,0x0地址处必定是ROM式者Flash(NOR)。但是,为了加快启动的速度,方便更改异常向量表,加快中断响应速度,往往把异常向量表映射到更快、更宽(32bit/16bit)的SDRAM中。但是异常向量表的开始地址是由ARM架构决定的,必须位于0x0处,因此,需要SDRAM映射到0x0。(4)如何在开发工具ADS中对程序进行硬件调试?
答:硬件调试需要使用调试代理工具,打开ARM7.exe,最小化让其后台运行,在调试的过程中不要关闭该程序。进入AXD软件,选择Options->Configure Target,在弹出的菜单中选择Remote_A,即可进行硬件调试。
(5)简述S3C4510B处理器的编址空间组成。
答:S3C4510B采用统一编址的方式,将系统的片外存储器、片内存储器、特殊功能寄存器和外部的I/O设备,都映射到64MB的地址空间,同时将地址空间分为6个ROM存储器组、4个DRAM存储器组、4个外部I/O组、内部SRAM和特殊功能寄存器组。可以通过配置包含基指针(Base Pointer)和尾指针(End Pointer)的特殊功能寄存器,设定每个存储器组的大小和位置。用户可利用基指针和尾指针设置连续的存储器映射。
(6)简述S3C4510B处理器中进行存储器映射的过程。
答:主要使用了以下5个寄存器进行存储器映射:
系统配置寄存器SYSCFG:决定特殊功能寄存器组的起始地址以及片内SDRAM地址的度为16位。
ROMCON0:设置ROM组0地址空间。
DRAMCON0:设置SDRAM组0的地址空间。
REFEXTCON:控制DRAM的刷新模式、刷新时序及刷新间隔。
(7)简述无操作系统下单任务应用程序开发的流程。
答:无操作系统下单任务应用程序开发的流程可分为两个阶段。在调试阶段,将应用程序编译为.axf文件,下载到SDRAM运行,在此过程中可对应用程序使用单步、断点等高度手段进行应用程序调试,调试完成后进入第二个阶段,将BootLoadeder引导程序添加到工程中,编译工程生成.bin文件,烧写到Flash存储器中,完成应用程序开发。(8)DRAM/SDRAM控制寄存器DRAMCON0中每位的定义如下:
要将SDRAM基指针设置为0x120 0000 0000,尾指针为0x20 0000 0000时,该寄存器的10~29位应设置的值为多少(用二进制表示)?
答:10~19位为基地址,应设置为:00 0000 0000
20~29位为尾地址,应设置为:01 0000 0000
第五章
1、填空题
(1)和linux相比。uClinux系统专门针对没有内存管理单元MMU的CPU。(2)请列举出3种uClinx支持的文件系统格式:NFS、Ext2、FAT16/32。
(3)编译内核时,命令make dep的作用是:命令make up读取配置过程生成的配置文件,创建对应于配置的依赖关系。
(4)Makefile文件的作用在于:Makefile文件描述了整个工程的编译、连接等规则。(5)内核根目录下的vendor文件夹用于存放:有关各种处理器的文件。
2、简单题
(1)什么是交叉编译环境?对于所使用的目标硬件S3C4510B而言,为什么要使用交叉编译环境?
答:交叉编译就是在一个平台上生成可以在另一个平台上上执行的代码,对于所使用的目标硬件S3C4510B而言,之所以使用交叉编译是因为在该硬件上无法安装所需的编译器,只好借助于宿主机,在宿主机上对即将运行在目标机上的应用程序进行编译,生成在目标机上可以运行的代码。
(2)什么是uClinux操作系统?他和Linux有什么区别?
答:uClinux从Linux2.0/2.4/2.6内核派生而来,沿袭了主流Linux的绝大部分特性。uClinux 为了支持没有MMU的处理器而对标准Linux做出了修正。它保留了操作系统的所有特性,为硬件平台更好地运行各种程序提供了保证。(3)简述uClinux内核文件结构
答:内核文件主要由以下几个部分组成
/bin 存放用户最常用的基本程序
/config 存放uClinux配置文件
/Document 存放uClinux的HOWTO文档和FAQ文档
/freeswan 存放用于Ipsec方面的应用程序 /images 存放用于存放编译后生成的镜像文件 /glibc 存放库文件
/linux-2.0.x 存放linux-2.0版本的内核源文件 /linux-2.4.x 存放linux-2.4版本的内核源文件 /tools 存放工具说明文档和其他杂项 /uClibs 存放uClinux的kuwenj /user 存放用于的各种应用程序
/vendors 存放有关各种处理器的文件
(4)如何向内核添加应用程序?
答:向内核添加应用程序主要由以下几个步骤构成:编写源程序源代码,添加应用程序至内核,编译内核,下载内核至flash存储器。其中添加应用程序至内核又包括了:添加程序文件到内核源代码的目录中,为程序文件建立make文件,修改内核make文件,修改内核配置见config.in,修改内核rc文件设置为自启动。(5)简述make命令和Makefile文件的关系。答:Makefile 文件用来描述源程序之间的相互关系同时自己维护编译工作。Make是一个命令工具,它用来解释makefile中定义的指令或规则。
第六章
1、填空题
(1)在Linux系统中,共有3类设备文件,分别是:块设备、字符设备、网络设备。(2)设备号分别是主设备号和次设备号。
(3)函数copy to user用于将内核空间的数据复制到用户空间。
(4)驱动程序和针对硬件和普通程序的两点区别是:驱动程序的概念是与操作系统联系的和驱动程序编写时,需要向上提供统一的接口。
2、简答题
(1)简述驱动程序的作用。
答:对设备初始和释放;把数据从内核传到硬件和从硬件读取数据;读取应用程序传送给设备文件的数据和回送应用程序请求的数据;检测和处理设备出现的错误。
(2)简述向内核添加驱动程序的步骤。
答:向内核添加驱动程序主要分为以下4步:
①编写好驱动程序后,把它复制到内核uClinux-dist/linux-2.4.x/drivers/char 目录下,该目录用于存放字符设备的驱动程序。
②为需用驱动的程序添加选项,以便在编写前进行配置,修改该目录下的config.in文件。
③修改该目录下的Makefile 文件,添加代码,这一步向CONFIG_LEDDRV追加定义leddrv.0目标文件。④修改 Vendor/Samsung/4510B目录下的Makefile文件。(3)设备文件的作用是什么? 答:应用程序需要对某些设备进行操作时,是通过该设备的设备文件来调用驱动程序的。Linux有一个重要特点就是将所有的设备当做文件进行处理,这一类特殊文件叫设备文件。这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件进行操作。
第二篇:嵌入式课程论文
研究生课程论文
论文题目: 无线传感网络中的定位算法综述
学 院: 信息科学技术学院 专 业: 仪器仪表工程
班 级: 81430 学 号: 8143035 学生姓名:
沈天颖
二○一五 年 一 月 十 日
无线传感器网络(WSN)是一个多学科的研究领域,具有很广泛的应用前景,其中,WSN的定位是非常重要的研究方向。本课程论主要对WSN定位研究进行了归纳和总结。将每种定位算法按照需不需要测距分为两大类,而且在具体算法中讨论了其以下几个特征,包括:需要/不需要锚节点、集中式/分布式、固定/移动等。
质心定位算法
DV-Hop算法
MDS-MAP算法
分簇算法
改进的无线传感器网络节点定位算法
第三篇:嵌入式操作系统课程报告
华北水利水电大学
North China University of Water Resources and Electric Power
嵌入式操作系统课程报告
题目 嵌入式系统课程综和论述
学 院 物理与电子学院
专 业 电子信息工程
姓 名 李天泽
学 号 201816516
组 员
完成时间 2020.12.22
目 录
一、嵌入式系统的介绍
(1)、嵌入式系统的概念……………………………………3
(2)、嵌入式系统的特点……………………………………4
二、嵌入式系统的发展和应用……………………………5
三、总结和心得……………………………………………7
参考文献……………………………………………7
附录…………………………………………………8
摘要:
如今,嵌入式系统经过半个多实际的发展和革新,在各个产业都可以看见它的身影。在电子消费领域,它已经广泛应用于手机、VCD、数字电视和路由器等常见家用电器和电子产品,或许在你的家里有着几十甚至几百个微型嵌入式计算机无时无刻地不在为你服务。
在工业控制方面,一辆豪华轿车的控制系统就包含着至少50个嵌入式微处理器,它们分布于火花塞、传动轴和安全气囊等等。而一架先进的飞机,一台人造卫星就可能包含着几十套嵌入式系统和上百台微型嵌入式计算机,没有这些装载,飞机和卫星的控制系统就不能有效地工作,它们的导航系统就不能满足严格的要求。
在通信领域也有着数不胜数的嵌入式系统的应用,由于带宽网络的发展,交换机、路由器和各种传输设备等都逐渐需要更多的嵌入式系统来满足它们互联的需求,而这些基于32位的嵌入式系统品种多样,绝大多数都价格低廉,能够为企业和家庭的网络选择提供更加廉价而多样的方案。
一、嵌入式系统的介绍
1、嵌入式系统的概念:
上世纪的40年代人类社会诞生了当时最伟大的发明之一——计算机。1946年宾夕法尼亚大学研制出了世界上第一台计算机“ENIAC”,吹响了人类向信息时代进发的号角。如今半个多世纪过去了,总体来看,计算机已经经历了两个大的发展阶段:大型计算机阶段和个人中小型计算机阶段。而今后,计算机技术将迈入下一个充满机遇和挑战的新阶段—— “无处不在的计算机”阶段,即“后PC发展阶段”。“无处不在的计算机”是指在数以千计乃至万计的计算机之间彼此相互关联,其与使用者的比例高达100%,这些计算机中包括有传统的通用式计算机和嵌入式计算机,而后者占绝大多数,可以达到95%的比例。
施乐公司研究中心的主任Mark Weiser 认为:“以长远的发展来看,PC和计算机工作站将逐渐衰落,因为计算机将会变得无处不在,它们会在墙上,在手腕上,在口袋里等等,计算机将会像手写纸一样,随用随取,伸手可得。”
目前全世界范围的计算机研究者都在逐步形成一种共识,那就是在计算机将来的发展中,它必然不会成为像科幻电影中的那种会背叛人类,伤害人类的机械怪物,恰恰相反它们将变得小巧玲珑而且无处不在。它们会出现在任何你能看的见、听得到、摸得着的地方,功能强大而且随处可用,这就是“无处不在的计算机”。
嵌入式计算机系统就是所谓的“看不见的计算机”,一般情况下它只是运行平台,并不能作为独立的开发平台来使用。而且它不能够被用户编程,对用户的I/O接口是专用的。所以不严谨地说:任意包含可编程计算机的设备而且这种设备不是作为通用计算机而设计的都可以称作嵌入式系统。
时至今日嵌入式系统已经逐渐渗透到人们的日常生活中,但因为其不同的应用形式和相异的名称,目前对嵌入式系统还没有一个统一的定义。但一般认为,它有以下概念:
(1)嵌入式系统的中心是应用功能,基础是计算机技术,其软件和硬件可以裁剪,对应用系统的功能、可靠性、成本、体积大小和功率损耗都有十分严格的要求和指标。
(2)国际电气和电子工程师协会认为嵌入式系统的定义是“Device used to control, monitor, or assist the operation of equipment , machinery or plants.”
(3)嵌入式系统是计算机技术、半导体技术、电子技术等与各个行业的具体应用相结合后的产物,是一个技术集中、资源集中、应用高度分散、技术不断革新的集成系统。
2、嵌入式系统的特点:
1)嵌入式系统通常都是多样的有特定应用功能的软硬件综合体,用于特定的任务,其硬件和软件设计都是高效而简洁的。其中嵌入式软件的应用程序和操作程序是一体化的,不同于传统的通用计算机操作系统和应用程序有着分明的界限。
2)嵌入式系统能够受到多个处理器和体系结构的支持,不同于通用的计算机只能够使用少数的处理器类型和体系结构。目前已经生产有上千种嵌人式微处理器和几十种微处理器的体系结构,其中比较主流常见的有ARM,MIPS, PowerPC,X86和SuperH等。
4)嵌入式系统有实时性和可靠性的特点,其主要表现在:目前绝大多数实时操作系统都是嵌人式系统;嵌人式系统都有实时性的要求,其软件通常都是固化或直接加载到内存中运行的,启动十分快速
另外,嵌人式系统通常都有处错能力和自动复位的功能,目前在绝大多数嵌式系统中都包含着用于保证系统运行可靠性的软硬件处理机制,比如看门狗定时器和内存保护重启机制等。
5)嵌入式系统通常都使用可以适应多种类型处理器、可裁剪量轻、实时性和可靠性高以及可以固化的。同嵌入式微处理器,嵌入式的操作系统也是多种多样的,不仅可以支持多种处理器,还可以进行裁剪量轻来匹配应用的功能,而且规模较小,能够节省资源等等。
二、嵌入式系统的发展和应用
第一代电子计算机体积大,耗电快,而且可靠性和实时性都无法满足嵌入式计算的要求。到了20世纪60年代,由晶体管、磁芯存储制造的第二代计算机开始用于航海航空等领域,它的CPU能够处理从电子系统传来的信号,具有了数据总线的一些基本特性。而与此同时,嵌人式计算机也逐步应用于工业和制造等方面。
至60年代末,采用集成电路的第三代计算机问世,1965年发射Gemini3号是人们第一次使用机载数字计算机。而后的阿波罗探测飞船则使用了嵌人式计算机系统来提供和保障人机的交互功能来用于引导飞行。1963年DEC公司推广了第一台商用小型机,它具有嵌入式系统的结构,具备单总线结构、高速寄存器和实时性、可靠性强的中断系统以及交叉存取功能,标志着嵌入式系统的兴起。
1971 年,英特尔公司成功推出了世界上第一片微处理器Intel 4004。它的体积小、质量轻、价格实惠、使用方便,在当时销量很好,Intel公司将它进一步改进后推出了4位的微处理器4040和8位的8008。
1973-1977 年短短四年之间全球许多厂家推出了各种各样的8位微处理器,其中比较流行的有英特尔公司的8080/ 8085系列,摩托罗拉公司的6800/6802系列,齐洛格公司的Z80和罗克韦尔公司的6502等。这些微处理器的广泛应用为嵌入式系统开辟了广阔的市场,促成了嵌入式系统的快速发展。计算机厂商开始以插件的形式为用户提供所需的OEM产品,并构成符合用户要求的微型控制计算机,嵌入到系统设备中。
嵌入式系统的大发展还要归功于20世纪80年代软件技术的进步。最初的嵌入式计算机的软件都是十分专用的,其程序也只能用汇编语言来编写,因此嵌入式系统的开发周期过长,效率太低,不利于广泛地推广和应用。得益于微电子技术的进步,嵌入式计算机的软件开发不再局限于汇编语言,可以使用C或PL等高级语言,是编程更加多样和简洁化,加快了嵌入式系统的开发效率。时间步入20世纪90年代,当时对分布控制、柔性制造和数字通信电等技术有着巨大需求,而这种需求也刺激着嵌人式系统的软硬技术的革新和发展,促进了嵌入式系统的应用扩大化。
如今,嵌入式系统经过半个多实际的发展和革新,在各个产业都可以看见它的身影。在电子消费领域,它已经广泛应用于手机、VCD、数字电视和路由器等常见家用电器和电子产品,或许在你的家里有着几十甚至几百个微型嵌入式计算机无时无刻地不在为你服务。
在工业控制方面,一辆豪华轿车的控制系统就包含着至少50个嵌入式微处理器,它们分布于火花塞、传动轴和安全气囊等等。而一架先进的飞机,一台人造卫星就可能包含着几十套嵌入式系统和上百台微型嵌入式计算机,没有这些装载,飞机和卫星的控制系统就不能有效地工作,它们的导航系统就不能满足严格的要求。
在通信领域也有着数不胜数的嵌入式系统的应用,由于带宽网络的发展,交换机、路由器和各种传输设备等都逐渐需要更多的嵌入式系统来满足它们互联的需求,而这些基于32位的嵌入式系统品种多样,绝大多数都价格低廉,能够为企业和家庭的网络选择提供更加廉价而多样的方案。
时至今日,嵌入式系统的应用已经从微至著,广泛分布。但它还在不断地更新发展,其构成的计算机也会变得更小巧,更灵敏,更高效,更智能,相信在未来的某一天,会如Mark Weiser所说的那样:“它们会在墙上,在手腕上,在口袋里,就像手写纸一样,随用随取,伸手可得。”
三、总结和心得
嵌入式系统作为一门计算机开发的学科,有着不同于传统通用计算机系统的特点和概念,具有独特长处。同时它的应用遍布于电子消费、通信工程、工业控制和军事国防等多种领域,其发展前景是非常广阔的,是一门十分值得深入学习和研究的学科。
通过一个学期的学习,我了解了许多嵌入式实时操作系统的应用知识,比如“任务的管理和调度”、“同步、互斥与通信”以及“中断和时间管理”等全新的理论知识,同时也通过多次的实验操作理解了对嵌入式系统软硬件工作方式和应用。所谓温故而知新,通过撰写课程报告,我对嵌入式系统的各个方面有了新的了解,大大提高了对这门学科的兴趣,在今后的学习中,我也会更加深入地去学习这门课程的相关内容,丰富自己的知识领域,开阔眼界,掌握更多的技能,为自己将来的发展做好铺垫。
参考文献:
甄鹏------《嵌入式实时Linux的移植及应用技术的研究》2008,(02)
郭军------《基于Petri网的嵌入式系统高层级设计方法与技术研究》2007,(04)
吴敏------《基于嵌入式的家庭网关控制平台的研究与设计》2007,(05)
刘青云;焦铬-------《嵌入式Web Service模型实现及应用》2019,(01)
田婧---------《嵌入式μCOSⅡ在DSP中的移植与应用研究》2007,(04)
附录
附查重报告:
第四篇:嵌入式软件工程师课程
课程体系
在实训项目经理的带领下,通过完成多个企业级项目(基于ARM的串行数据无线传输系统、基于ARM的无线数据采集系统、基于ARM的GPRS应用系统)的分析、设计和开发,掌握开发企业级软件项目过程所需的设计规范、开发流程、质量控制及项目管理。阶课程主题与段
实训内容
第Unix开发环一境、开发规范阶培训 段 Unix系统原
理、Unix开发环境、Unix常用命令 Oracle数据库 Oracle 10数据库原理、SQL语句、数据库表及索引 PL/SQL语法,存储过程,存储函数,触发器等 C++核心 数据类型,控制语句,自定义数据类型,模块化程序设计,指针 类与对象(封装性)类的扩展,继承,虚函数,多态 数据结构和算法、标准库 链表、栈、队列、二叉树、算法 IO、异常、模版(STL)OOAD 面向对象分析
实训目标
熟练Unix下的C/C++开发环境,掌握常用的命令
熟练掌握Oracle 10G下的SQL开发,精通PL/SQL等
熟练掌握C基础语法,函数的编写和调用 掌握面向对象编程的三个特性,并熟练应用OO思想
掌握各种数据结构的实现,并了解常用的算法
掌握多种设计模式
实训项目
Unix下的定时任务
基于Oracle,完成计费系统的数据整合,包括表的创建,数据的录入以及整合等
完成银行项目的类结构设计,深入理解面向对象编程
双赂链表数据结构实现
完成银行项目的UML设计,并能使用
和设计的方法 了解软件研发的整个过程,能够熟练使用UML设计模式进行优化
UML图 设计模式 项目实训 银行项目
第Shell编程 二Shell编程语阶法
段 Unix环境编
程和开发工具 用户信息,文件操作,目录操作,时间处理
make,makefile,gdb
进程、多线程 创建进程 子进程 信号 消息队列车 共享内存 信号量 线程的创建、线程的状态 多线程编程 线程间的通信 线程同步 线程池编程 网络编程和数据库编程 网络基础 TCP/IP协议 基于TCP和UDP的网络编程 Pro★C数据编程 项目实训 计费系统采集和整合模块 第ARM系统体
进行分析和设计
完成银行前台业务,包括基本的存取款和转账等
掌握Shell编程技术
掌握和环境编程相关的函数,并能熟练使用编程工具
掌握进程和多线程编程
掌握网络编程,并能编写支持多客户端的服务器软件
熟练掌握Oracle MySQL等数据库的连接和数据访问
掌握计费系统后台业务流程,综合使用所学知识点,完成计费数据采集和整合银行项目提升和整合编写Shell脚本完成FTP功能
计费系统数据采集
计费系统C/S分布式架构的设计,掌握线程池的应用
计费系统集中式数据模块,该模块完成数据集中化并录入到ORACLE中
Billing系统提升和整合三系结构 阶ARM处理器段 体系结构
ARM编程环境
指令系统以及寻址方式 调试 ARM系统编程
过程调用的标准
汇编程序以用C程序之间相互
调用的技术 异常中断技术 ARM体系中C语言程序设计的基本知识 FLASH操作 嵌入式Linux构建 嵌入式Linux开发环境构建 BootLoader引导程序 Linux内核代码移植 交叉编译、内核调试 嵌入式Linux内核开发 内核源代码架构 内存管理 进程管理、中断管理 内核同步 信号、调度、进程间通讯等 文件系统
对嵌入式系统了解,掌握ARM的编程模型
掌握汇编程序与C程序之间的互相调用,精通ARM体系中C程序的基本知识 掌握FLASH操作
掌握BootLoader引导程序 熟悉交叉编译和内核调试
掌握进程编程、进程间的通讯 精通内存管理 熟悉文件系统
驱动程序开发环境
驱动程序语法基础
BootLoader引导程序
驱动程序理论准备
嵌入式Linux驱动程序开发 Linux设备驱动程序概述 字符设备驱动程序开发 串口、SPL、LLC A/D转换、定时器 Linux驱动程序开发高级 A/D驱动程序编写 矩阵键盘驱动程序编写 块设备驱动程序开发 网卡驱动程序开发 USB设备驱动程序开发 项目实训 基于ARM开发板的Linux设备驱动程序研发 第企业实训 四基于ARM的阶串行数据无线段 传输系统,主
要有以下三个方面的运用:点对点控制;点对多点控制;中继传输
掌握字符设备驱动程序开发 熟悉串口、SPL
驱动程序总体分析和设计
熟练掌握矩阵键盘驱动程序和网络设备驱动程序开发
网络设备驱动程序提升
综合运用所学知识,特别是ARM,编写驱动程序
驱动程序研发
参与完成实际项目,积累软件开发经验,经历完整的软件开发过程:需求、软件分析设计、编码、调试,交付。
串行数据无线传输系统
长沙牛耳教育地址:长沙市五一广场文运街省电教馆二楼(口腔医院左侧)| 牛耳教育求学热线:
0731-82221222转816 | 牛耳教育网站地图
培养方案
基于安博集团大量的数据调研,该课程专注于培养基于嵌入式Linux平台,以嵌入式系统的软件开发为主,培养学生在嵌入式领域进行软件开发、软/硬件测试、系统维护等方面的综合技能,旨在为社会提供嵌入式软件开发、产品测试、技术支持等方面具备优秀的职业素养的实用型、技能型人才。精通ARM嵌入式系统的驱动程序开发、操作系统移植、熟悉基于ARM的串行数据无线传输系统、基于ARM的无线数据采集系统等面向不同行业的专用嵌入式应用系统的开发。通过该实训课程,实训学员能够积累1-2年的软件开发经验。
课程简介
嵌入式软件工程师培训课程,由安博教育集团联合多家知名厂商,并由安博教育实施专家团队和精英教师团队发起,共同开发完成。
通过该课程的学习,学员熟练掌握Linux平台下的嵌入式软件开发技术,并通过项目实战积累工作经验,进而获得高薪、有广阔发展空间的工作机会
就业方向
能够胜任软件公司中的嵌入式工程师、C/C++软件工程师、数据库工程师等相关职位。
安博牛耳嵌入式软件工程师培训课程,由安博牛耳教育集团联合多家知名嵌入式厂商,共同开发完成。通过嵌入式软件工程师课程的学习,学员熟练掌握Linux平台下的嵌入式软件开发技术,并通过嵌入式项目实战积累工作经验,进而获得高薪、有广阔发展空间的嵌入式软件工程师工作机会
嵌入式软件工程师课程专注于培养基于嵌入式Linux平台,以嵌入式系统的软件开发为主,培养学生在嵌入式领域进行软件开发、软/硬件测试等技能,旨在为社会提供嵌入式软件开发、嵌入式产品测试、嵌入式技术支持等方面具备优秀的职业素养的实用型、技能型人才。精通ARM嵌入式系统的驱动程序开发、嵌入式操作系统移植、熟悉基于ARM的串行数据无线传输系统等面向不同行业的专用嵌入式应用系统的开发。通过嵌入式软件工程师实训课程,实训学员能够积累1-2年嵌入式软件软件开发经验。
第五篇:嵌入式系统 课程感想
《嵌入式系统设计》课程感想 班级:电气99姓名:王正杰学号:09095018 虽然上完了整门课,但是还是对嵌入式和嵌入式系统等最基本的概念不是很了解。于是自己动手查阅了一些资料,其中IEEE(国际电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”(Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。国内比较认可的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、对可靠性、成本、体积、功耗有严格要求的专用计算机系统。
“嵌入式”反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。而且,嵌入的系统中可以共存多个嵌入式系统。
一个简单的嵌入式系统一般包含以下几部分:嵌入式微处理器外围硬件设备、嵌入式操作系统、特定的应用程序。可见,其实嵌入式系统就是含有微处理器和硬件接口的一个根据应用可裁剪的非标准计算机系统。
嵌入式系统的发展历史:
嵌入式系统的出现最初是基于单片机的。
70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能:更容易使用、更快、更便宜。
80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入
式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了。
目前,嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包
括工业自动化、国防、运输和航天领域。例如:神州飞船和长征火箭中肯定有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车中也有多达几十个嵌入式系统。在日常生活中,人们使用各种嵌入式系统,但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑、电饭煲„)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中都有嵌入式系统的身影。
嵌入式系统的特点:
专用性:嵌入式系统面向用户、面向产品、面向应用,它必须与具体应用相结合才会具有生命力、才更具有优势。也正是这个原因,必须结合实际系统需求进行合理的裁减。
嵌入性:也就是说系统和被控制的对象是紧密连接的,一般不需要人为干预,从这点上讲,也就对嵌入式系统的环境适应性、稳定性、可靠性等提出了一些要求,在进行软件和硬件设计时必须考虑这些要求。
智能性:1.嵌入式系统需要有一个中央处理器单元(CPU),来实现对对象的智能控制。
2.嵌入式系统首先是计算机系统,其次是专用的计算机系统,这种系统有别于通用的个人电脑(PC),最后由于其专用的特点决定了其软硬件必须能够进行定制,必须能够进行裁减。
3.单片机也是属于嵌入式系统的范畴。但是由于历史的原因,单片机和嵌入式系统被许多人区分开来对待,嵌入式系统更多地被理解为使用ARM等32位嵌入式微处理器的计算机系统。4.单片机系统一般采用单任务程序或简单的多任务内核,如uC/OS-II操作系统,一般应用于一些小型应用系统中;而ARM嵌入式系统还能很轻松的运行Linux、Windows CE、VxWorks等复杂的操作系统,比较适合于设计大型应用系统。
嵌入式系统开发的分工:
1.芯片制造商:负责制造包括CPU、网卡、RAM、及Flash等芯片的厂商。
2.设备制造商:负责制造硬件开发板和产品板。3.操作系统提供者:负责提供嵌入式操作系统。4.软件开发商:负责在操作系统之上开发具有独
立功能的应用程序。
5.系统集成商:负责向最终用户提供产品解决方
案。
嵌入式开发的一般方法:
嵌入式系统的软件开发通常采用 “宿主机/目标机”方式 :
首先,利用宿主机上的丰富的资 源及良好的开发环境开发和仿真调试 目标机上的软件。
然后,通过串行口或网络将交叉 编译生成的目标代码传输并装载到目 标机上。
最后,目标机在特定的环境下运行。
几种常见的嵌入式系统:
试目标机上的软件
生成的目标代码传输并装载到目标机上
目标机在特定的环境下运行
嵌入式Linux:
uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。
适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。
它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。
Win CE:
Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的Windows 95。Windows CE的图形用户界面相当出色。Win CE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。
VxWorks :
VxWorks操作系统是美国公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
Nucleus:
Nucleus PLUS是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。Nucleus PLUS采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。由于采用了软件组件的方法,使Nucleus PLUS 的各个组件非常易于替换和复用
嵌入式系统发展趋势:
我们有理由相信计算机还将继续快速发展并进一步改变我们的生活,让计算变得“无所不能”、“无处不在”。其中“无所不能”将是人工智能技术和超级计算机的结合,而“无所不在”则是嵌入式技术应用的广阔天地,现在普通消费者已经可以从市场中买到数码相机、移动电话、打印机等众多的数码产品、航空设备、ATM机、计算机网络设备等电子产品中都用到了嵌入式技术。
通用计算机的发展变为功能电脑,普遍进入社会,嵌入式计算机发展的目标是专用电脑,实现“普遍化计算”,因此可以称嵌入式智能芯片是构成未来世界的“数字基因”。正如我国资深嵌入式系统专家——沈绪榜院士的预言,“未来十年将会产生同大小、具有超过一亿次运算能力的嵌入式智能芯片,将为我们提供无限的创造空间“。
总之,“嵌入式微控制器或者说单片机好象是一个黑洞,会把当今很多技术和成果吸引进来”。