1、1嵌入式系统设计大学教程习题与解答第 1 章 嵌入式系统设计基本概念(绪论)1、嵌入式系统的定义是什么?你是如何理解嵌入式系统的? (P3)答:嵌入式系统一般定义为以应用为中心、以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。一个嵌入式系统就是一个硬件和软件的集合体,它包括硬件和软件两部分。其中硬件包括嵌入式处理器/控制器/数字信号处理器(DSP) 、存储器及外设器件、输入输出(I/O )端口、图形控制器等;软件部分包括操作系统软件(嵌入式操作系统)和应用程序(应用软件) ,由于应用领域不同,应用程序千差万别。2、列出并说明嵌入式
2、系统不同于其他计算机系统的主要特征。 (P3P4)答:主要特征有: 系统内核小:由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较传统的操作系统要小得多。 专用性强:嵌入式系统通常是面向特定任务的,个性化很强,其中软件系统和硬件的结合非常紧密,一般要针对硬件进行软件系统的移植。 运行环境差异大:嵌入式系统使用范围极为广泛,其运行环境差异很大。 可靠性要求高:嵌入式系统往往要长期在无人值守的环境下运行,甚至是常年运行,因此对可靠性的要求特别高。 系统精简和高实时性操作系统: 具有固化在非易失性存储器中的代码:为了系统的初始化,几乎所有系统都要在非易失性存储器中存放部分代码(启动
3、代码) 。为了提高执行速度和系统可靠性,大多数嵌入式系统常常把所有代码(或者其压缩代码)固化,存放在存储器芯片或处理器的内部存储器件中,而不使用外部存储介质。 嵌入式系统开发工作和环境:嵌入式系统开发需要专门的开发工具和环境。3、简述嵌入式系统的体系结构。 (P5)答:嵌入式系统自底向上包含四个部分:硬件平台、嵌入式实时操作系统(RTOS) 、硬件抽象层(HAL)和嵌入式实时应用程序。硬件抽象层位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。屏蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境,而是面向由这个中间层次所代表的、逻辑上的硬件环境。4、嵌入式系统是怎样分类的?(P
4、8)答:根据不同的分类标准,嵌入式系统有不同的分类方法。按嵌入式微处理器的位数分类:嵌入式系统可分为 4 位、8 位、16 位、32 位和 64 位等;按软件实时性需求分类:可分为非实时系统(如 PDA) 、软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统) 。按嵌入式系统的复杂程度分类:嵌入式系统可分为小型嵌入式系统、中型嵌入式系统和复杂嵌入式系统。25、什么是实时操作系统,其主要功能是什么?(P8)答:实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)简称实时操作系统,主要用来完成嵌入式实时应用的任务调度和控制等核心功
5、能。这些功能是通过内核服务函数形式交给用户调用的,也就是 RTOS 的系统调用,或者叫做 RTOS 的API。6、在日常生活中,你接触过哪些嵌入式产品?他们都有些什么功能?(P9P10)答:略 第 2 章 嵌入式系统设计基本概念1、嵌入式系统的硬件由哪几个部分组成?(P1213)答:嵌入式系统的硬件系统是由嵌入式处理器、存储器、I/O 接口电路、通信模块以及其他外部设备组成的。其核心是嵌入式处理器。存储器是构成嵌入式系统硬件的重要组成部分。嵌入式处理器工作时,必须有附属电路支持,如时钟电路、复位电路、调试电路、监视定时器、中断控制电路等,这些电路并不完成数据的输入/ 输出功能,而是为嵌入式处理
6、器的工作提供必要的条件。嵌入式处理器与通用处理器的最大区别在于嵌入式处理器集成了大量的不同功能的 I/O 模块。用户在开发嵌入式系统时,可以根据系统需求选择合适的嵌入式处理器,而无需再另外配备 I/O 电路。此外,嵌入式系统通常还包括人机交互界面,用于系统与用户的交互。人机界面常常使用键盘、液晶屏、触摸屏等部件,以方便与用户的交互操作。2、通用处理器与嵌入式处理器有哪些相同和不同的地方?(P13)答:嵌入式微处理器一般具备四个特点: 对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度; 具有功能很强的存储区保护功能,这是
7、由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断; 可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器; 嵌入式处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为 mW 甚至 W 级。嵌入式处理器与通用处理器的最大区别在于嵌入式处理器集成了大量的不同功能的I/O 模块。用户在开发嵌入式系统时,可以根据系统需求选择合适的嵌入式处理器,而无需再另外配备 I/O 电路。3、常用的嵌入式处理器通常分成哪几大类?(P13)答:嵌入式系统中的处理器通
8、常分为三大类,即微处理器(Micro-Processor Unit,MPU ) 、微控制器( Micro-Controller Unit,MCU)和数字信号处理器(DSP) 。微处理器是指功能较强大的 CPU,它不是为任何特定的计算目标而设计的。因此这种芯片通常用于个人计算机与服务器。微控制器是针对嵌入式系统而设计的,它将 CPU、存储器以及3其他外设都集成在同一片电路板上。数字信号处理器(DSP)中的 CPU 是针对快速离散时间信号处理计算的。因此,DSP 非常适用于音频及视频通信。现代的芯片生产工艺已经允许将重要处理器的内核和各种外围的芯片器件整合在一起,以进一步降低功耗,达到专用的需求,
9、这时,便出现了片上系统 SoC(System On Chip) 。4、什么是嵌入式外围设备?简要说明嵌入式外围设备是如何分类的。 (P2223)答:5、嵌入式操作系统的发展经历了哪几个阶段?(P28)答:嵌入式操作系统伴随着嵌入式系统的发展,大致经历了四个阶段:第一阶段:无操作系统的嵌入算法阶段,以单芯片为核心的可编程控制器形式的系统,具有与监测、伺服、指示设备相配合的功能。第二阶段:以嵌人式 CPU 为基础、简单操作系统为核心的嵌入式系统。由于 CPU 种类繁多,因此通用性比较差;系统开销小,效率高;具有一定的兼容性和扩展性;系统主要用来控制系统负载以及监控应用程序运行。第三阶段:通用的嵌入
10、式实时操作系统阶段。以嵌入式操作系统为核心的嵌入式系统,能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(APl) ;嵌入式应用软件丰富。第四阶段:以基于 Internet 为标志的嵌入式系统。这是一个正在迅速发展的阶段。嵌入式设备与 Internet 的结合将代表着嵌入式技术的真正未来。6、现阶段常用的操作系统有哪些?通过调研,指出几种常用的嵌入式操作系统的特点是什么?常用在什么场合?(P2829)答:常用的嵌入式 RTOS 分三大类:商用系统、专用系统和开放
11、系统。商品化的嵌入式实时操作系统,主要有 WindRiver 的 Vxworks 和 pSOS+,3Com 的 Palm OS 以及Microsoft 的 Windows CE 等。专用操作系统功能相对较弱,但针对性强,其安全可靠性大都超过普通商用系统,如应用于手机的嵌入式操作系统 SymbianOS。开放系统的典型代表是嵌入式 Linux 和 C/OS- 。7、嵌入式操作系统的主要任务有哪些?(P28)答:嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能
12、够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。8、嵌入式系统的基本设计过程包括哪几个阶段?每一个阶段的主要工作有哪些?(P33)答:以自顶向下的角度来看,系统设计包括五个阶段,从系统需求分析开始;第二步是规格说明,在这一步,我们对需设计的系统功能进行更细致地描述,这些描述并不涉及系统的组成;第三步是系统结构设计,在这一阶段以大的构件为单位设计系统内部详细构造,明确软、硬件功能的划分;第四步是构件设计,它包括系统程序模块设计、专用硬件芯片选择及硬件电路设计;第五步是系统集成,在完成了所有构件设计的基础上进行系统集成,构造出所需的完
13、整系统。49、需求分析阶段细分为哪几个步骤?每个步骤完成什么工作?(P3435)答:需求分析阶段可细分为四个阶段:1、需求与规格说明:通过与客户进行交流,了解用户的意图,明确客户需求,整理成正式的规格说明,这些规格说明里包含了进行系统体系结构设计所需要的足够信息。2、确认需求:确认这一系列的需求不仅需要理解什么是用户需要的,而且需要理解他们是如何表达这些需求的。3、简单的需求表格:将复杂而费时的工作用相对少量的格式清晰、简单的需求表格来表示,在考虑系统基本特征时可以将这个表格作为检查表。4、需求的内部一致性:在写完需求分析以后,应该对它们的内部一致性进行检查。10、试通过各种渠道调查目前市场上
14、主要有哪些嵌入式系统开发平台,它们各自有什么特点。答:略第 3 章 ARM 体系结构及基于 ARM9 处理器的嵌入式系统硬件平台 OMAP59121、试比较 RISC 和 CISC 体系结构的异同,为什么 ARM 内核要采用 RISC 体系结构?(P47)答:ARM 体系结构总的设计思路是在不牺牲性能的同时尽可能简化处理器。同时从体系结构的层面上支持灵活的处理器扩展。这种简化和开放的思路使 ARM 处理器采用了很简单的结构精简指令集计算机(Reduced Instruction Set Computer,RISC)体系结构来进行实现。传统的复杂指令集计算机(Complex Instructio
15、n Set Computer,CISC )结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在 CISC 指令集的各种指令中,其使用频率却相差悬殊,大约有 20的指令会被反复使用,占整个程序代码的 80。而余下的 80的指令却不经常使用,在程序设计中只占 20,显然,这种结构是不太合理的。基于以上的不合理性,1979 年美国加州大学伯克利分校提出了 RISC 的概念。RISC 并非只是简单地去减少指令。RISC 是一种设计思想,其目标是设计出一套能在高时钟频率下单周期执行、简单而有效的指令集。RISC 的设计重点在于
16、降低由硬件执行的指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能。因此,RICS 设计对编译器有更高的要求;相反,传统的 CISC 则更侧重于硬件执行指令的功能性,使 CISC 指令变得更复杂。2、简述 ARM 的设计思想及其与单纯的 RISC 定义的不同。 (P4849)答:ARM 内核并不是一个纯粹的 RISC 体系结构,这是为了使它能够更好地适应其主要应用领域嵌入式系统。为了使 ARM 指令集能够更好地满足嵌入式应用的需要,ARM 指令集和单纯的 RISC 定义有以下几个方面的不同: 一些特定的指令周期数可变并不是所有的 ARM 指令都是单周期的。例如:多寄存器装载/ 存储的
17、 Load/Store 指令的执行周期就是不确定的,必须根据被传送5的寄存器个数来定。如果是访问连续的存储器地址,就可以改善性能,因为连续的内存访问通常比随机访问要快;同时,代码密度也得到了提高,因为在函数的起始和结尾,多个寄存器的传输是很常用的操作。 内嵌桶形移位器产生了更为复杂的指令内嵌桶形移位器是一个硬件部件,在一个输入寄存器被一条指令使用之前,内嵌桶形移位器可以处理该寄存器中的数据。它扩展了许多指令的功能,以此改善了内核性能,提高了代码密度。 Thumb 16 位指令集ARM 内核增加了一套称之为 Thumb 指令的 16 位指令集,使得内核既能够执行 16 位指令,也能够执行 32
18、位指令,从而增强了 ARM 内核的功能。16 位指令与 32 位的定长指令相比较,代码密度可以提高约 30%。 条件执行只有当某个特定条件满足时指令才会被执行。这个特性可以减少分支指令的数目,从而改善性能,提高代码密度。3、ARM 体系结构发展过程中,主要有哪些变种,对各变种做简要介绍。 (P4950)答:我们将在 ARM 体系中增加的某些特定功能称为 ARM 体系的某种变种(variant) ,下面介绍 ARM 体系的一些变种形式。(1)Thumb 指令集(T 变种)Thumb 指令集是将 ARM 指令集的一个子集重新编码而形成的一个指令集。 ARM 指令长度为 32 位,Thumb 指令长
19、度为 16 位。这样,使用 Thumb 指令集可以得到密度更高的代码,这对于需要严格控制产品成本的设计非常有意义。(2)长乘法指令(M 变种)M 变种增加了两条用于进行长乘法操作的 ARM 指令:其中一条指令用于实现 32 位整数乘以 32 位整数,生成 64 位整数的长乘法操作,另一条指令用于实现 32 位整数乘以 32位整数,然后再加上 32 位整数,生成 64 位整数的长乘加操作。(3)增强型 DSP 指令(E 变种)E 变种包含了一些附加的指令,这些指令用于增强处理器对一些典型 DSP 算法的处理性能,主要包括:几条新的实现 16 位数据乘法和乘加操作的指令,实现饱和的带符号数的加减法
20、操作的指令。(4)Java 加速器 Jazelle(J 变种)ARM 的 Jazelle 技术将 Java 的优势和先进的 32 位 RISC 芯片完美地结合在一起。Jazelle 技术提供了 Java 加速功能,可以得到比普通 Java 虚拟机高得多的性能。与普通的Java 虚拟机相比,Jazelle 使 Java 代码运行速度提高了 3 倍,而功耗降低了 80%。Jazelle 技术使得程序员可以在一个单独的处理器上同时运行 Java 应用程序、已经建立好的操作系统、中间件以及其他应用程序。与使用协处理器和双处理器相比,使用单独的处理器可以在提供高性能的同时,保证低功耗和低成本。(5)AR
21、M 媒体功能扩展(SIMD 变种)SIMD 变种的主要特点是:可以同时进行两个 16 位操作数或者 4 个 8 位操作数的运算,提供了小数算术运算,用户可以定义饱和运算的模式,两套 16 位操作数的乘加/乘减运算,32 位乘以 32 位的小数 MAC,同时 8 位/16 位选择操作。4、ARM 体系结构版本的命名规则有哪些?简单说明 ARM7TDMI 的含义。 (P50)答:ARM 产品通常以 ARMxyzTDMIEJF-S形式出现。ARM 体系结构的命令规则中这些后缀的具体含义见表 3-2。ARM7TDMI 的含义即 ARM7 内核,增加了Thumb 指令集(T 变种) 、JTAG 调试器、
22、长乘法指令(M 变种)和嵌入式跟踪宏单元的功能。65、列举目前常用的 ARM 微处理器的型号及功能特点。 (P5153)答:ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有 ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。 ARM7 系列 ARM9 系列 ARM9E 系列 ARM10E 系列 ARM11 系列 SecurCore 系列 Inter 的 Xscale Inter 的 StrongARM其中,ARM7、ARM9 、ARM9E 和 ARM10E 为 4 个通用处理器系列,每一个系列提供一套相对独特的性能
23、来满足不同应用领域的需求。SecurCore 系列专门为安全要求较高的应用而设计。6、比较 ARM9 与 ARM7 处理器的性能特点,试说明它们有何异同。 (P5556 )答:ARM7 提供了非常好的性能功耗比,它包含了 Thumb 指令集快速乘法指令和ICE 调试技术的内核。ARM9 处理器通过全新的设计,采用了更多的晶体管,能够达到两倍以上于 ARM7 处理器的处理能力。ARM7 内核是 0.9MIPS/MHz 的三级流水线和冯诺伊曼结构,而 ARM9 内核是 5 级流水线,提供 1.1MIPS/MHz 的哈佛结构。从 ARM7 到 ARM9 的性能提升还来源于存储器读写指令load 和
24、store,以及互锁技术的应用。7、简单介绍 OMAP5912 微处理器的特点和功能。 (P5960)答:OMAP5912 处理器是 OMAP1510 系列的一个分支,是由 TI 应用最为广泛的TMS320C55X DSP 内核与低功耗、高性能的 ARM926EJ-S 微处理器组成的双核应用处理器,这两个内核通过一种专用的处理器内部通信机制相连接。OMAP5912 的结构如图 3-10 所示。C55x 系列可提供对低功耗应用的实时多媒体处理的支持;ARM926 可满足控制和接口方面的处理需要。基于双核结构,OMAP5912 具有极强的运算能力和极低的功耗,一方面,产品性能高、省电;另一方面,同
25、其它 OMAP 处理器一样,采用开放式、易于开发的软件设施,支持广泛的操作系统,如 Linux、Windows、WinCE、Nucleus、Palm OS、VxWorks 等。可以通过 API 及用户熟悉且易于使用的工具优化其应用程序。OMAP5912 处理器的目标应用是: 需要密集信号处理的设备 通讯终端 WAN 802.11X BlueTooth GSM,GPRS,EDGE CDMA 视频和图像处理(MPEG4,JPEG ,Windows Media Video,etc.) 高级语言处理应用(text-to-speech,speech recognition ) 音频处理(MPEG-1 A
26、udio Layer3 MP3,AMR,WMA,AAC,及其它 GSM 7Speech Codecs) 图形和视频加速 数据处理8、常用的 OMAP5912 开发工具有哪些?(P6061 )答:常用的 OMAP5912 开发工具有:(1)OMAP5912 Starter Kit (OSK)Omap5912 基本板,提供了完成设计与测试过程所需的所有软件,这包括一系列主板专用库、芯片专用库以及一套针对 OMAP5912 Linux 内核的 Linux 开发工具。(2)MU-Q-VGA LCD Module for OMAP5912OSK 的 LCD 扩充套件,提供了 LCD 触摸屏。(3)Acc
27、elerator Program for OMAP5912针对 omap5912OSK 的 Linux 和 WinCE 4.2 BSP 和驱动程序软件包,方便易用,支持很多设备和扩展模块,如 LCD、USB Client typedef int Int16;typedef unsigned int Uint32;typedef unsigned short Uint16;typedef unsigned char Uint8;typedef volatile unsigned short VUint16;/* AIC23 Codec Structure */ typedef structInt
28、16 regs10; OSK5912_AIC23_Config;/* - * AIC23 Definitions * - */ /* I2C Address for AIC23 - dependent on value of AIC23:CS signal */ /#define OSK5912_AIC23_I2CADDR 0x1a / AIC23:CS = 0#define OSK5912_AIC23_I2CADDR 0x1b / AIC23:CS = 1#define OSK5912_AIC23_POWERDOWN 6#define OSK5912_AIC23_NUMREGS 10#def
29、ine OSK5912_AIC23_RESET 15/* AIC23 codec settings - each entry below represents an AIC23 register */ OSK5912_AIC23_Config aic23config = 0x0017, /* 0 OSK5912_AIC23_LEFTINVOL Left line input channel volume */ 0x0017, /* 1 OSK5912_AIC23_RIGHTINVOL Right line input channel volume */ 0x00d8, /* 2 OSK5912
30、_AIC23_LEFTHPVOL Left channel headphone volume */ 0x00d8, /* 3 OSK5912_AIC23_RIGHTHPVOL Right channel headphone volume */ 0x0011, /* 4 OSK5912_AIC23_ANAPATH Analog audio path control */ 0x0000, /* 5 OSK5912_AIC23_DIGPATH Digital audio path control */ 0x0000, /* 6 OSK5912_AIC23_POWERDOWN Power down c
31、ontrol */ 0x0043, /* 7 OSK5912_AIC23_DIGIF Digital audio interface format */ 0x0019, /* 8 OSK5912_AIC23_SAMPLERATE Sample rate control */ 0x0001 /* 9 OSK5912_AIC23_DIGACT Digital interface activation */ ;#define OSK5912_AIC23_DEFAULTCONFIG 0x0017, /* Set-Up Reg 0 Left line input channel volume contr
32、ol */ /* LRS 0 simultaneous left/right volume: disabled */ /* LIM 0 left line input mute: disabled */ /* XX 00 reserved */ /* LIV 10111 left line input volume: 0 dB */ 260x0017, /* Set-Up Reg 1 Right line input channel volume control */ /* RLS 0 simultaneous right/left volume: disabled */ /* RIM 0 r
33、ight line input mute: disabled */ /* XX 00 reserved */ /* RIV 10111 right line input volume: 0 dB */ 0x01f9, /* Set-Up Reg 2 Left channel headphone volume control */ /* LRS 1 simultaneous left/right volume: enabled */ /* LZC 1 left channel zero-cross detect: enabled */ /* LHV 1111001 left headphone
34、volume: 0 dB */ 0x01f9, /* Set-Up Reg 3 Right channel headphone volume control */ /* RLS 1 simultaneous right/left volume: enabled */ /* RZC 1 right channel zero-cross detect: enabled */ /* RHV 1111001 right headphone volume: 0 dB */ 0x0011, /* Set-Up Reg 4 Analog audio path control */ /* X 0 reserv
35、ed */ /* STA 00 sidetone attenuation: -6 dB */ /* STE 0 sidetone: disabled */ /* DAC 1 DAC: selected */ /* BYP 0 bypass: off */ /* INSEL 0 input select for ADC: line */ /* MICM 0 microphone mute: disabled */ /* MICB 1 microphone boost: enabled */ 0x0000, /* Set-Up Reg 5 Digital audio path control */
36、 /* XXXXX 00000 reserved */ /* DACM 0 DAC soft mute: disabled */ /* DEEMP 00 deemphasis control: disabled */ /* ADCHP 0 ADC high-pass filter: disabled */ 0x0000, /* Set-Up Reg 6 Power down control */ /* X 0 reserved */ /* OFF 0 device power: on (i.e. not off) */ /* CLK 0 clock: on */ /* OSC 0 oscill
37、ator: on */ /* OUT 0 outputs: on */ /* DAC 0 DAC: on */ /* ADC 0 ADC: on */ /* MIC 0 microphone: on */ /* LINE 0 line input: on */ 0x0043, /* Set-Up Reg 7 Digital audio interface format */ 27/* XX 00 reserved */ /* MS 1 master/slave mode: master */ /* LRSWAP 0 DAC left/right swap: disabled */ /* LRP
38、 0 DAC lrp: MSB on 1st BCLK */ /* IWL 00 input bit length: 16 bit */ /* FOR 11 data format: DSP format */ 0x0019, /* Set-Up Reg 8 Sample rate control */ /* X 0 reserved */ /* CLKOUT 1 clock output divider: 2 (MCLK/2) */ /* CLKIN 0 clock input divider: 2 (MCLK/2) */ /* SR, BOSR 00000 sampling rate: A
39、DC 48 kHz DAC 48 kHz */ /* USB/N 1 clock mode select (USB/normal): USB */ 0x0001 /* Set-Up Reg 9 Digital interface activation */ /* XXX 00000000 reserved */ /* ACT 1 active */ /* - * Control Registers for: DSP MCBSP1 ( DSP_MCBSP1_ ) * - */ #define DSP_MCBSP1_DRR2 *( VUint16* )0xE1011800#define DSP_M
40、CBSP1_DRR1 *( VUint16* )0xE1011802#define DSP_MCBSP1_DXR2 *( VUint16* )0xE1011804#define DSP_MCBSP1_DXR1 *( VUint16* )0xE1011806#define DSP_MCBSP1_SPCR2 *( VUint16* )0xE1011808#define DSP_MCBSP1_SPCR1 *( VUint16* )0xE101180A#define DSP_MCBSP1_RCR2 *( VUint16* )0xE101180C#define DSP_MCBSP1_RCR1 *( VU
41、int16* )0xE101180E#define DSP_MCBSP1_XCR2 *( VUint16* )0xE1011810#define DSP_MCBSP1_XCR1 *( VUint16* )0xE1011812#define DSP_MCBSP1_SRGR2 *( VUint16* )0xE1011814#define DSP_MCBSP1_SRGR1 *( VUint16* )0xE1011816#define DSP_MCBSP1_MCR2 *( VUint16* )0xE1011818#define DSP_MCBSP1_MCR1 *( VUint16* )0xE10118
42、1A#define DSP_MCBSP1_RCERA *( VUint16* )0xE101181C#define DSP_MCBSP1_RCERB *( VUint16* )0xE101181E#define DSP_MCBSP1_XCERA *( VUint16* )0xE1011820#define DSP_MCBSP1_XCERB *( VUint16* )0xE1011822#define DSP_MCBSP1_PCR0 *( VUint16* )0xE1011824#define DSP_MCBSP1_RCERC *( VUint16* )0xE1011826#define DSP
43、_MCBSP1_RCERD *( VUint16* )0xE1011828#define DSP_MCBSP1_XCERC *( VUint16* )0xE101182A#define DSP_MCBSP1_XCERD *( VUint16* )0xE101182C28#define DSP_MCBSP1_RCERE *( VUint16* )0xE101182E#define DSP_MCBSP1_RCERF *( VUint16* )0xE1011830#define DSP_MCBSP1_XCERE *( VUint16* )0xE1011832#define DSP_MCBSP1_XC
44、ERF *( VUint16* )0xE1011834#define DSP_MCBSP1_RCERG *( VUint16* )0xE1011836#define DSP_MCBSP1_RCERH *( VUint16* )0xE1011838#define DSP_MCBSP1_XCERG *( VUint16* )0xE101183A#define DSP_MCBSP1_XCERH *( VUint16* )0xE101183C/* - * Control Registers for: Inter-Integrated Circuit ( I2C_ ) * - */ #define I2C_REV *( VUint16* )0xFFFB3800#define I2C_IE *( VUint16* )0xFFFB3804#define I2C_STAT *( VUint16* )0xFFFB3808#define I2C_SYSS *( VUint16*