ARM嵌入式系统基础复习题doc.docx

上传人:b****5 文档编号:6828557 上传时间:2023-01-10 格式:DOCX 页数:9 大小:22.15KB
下载 相关 举报
ARM嵌入式系统基础复习题doc.docx_第1页
第1页 / 共9页
ARM嵌入式系统基础复习题doc.docx_第2页
第2页 / 共9页
ARM嵌入式系统基础复习题doc.docx_第3页
第3页 / 共9页
ARM嵌入式系统基础复习题doc.docx_第4页
第4页 / 共9页
ARM嵌入式系统基础复习题doc.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

ARM嵌入式系统基础复习题doc.docx

《ARM嵌入式系统基础复习题doc.docx》由会员分享,可在线阅读,更多相关《ARM嵌入式系统基础复习题doc.docx(9页珍藏版)》请在冰豆网上搜索。

ARM嵌入式系统基础复习题doc.docx

ARM嵌入式系统基础复习题doc

嵌入式系统基础复习题

一、简答题

1、什么是嵌入式系统?

嵌入到对象体系中的专用计算机应用系统。

2、嵌入式系统的3个基本特点?

嵌入性、专用性、计算机

3、什么是嵌入式处理器,嵌入式处理器可以分为儿大类?

嵌入式处理器是为了完成特殊的应用而设计的特殊冃的的处理器。

分为嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统(SOC)o

4、广泛使用的三种类型的操作系统?

多道批处理操作系统、分时操作系统以及实时操作系统。

5、常见的4种嵌入式操作系统?

嵌入式Linux.WinCE>VxWorks>uC/OS-II

6、ARM是什么样的公司?

它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC处理器。

特点是只设计芯片,而不生产。

它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。

7、什么是RISC?

什么是CISC?

RISC是精简指令集计算机的缩写。

CISC是复杂指令集计算机的缩写。

8、举出2个ARM公司当前应用比较多的ARM处理器核?

ARM7系列、ARM9系列、ARM10系列、ARM11系列、in(el的Xscale系列和MPCore系列。

9、ARM7TDMI中的T、D、S、I分别表示什么含义?

T:

支持高密度16位的Thumb指令集

D:

支持片上调试

S:

ARM7TDMI的可综合(synthesizable)版本(软核)

I:

支持EmbededICE观察硬件

M:

支持64位乘法10、ARM7TDMI处理器采用什么样的体系结构,其可寻址地址空间多大?

ARM处理器使用冯.诺依曼结构

使用单个平面的232个8位字节地址空间。

地址空间可以看作是包含2%个32位字,或刃个16位半字。

11、ARM7TDMI处理器采用儿级流水线处理,使用何种存储器编址方式?

ARM7TDMI处理器采用三级流水线。

ARM处理器将存储器看做是一个从0开始的线性递增的字节集合。

12、ARM处理器模式和ARM处理器状态有什么区别?

ARM处理器模式指用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。

ARM处理器状态指ARM状态和Thumb状态

ARM两种处理器状态下均有上述7种模式。

13、ARM7TDMI内部寄存器特点?

分别为31个通用32位寄存器和6个状态寄存器。

它们不能在同一使劲同时被访问,对其的访问取决于处理器状态和处理器模式。

14、ARM7TDMI有儿种寻址方式?

寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。

15、ARM7的内部寄存器R13、R14、R15的主耍功能和作用?

R13:

堆栈指针,用于保存堆栈的出入口处地址、保存待使用寄存器的内容

R14:

连接寄存器,当使用BL指令调用子程序时,返回地址将自动存入14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址;共他时候作为通用寄存器。

R15:

程序寄存器,总是指向正在“取指”的指令

16、请说明MOV指令与LDR加载指令的区别和用途?

LDR的操作数既可以来源丁寄存器也可以来源丁存储器,MOV的操作数能来源于寄存器。

LDR指令从内存屮读取数据放入寄存器,用于对内存变量和数据的访问、查表、程序的跳转、外围部件的控制操作等;MOV指令将8位立即数或寄存器传送到冃标寄存器(Rd),可用于移位运算等操作。

17、LPC2000系列器件有儿种常见的封装形式和其封装特点?

常见的封装有64脚封装,144脚封装

功耗低,有多个32位定吋器,多达9个外部中断,16K字节静态RAM,l/128/256k字节片Flash存储器,128为宽度接口加速器,4路10位ADC或8路10位ADC(64脚和144脚封装),46或76〜112个GPIO(64脚和144脚封装)。

18、简要说明一下LPC2000系列器件片内存储器的特点?

片内存储器分为片内Flash和片内静态RAMo片内Flash通过128位宽度的总线与ARM内核相连,具有很高的速度,特有的存储器加速功能,可以将程序直接放在Flash±运行。

SRAM支持8位、16位和32位的读写访问。

19、为什么要进行存储器重映射?

存储器重映射是为了实现引导块和异常向量表地址的固定。

重映射引导块,有利于用户调用其屮的某些程序,增加代码的可移植性;异常向量表重映射为了能让ARM内核通过访问0x0000〜0x003F地址访问到其他存储区域的向量表。

20、LPC2000系列ARM7微控制器对向量表有什么要求(向量表中的保留字)?

向量表中有一个空隙以确保软件能与不同的ARM结构兼容;表中异常入口

地址处放置的是跳转指令,已转向中断子程序。

FIQ地址耍放在向量表的最后;

21、ARM7微控制器内FLASH是多少位宽度的接口?

它是通过哪个功能模块来提高FLASH的访问速度?

FLASH是128位宽度的接口,通过存储器加速模块提高其访问速度。

22、FIQ、IRQ有什么不同?

向量IRQ和非向量IRQ有什么不同?

FIQ是快速中断,具有最高优先级,屮断处理转入FIQ模式;IRQ是普通中断,优先级低TFIQ,中断处理转入IRQ模式。

向量IRQ支持16个向量IRQ中断,16个优先级,能为每个中断源设置服务程序地址;非向量IRQ支持一个非向量IRQ中断,所有中断都共用一个相同的服务程序入口地址。

23、LPC2000系列芯片共有儿个外接中断输入?

它们是FIQ,还是IRQ?

共有4个外接屮断输入,它们既可以是IFQ也可以是IRQo

24、LPC2000系列芯片常用的开发工具?

ADS、IAR、JATG、ISP

25、什么是嵌入式处理器的最小系统?

最小系统是指提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器

共同构成的系统。

26、嵌入式处理器的最小系统包含那些基本电路?

最小系统包含时钟系统、供电系统、复位及其配置系统、存储器系统(可选)、调试测试系统(可选)。

基本电路包括:

末级电源电路、前级电源电路、时钟电路、复位电路、程序存储器(可选)、调试接口电路(可选)。

二、问答题

1、ARM7TDMI支持哪儿种指令集,各有什么特点?

支持ARM指令集和Thumb指令集两种。

ARM指令集:

指令32位,效率高,代码密度低,所有ARM指令都是可以有条件执行的。

Thumb指令集:

指令16位,代码密度较高,Thumb指令仅有一条指令具备条件执行功能。

保持ARM的大多数性能上的优势,是ARM指令集的子集。

2、ARM7TDMI有儿种处理器模式,简单介绍该儿种模式的工作特点?

ARM7TDMI有7种处理器模式。

用户模式:

正常程序运行的丁作模式,不能直接从用户模式切换到其它模式系统模式:

用丁•支持操作系统的特权任务等,可以直接切换到其它模式快中断模式:

用丁快速中断处理,支持高速数拯传输及通道处理,只有在FIQ异常响应时,才进入此模式。

中断模式:

用于通用屮断处理,只有在IRQ异常响应时,才进入此模式。

管理模式:

供操作系统使用的一种保护模式,只有在系统复位和软件中断响应时,才进入此模式。

中止模式:

用丁•虚拟内存和/或存储器保护。

未定义模式:

支持软件仿真的硬件协处理器,只有在未定义指令异常响应时,才进入此模式。

3、什么是引导程序?

什么是启动程序?

两者有什么区别?

引导程序是ARM微处理器在上电或复位后首先运行BootBlock中的一段代码;启动程序是在运行引导程序后,正式运行用户main函数Z前,还需要运行一段代码

弓I导程序由芯片厂商固化在芯片中,功能包括:

判断运行哪个存储器上的程序、检查用户代码是否有效、判断芯片是否被加密、芯片的在应用编程(IAP)以及在系统编程功能(ISP)o启动程序由用户添加,功能包括:

向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、外閑初始化,地址重映射等操作。

4、简要描述LPC2000系列芯片内部GPIO的功能特点?

(1)可以独立控制每个GPIO口的方向;

(2)可以独立设置每个GPIO的输出状态;

(3)所有GPIO口在复位后默认位输入状态。

5、试说明LPC2000系列芯片的引脚设置寄存器PINSELO、PINSEL1>PINSEL2的具体功能?

PINSEL0控制引脚P0.0~P0.15的连接状态,每两位控制一个引脚。

PINSEL1控制引脚P0」6-P0.31的连接状态,每两位控制一个引脚。

PINSEL2控制P1端口和P2端口o

6、试说明LPC2000系列芯片的存储器映射的结构特点?

(看图1111答问题4)

(1)0GB向上为128KB或256KB的片内非易失性存储器;

(2)1GB向上为16KB片内静态RAM;

(3)2GB向下为BootBlock重映射;

(4)3.5GB向上为VPB外设;

(5)4GB向下为AHB外设。

7、试说明LPC2000系列芯片内部向量中断控制器(VIC)的功能特点?

(看图回答问题5)

(1)可以管理最多32个中断请求,可将其编程为FIQ、向量IRQ或非向量

IRQ;

(2)有16个向量IRQ中断;

(3)16个优先级,可动态分配优先级;

(4)可产生软件中断。

8、试说明LPC2000系列芯片的向量中断和非向量中断的功能特点?

向量中断支持16个向量IRQ中断;16个优先级;每个优先级指定一个服务程序入口地址。

非向量屮断支持1个非向量IRQ中断;所有非向量IRQ的入口地址都相同。

9、试说明LPC2000系列芯片内部定时器的功能特点?

(看图回答问题6)

(1)各含有一个可编程32位预分频器;

(2)具有4路捕获通道,当输入信号跳变时可取得定时器的瞬时值,也可选择使捕获事件产生中断。

(3)有4个32位匹配寄存器,匹配时动作有3种:

定时器继续工作,可选择产生中断;停止定时器,可选择中断;复位定时器,可选择中断

(4)有4个对应于匹配寄存器的外部输出,匹配时输出有4种:

设置为低电平;设置为高电平;翻转;无动作。

10、简要描述LPC2000系列芯片内部定时器的预分频功能,匹配功能,捕获功能?

预分频功能:

通过设置某个常量来控制pclk(定时器的时钟源)的分频。

匹配功能:

当定时器值等于预设的匹配值时,从引脚输出特定的信号。

捕获功能:

如果输入信号满足设定的耍求,将触发捕获动作,将定时器的计数值保存到捕获寄存器中。

11、试说明LPC2000系列芯片内部都具有那些外设接口,及其特点?

12、试比较说明JATGT.具和ISPT.具的异同点?

两者都可以将程序下载到开发板上。

JATG通过计算机的并口和开发板的JATG口下载程序;ISP通过计算机的串口和开发板的UART0下载程序。

三、看图冋答问题

1、下图是ARM7处理器的当前程序状态寄存器,请简单说明各位的功能。

N:

负标志位,运算结果的第31位值,记录标志设置的结果。

Z:

零标志位,如果标志设置操作的结果为0,则置位。

C:

进位标志位,记录无符号加法溢出,减法无错位,循环移位。

V:

溢出标志位,记录标志设置操作的有符号溢出。

I:

中断禁止标志位,置位时禁止IRQ中断,否则允许IRQ中断使能。

F:

中断禁止标志位,置位时禁止FIQ中断,否则允许FIQ中断使能。

T:

控制位,置位时处理器运行在Thumb状态下,清零时处理器运行在ARM状态下。

M0〜M4:

模式控制位,定义处理器的7中模式。

其余位为保留位,留作将来使用。

2、下图是LPC2000内部的时钟发生系统图,试对该图进行简单的描述说明。

晶体振荡器为系统提供基本的时钟信号(Fosc);在复位或处理器从掉电模式唤醒时,唤醒定时器为输入的时钟信号做计数延时,使芯片内部有时间进行初始化;PLL把Fosc信号提高到一个符合用户需耍的频率(Fcclk),用于CPU内核;VPB分频器用于把Fcclk信号降低到一个合适的Fpclk(也可以不降低),用于外设部件。

3、下图是ARM7系统内部的存储器加速模块(MAM)连接结构示意图,试针对该示意图说明MAM如何实现存储器加速功能。

存储器加速模块中Flash存储器可以存放4个32位ARM指令或8个16位Thumb指令,它们被分成两组,轮番工作,及时的为CPU提供需要的指令和数据,以防止CPU取指暂停。

程序顺序执行时,一个Flash组包含当前正在取指的指令和包含该指令的整个Flash行,而另一个Flash组则包含或正在预取指下一个连续的代码行。

程序出现分支时,在预取指缓存区中保存着将要执行的指令,在分支跟踪缓存区中保存着程序跳转后可执行到的指令。

程序获取数据时,如果数据不在MAM的数据缓冲区,那么MAM会执行一次Flash读操作,把一个128位的数据行存入数据缓冲区,这样就加快了按顺序访问数据的速度。

4、下图是ARM7系统存储器映射图,试对该映射图进行简单的描述说明。

(问答题6)

5、下图是ARM7系统中断向量控制器(VIC)内部结构示意图,试说明VIC的功能特点。

(问答题7)

6、下图是ARM7系统每个I/O端口的内部寄存器控制结构示意图,看图填写下表的寄存器功能说明内容。

序号

通用名称

功能说明

1

IOPIN

从该寄存器中可以读出引脚的当前状态,和方向模式无关

2

IOSET

该寄存器控制引脚输出高电平,为1时高电平,为0无效

3

IODIR

该寄存器单独控制每个IO口的方向,为1时输出,为0时输入

4

IOCLR

该寄存器控制引脚输岀低电平,为1吋低电平为0无效

7、下图是ARM7系统内部的定时器结构示意图,试说明内部定时器的功能特点。

(问答题9)

四、计算题

1、设有一个基于LPC2114的系统,所使用的石英晶振为lOMHzo请计算岀最大的系统时钟(FcciQ频率为多少?

此时PLL的M值和P值各为多少?

请列出计算公式,并编写设置PLL的程序段。

依题得,Fosc=10MHz

因为Fcclk范围为10MHz〜60MHz,所以

最大的系统所时钟Fcclk=60MHz

M=Fcclk/Fosc=60/l0=6

因为Fcco范围为156MHz〜320MHz,P=Fcco/(2Fcclk)所以当Fcco取最小值时,P=156/(2*60)=1.3

当Fcco取最大值时,P=320/(2*60)=2.67

因为P的值必须是1、2、4、8中的一个,所以P=2

uint8PLLSet(uint32Fcclk,uint32Fosc,uint32Fcco)

{

uintSi;

uint32plldat;

i=(Fcco/Fcclk);

switch(i)

//计算PLL分频值,i的值为2P

//检测参数是否合法

\

case2:

//2P为2,P为1

plldat=((Fcclk/Fosc)-1)I(0«5);//设置M的值,实际写入M-lbreak;

case4:

〃P为2

plldat=((Fcclk/Fosc)-1)I(1«5);//设置M的值,实际写入M・1break;

case8:

〃P为4

plldat=((Fcclk/Fosc)-1)I(3«5);//设置M的值,实际写入M・1break;

case16:

〃P为4

plldat=((Fcclk/Fosc)-1)I(3«5);//设置M的值,实际写入M・1break;

default:

〃卩的值不是1、2、4、8中的一个,不合法

return(FALSE);break;//错误返回

PLLCON=1;

//使能PLL

PLLCFG=plldat;

PLLFEED=Oxaa;

PLLFEED=0x55;

//设萱PLL分频值

//PLL馈送序列

while((PLLSTAT&(1«10))==0);//等待PLL锁定

PLLCON=3;

//连接PLL

PLLFEED=Oxaa;

PLLFEED=0x55;

//PLL馈送序列

return(TRUE);

//正确返回

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1