嵌入式系统。
**。成绩评定表。
学院名称。专业班级。
学生姓名。学号。
指导教师。嵌入式系统。
**。专业班级。
学生姓名。学号。
指导教师。经过几个周的嵌入式学习,对嵌入式有了一定的了解。所谓嵌入式系统,就是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。
嵌入式系统使控制更加的精简,只是使用很小的一个模块就能实现在生产当中的控制。相对于通用计算机,嵌入式系统更加容易优化、控制以及节约成本。嵌入式广泛的应用在工业控制,交通管理,智能家居,环境工程与自然,机器人,以及电子商务等领域。
就智能家居来说,通常的的家电的控制只能是通过人为的去通过开关控制,就拿窗帘来说,我们可以通过对光的感应来控制窗帘的拉开或是关闭;冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使你不在家里,也可以通过**线、网络进行远程控制。水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准确和更安全的性能。
目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。
常用嵌入式处理器可以分为:1嵌入式微处理器(mpu): 嵌入式微处理器的基础是通用计算机中的cpu。
在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度的减少系统体积和功耗。为满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但是在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 嵌入式处理器目前主要有power pc、68000、mips、arm系列等。
2嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成rom/eprom、ram、总线、总线逻辑、定时/计数器、看门狗、i/o、串行口、脉宽调制输出、a/d、d/a、flash ram、eeprom等各种必要功能和外设
3、嵌入式dsp处理器嵌入式dsp处理器(embedded digital signal processor, edsp) dsp处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度
4、嵌入式片上系统嵌入式片上系统追求产品系统最大包容的集成器件,是目前嵌入式应用领域的热门话题之一。soc最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的**模块。而且soc具有极高的综合性,在一个硅片内部运用vhdl等硬件描述语言,实现一个复杂的系统。
嵌入式处理器方面相对了解较多的是单片机和arm,目前市面上所用的arm主要是cortex-a57处理器、cortex-a53处理器、cortex-a15处理器、cortex-a9处理器、cortex-a8处理器、cortex-a7处理器、cortex-a5处理器、arm11处理器、arm9处理器、arm7处理器,我们使用比较多的arm处理器多为arm9。
说到arm处理器,不得不说一下arm9,其实这个处理器个人感觉在平常德学习中是绰绰有余的。arm9采用哈佛体系结构,指令和数据分属不同的总线,可以并行处理,支持32位arm指令集和16位thumb指令集。thumb指令集与arm指令集的区别一般有如下几点:
跳转指令:程序相对转移,特别是条件跳转与arm**下的跳转相比,在范围上有更多的限制,转向子程序是无条件的转移。数据处理指令:
数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第三个寄存器中。数据处理操作比arm状态的更少,访问寄存器r8—r15受到一定限制。(除mov和add指令访问寄存器r8—r15外,其他数据处理指令总是更新cpsr中alu状态标志)访问寄存器r8—r15的thumb数据处理指令不能更新cpsr中的alu状态标志单寄存器加载和存储指令:
在thumb状态下,单寄存器加载和存储指令只能访问寄存器r0—r7批量寄存器加载和存储指令:ldm和stm指令可以将任何范围为r0—r7的寄存器子集加载或存储。thumb指令集不是完整的指令集,它是arm指令集的子集。
但是thumb指令具有更高的**密度,如果在1k的存储空间中,可以放32条arm指令,就可以放64条thumb指令,因此在存放thunb指令时,**密度高。即占用存储空间小,仅为arm**规格的65%,但其性能却下降的很少。所以,thumb指令集使arm处理器能应用到有限的存储带宽,并且,**密度要求很高的嵌入式系统中去。
arm9可以用两种方法存储字数据,分别称为大端格式和小端格式。在内存中数据是以字节为单位进行存储的,每个地址单元对应着一个字节(byte),一个字节为8位(bite)。但是很多时候数据除了8bit额char外,还有16bit的short,32位的long型(要看具体的编译器),必然存在多字节安排的问题。
不同的计算机存放多字节值的顺序不同,有些机器在起始地址存放低位字节(低位先存),即小端模式;有的机器在起始地址存放高位字节(高位先存),即大端模式。判断大小端的方法有很多,往往用一段很少的**就可以判断出来,比较简单的方法是用union联合体,通过输出数据就可以轻松判断。
嵌入式操作系统又称实时操作系统,是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分。常见的嵌入式操作系统有。
一)嵌入式linux
这是嵌入式操作系统的一个新成员,其最大的特点是源**公开并且遵循gpl协议,在近一年多以来成为研究热点,据idg**嵌入式linux将占未来两年的嵌入式操作系统份额的50%。由于其源**公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从gpl,无须为每例应用交纳许可证费。
有大量的应用软件可用。其中大部分都遵从gpl,是开放源**和免费的。可以稍加修改后应用于用户自己的系统。
有大量的免费的优秀的开发工具,且都遵从gpl,是开放源**的。有庞大的开发人员群体。无需专门的人才,只要懂unix/linux和c语言即可。
随着linux在中国的普及,这类人才越来越多。所以软件的开发和维护成本很低。优秀的网络功能,这在internet时代尤其重要。
稳定——这是linux本身具备的一个很大优点。内核精悍,运行所需资源少,十分适合嵌入式应用。
支持的硬件数量庞大。嵌入式linux和普通linux并无本质区别,pc上用到的硬件嵌入式linux几乎都支持。而且各种硬件的驱动程序源**都可以得到,为用户编写自己专有硬件的驱动程序带来很大方便。
在嵌入式系统上运行linux的一个缺点是linux体系提供实时性能需要添加实时软件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。由于这些实时软件模块是在内核空间运行的,因此**错误可能会破坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个非常严重的弱点。
二)(rtos),是tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。
vxworks具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持posix1003.1b实时扩展标准;支持多种物理介质及标准的、完整的tcp/ip网络协议等。
然而其**昂贵。由于操作系统本身以及开发环境都是专有的,**一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源**,只提供二进制**。
由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。
三) windows ce是微软公司开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统。windows ce的图形用户界面相当出色,windows ce具有模块化、结构化、基于win32应用程序接口以及与处理器无关等特点。windowsce与windows系列有较好的兼容性,无疑是windowsce推广的一大优势。
其中wince3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操作系统。为建立针对掌上设备、无线设备的动态应用程序**务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。
它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200kb的rom。
由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在rom或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。从技术角度上讲,windowsce作为嵌入式操作系统有很多的缺陷:
没有开放源**,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和windows一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。
这里我们比较熟悉的就是linux操作系统了,在一个嵌入式系统中使用linux开发,根据应用需求的不同有不同的配置开发方法,这里我仅就我自己的学习写一下过程,我的板子是arm9。
1.建立开发环境。
我平时玩的操作系统是linux,版本centos5.6,通过网络**相应的gcc交叉编译器进行安装,或者安装产品厂家提供的交叉编译器。设置好相应的的环境变量。
2.配置开发主机。
配置minicom,一般的参数为波特率为115200bps,数据位为8位,停止位为1。 minicom软件的作用是作为调试嵌入式开发板的信息输出的,监视器和键盘输入的工具。配置网络,设置开发板的网络ip和电脑的ip在同一个网段。
这里主要是配置nfs网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。
3.建立引导装载程序bootloader
bootloader是在操作系统内核运行前运行的一段小程序,通过这个小程序,可以初始化硬件设备(如串口,网卡,sd卡,u 盘),建立内存映射,以便调用内核,启动操作系统。并提供丰富的操作命令,以便调用串口,网络,u盘等。提供读取内核镜像**到ram中,并跳转执行内核。
从网络上**一些公开源**的bootloader,如u-boot、vivi、lilo、arm-boot、red-boot等。这里我用的是u-boot,u-boot支持多种嵌入式操作系统内核, 支持多个处理器系列,如powerpc、arm、x86、mips;较高的可靠性和稳定性;高度灵活的功能设置,适合u-boot调试、操作系统不同引导要求、产品发布等;丰富的设备驱动源码,较为丰富的开发调试文档与强大的网络技术支持。当然其他的也都是可以用的,这里就不做过多介绍了。
4.**kernel,并编译修改。
内核指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于linux内核的完整操作系统叫作linux操作系统。
这里我**别人做好的kernel,修改其中的部分驱动以符合我的板子,其中尝试修改了开机的画面以及对触屏的控制。大部分的东西是不需要动的。
嵌入式i课程大作业
嵌入式系统。成绩评定表。学院名称。专业班级。学生姓名。学号。指导教师。嵌入式系统。专业班级。学生姓名。学号。指导教师。经过几个周的嵌入式学习,对嵌入式有了一定的了解。所谓嵌入式系统,就是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。嵌入式系统使控制更加的精简,只是使用很小的一个模块就能...
嵌入式i课程大作业解读
嵌入式系统。成绩评定表。学院名称。专业班级。学生姓名。学号。指导教师。嵌入式系统。专业班级。学生姓名。学号。指导教师。经过几个周的嵌入式学习,对嵌入式有了一定的了解。所谓嵌入式系统,就是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。嵌入式系统使控制更加的精简,只是使用很小的一个模块就能...
嵌入式大作业
黑龙江科技学院。计算机与信息工程学院。嵌入式大作业。专业班级学号。成绩。姓名教师。2010年12月24日。前导问题 1.选a,完全独立完成2.一 基础问题。1.答 嵌入式系统是指用于执行独立功能的专用计算机系统,作为装置或设备的一部分。嵌入式系统通常由嵌入式微处理器 嵌入式操作系统 应用软件和外围设...