第一章 嵌入式系统基础知识ARM7_第1页
第一章 嵌入式系统基础知识ARM7_第2页
第一章 嵌入式系统基础知识ARM7_第3页
第一章 嵌入式系统基础知识ARM7_第4页
第一章 嵌入式系统基础知识ARM7_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ARM嵌入式根底技术

----入门篇长沙市元享电子制造内容简介<ARM嵌入式运用技术根底>从根本概念和原理入手,循序渐进地讲解了嵌入式系统根底、ARM处置器根底、ARM7指令系统、程序设计、ADS编译环境和初始化代码等各项根底知识,协助读者胜利地掌ARM运用根底。本套教材构成: 入门篇 <ARM嵌入式运用技术根底> 提高篇 <ARM嵌入式接口技术运用> 实战篇 <ARM嵌入式运用实战>章节目录第一章嵌入式系统根底知识第二章ARM处置器根底第三章ARM的指令系统第四章ARM的编程技术第五章四个操作范例第六章ADS1.2开发工具的运用第七章AXD调试工具的运用第八章初始化代码研讨第九章LPC2220〔ARM7〕处置器第一章嵌入式系统根底知识一、认识嵌入式系统二、计算机系统的信息表示方式三、本节附录一、认识嵌入式系统 以数字科技为根底,计算机科学技术为框架的嵌入式系统目前已普遍运用于工业控制系统、信息家电、通讯设备、医疗设备、智能仪器仪表等众多领域:1.1嵌入式系统的定义根据IEEE〔国际电气和电子工程师协会〕的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间用行的配备〞〔原文为devicesusedtocontrol,orassisttheoperationofequipment,machineryorplants〕。

目前国内一个被普遍认同的定义是:以运用为中心,以计算机技术为基础,软件和硬件可裁减,以顺应运用系统对功能、可靠性、本钱、速度、体积、功耗严厉要求的公用计算机系统。

可以以为,嵌入式系统是一种硬件和软件严密耦合在一同的公用计算机系统,作为安装或设备的一部分。1.2嵌入式系统开展的四个阶段1、无操作系统阶段;2、简单操作系统阶段;3、实时操作系统阶段;4、嵌入式片上系统〔SystemonChip,SoC〕阶段。1.3嵌入式系统的开展现状1.新的微处置器层出不穷,精简系统内核,优化关键算法,降低功耗和硬件本钱。2.嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。3.通用计算机上运用的新技术、新观念开场逐渐移植到嵌入式系统中,嵌入式软件平台得到进一步完善,根本都能提供更加友好的多媒体人机交互界面。4.各种开源的嵌入式操作系统〔如μCLinux、μC/OS-II〕迅速开展,目前曾经构成了能与VxWorks、WindowsCE等嵌入式操作系统进展有力竞争的局面。5.网络化、信息化的要求随着Internet技术的成熟和带宽的提高而日益突出,以往功能单一的设备功能不再单一,构造变得更加复杂,网络互连成为必然趋势。1.4嵌入式系统的组成一个嵌入式系统安装普通是由嵌入式计算机系统和执行安装两部分组成。嵌入式计算机系统由硬件层、中间层、系统软件层和运用软件层组成:硬件层硬件层由嵌入式中心控制模块和外围设备接口组成。在嵌入式处置器根底上添加电源电路、时钟电路、复位电路和存储器电路,就构成一个嵌入式中心控制模块。硬件层构造表示图1.嵌入式微处置器嵌入式系统硬件层的中心是嵌入式微处置器,嵌入式微处置器大多任务在为特定用户群所专门设计的系统中。嵌入式微处置器的体系构造可以采用冯•诺依曼体系构造或哈佛体系构造;指令系统可以选用精简指令系统〔RISC〕和复杂指令系统〔CISC〕。2.存储器存储器是用来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器。3.通用设备接口和I/O接口嵌入式系统和外界交互需求一定方式的通用设备接口和I/O接口。每个外设通常都只需单一的功能,它可以在芯片外也可以内置在芯片中。外设的种类很多,可从一个简单的串行通讯设备到非常复杂的802.11无线设备。中间层 硬件层和软件层之间为中间层,也称为硬件笼统层或板级支持包。 中间层普通包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。 中间层主要完成两部分任务: 1、嵌入式系统硬件初始化:系统初始化过程的3个主要环节:片级初始化、板级初始化和系统级初始化。 2、硬件相关的设备驱动程序: 硬件相关的设备驱动程序的初始化通常是一个从高到低的过程。设备驱动程序通常不直接由BSP运用,而是在系统初始化过程中由BSP将他们与操作系统中通用的设备驱动程序关联起来,并在随后的运用中由通用的设备驱动程序调用,实现对硬件设备的操作。系统软件层系统软件层由实时多义务操作系统〔Real-timeOperationSystem,RTOS〕、文件系统、图形用户接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成,如下图。其中RTOS是其他一切运用软件的根底和开发平台。1.嵌入式操作系统嵌入式操作系统担任嵌入系统的全部软、硬件资源的分配、控制、协调、义务调度等活动。2.文件系统与通用操作系统下的文件系统相比,嵌入式文件系统比较简单,主要提供文件存储、文件属性修正和文件目录效力等功能。3.图形用户接口〔GUI〕GUI极大地方便了非专业用户地运用,人们可以经过窗口、菜单、按键等方式来方便的进展操作。嵌入式系统的GUI具有的根本要求:轻型、占用资源少、高性能、便于移植、可配置等特点。嵌入式系统中的图形界面,普通采用下面的几种方法实现: ①针对特定的图形设备输出接口,自行开发相应的功能函数。 ②购买针对特定嵌入式系统的图形中间软件包。 ③采用源码开放的嵌入式GUI系统。运用软件层运用软件层是由基于实时操作系统开发的运用程序组成,其作用是实现对被控制对象的控制功能。功能层是面向被控制对象和用户的,为方便用户操作,往往需求提供一个友好的人机界面。1.5嵌入式系统实例市场上如今有许多基于ARM芯片研制出来的手机产品,如下图。各种智能型手机具有多种多样的功能,如接听、薄、备忘录、闹钟、短音讯和游戏,甚至可以阅读网页和收发电子邮件等。嵌入式产品的研发过程大致分为两步:硬件设计:硬件是产品赖以存在的根底。软件设计:软件是其灵魂。1.硬件部分硬件部分的必需部件:1〕ARM处置器:ARM处置器有很多种,目前包括ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、Secur-Core系列、Intel公司的StrongARM和Xscale等系列。2〕显示设备:显示设备采用灰度或彩色的液晶模块〔LCD〕。3〕输入设备:输入设备可以采用键盘,还可以采用触摸屏。4〕存储设备:通常情况下,当系统需求管理大量数据,而这些数据又分为多种类别且需求分别进展处置时,采用文件系统可以简化编程,并提高效率。5〕GPRS接口模块:GPRS接口模块能实现手机与GPRS网络衔接,处置器经过GPRS接口模块可以与GPRS网络上其他的手机进展数据通讯。2.软件部分软件部分实践上就是编写的程序代码。程序代码普通由高级言语〔如C/C++〕和处置器公用汇编指令编写而成,经过编译、链接、重定位,最终成为机器代码,存放到系统的存储器中。软件可分为4个层次,从低到高分别为: 1、硬件驱动层; 2、操作系统层; 3、系统中间件层; 4、用户运用层。二、计算机系统的信息表示方式进位计数制是一种计数的方法,人们最习惯用的是十进制计数法。一个恣意的十进制数可以表示为:1.1进位计数制与转换1.数制系统anan-1…a0.b1b2…bm含意是:an×10n+an-1×10n-1+…+a0×100+b1×10-1+b2×10-2+…+bm×10-m其中ai,bj是0,1,2,3,4,5,6,7,8,9十个数码中的一个。十进制数的基数为10,即其数码为0~9,且遵照逢十进一的规那么。上式中相对于每位数字的10k称为该位数字的权,例如:356.79=3×102+5×101+6×100+7×10-1+9×10-2计算机为便于存储及物理实现,采用了二进制。二进制数的基数为2,只需0,1两个数码,并遵照逢二进一的规那么,因此二进制数anan-1…a0.b1b2…bm的值是:an×2n+an-1×2n-1+…+a0×20+b1×2-1+b2×2-2+…+bm×2-m例如:1011012=1×25+1×23+1×22+1×20=4510其中数的下标表示该数的基数r,即二进制的101101与十进制的45等值。再比如:102=210,1012=510,1112=710,10112=1210进位计数制基数数码十六进制数160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十进制数100,1,2,3,4,5,6,7,8,9八进制数80,1,2,3,4,5,6,7二进制数20,1在计算机里:0x表示十六进制数; 0b表示二进制数值。常用的进位计数制的基数和数码比如二进制数0b101111:0b101111=1×25+0×24+1×23+1×22+1×21+1×20=32+8+4+2+1=47比如十六进制数0x20F:0x20F=2×162+0×161+F×160=512+15=527十进制数转换二进制数十进制数转换成二进制数的降幂法。由于:20=1,21=2,22=4,23=8,24=16,25=32,26=64,27=128……。十进制数29,利用降幂法29可以写成:29=16+8+4+1=1×24+1×23+1×22+0×21+1×20=0b11101二进制数、十六进制数转换十进制数二进制数、十六进制数转换成十进制数都比较简单。2.数制之间的转换二进制数与十六进制数之间的转换十六进制数中的每一位可以与4位二进制数相对应。二进制数十六进制数十进制数二进制数十六进制数十进制数0000001000880001111001990010221010A100011331011B110100441100C120101551101D130110661110E140111771111F15二进制数、十进制数与十六进制数之间的数码转换表1.2计算机中数的表示二进制数的运算二进制数之间具有加、减、乘、除四那么运算,在ARM汇编言语里都有相对应的汇编指令完成四那么运算。加减规那么:0+0=0 0+1=1 1+0=11+1=0〔进位1〕0-0=0 0–1=1〔借位1〕1-0=1 1-1=00b1001111+0b1000001=0b10010000;0b101-0b011=0b010。加减法实例:机器数的表示1、数的原码表示计算机中的数是用二进制来表示的,数的符号也是用二进制表示的。把一个数连同其符号在内在机器中的表示加以数值化,这样的数称为机器数。机器数常用原码、补码和反码表示法来表示。二进制位数8位16位32位字长1个字节1个半字1个字位数与字长对应关系2、数的补码表示计算一个负数的补码的方法:先写出与该负数相对应的正数的原码表示,然后将其按位求反〔即0变为1,1变为0〕,最后在末位〔最低位〕加1,就可以得到该负数的补码表示了。机器字长为8位,N=-52的补码表示+52原码表示 0b00110100按位求反后为 0b11001011末位加1后为 0b11001100用十六进制数表示 0xCC即[-52]补=0xCC机器字长为16位,N=-52的补码表示+52原码表示 0b0000000000110100按位求反后为 0b1111111111001011末位加1后为 0b1111111111001100用十六进制数表示 0xFFCC即[-52]补=0xFFCC3、补码加减运算例假设机器字长为8位,知[-23]补=0b11101001。如今对[-23]补求补两次:[-23]补为 0b11101001求补一次得 0b00010111再求补一次得 0b11101001对[-23]补求补两次之后其结果等于本身,求补一次得到的结果恰好是[23]补,这一特性在读者计算二进制补码所代表十进制值时很有协助。比如,给定一个二进制补码0b11001101,下面计算所代表的十进制值:0b11001101求补一次:0b001100110b00110011=[51]补。所以0b11001101=[-51]补。字符表示法计算机中字符包括:字母:A、B、…、Z,a、b、…、z;数字:0、1、…、9;公用字符:+、-、*、/、%、…;非打印字符:BEL(Bell响铃)、LF(LineFeed换行)、CR(CarriageReturn回车)、…。字符在机器里必需用二进制数来表示,目前比较普遍采用的是美国信息交换规范代码ASCII(AmericanStandardCodeforInformationInterchange)表示法。部分常用的ASCII值。机器数表示小结在计算机中,要处置的数可以分为两类:无符号数和有符号数。1、无符号数在计算机中,表示地址的数〔地址指针〕、字符、用前缀unsigned定义的C言语变量等等都是无符号数。2、有符号数有符号数在计算机中除了要表达该数的绝对值大小外,还要表达该数的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论