嵌入式课后答案整理Word文档格式.docx

上传人:b****3 文档编号:7441375 上传时间:2023-05-08 格式:DOCX 页数:17 大小:64.76KB
下载 相关 举报
嵌入式课后答案整理Word文档格式.docx_第1页
第1页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第2页
第2页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第3页
第3页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第4页
第4页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第5页
第5页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第6页
第6页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第7页
第7页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第8页
第8页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第9页
第9页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第10页
第10页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第11页
第11页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第12页
第12页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第13页
第13页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第14页
第14页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第15页
第15页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第16页
第16页 / 共17页
嵌入式课后答案整理Word文档格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

嵌入式课后答案整理Word文档格式.docx

《嵌入式课后答案整理Word文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式课后答案整理Word文档格式.docx(17页珍藏版)》请在冰点文库上搜索。

嵌入式课后答案整理Word文档格式.docx

转换器是多少位的?

8通道;

10位。

(9)S3C2410A支持多少个中断源?

支持多少个外部中断源?

55个;

24个外部中断源。

(10)S3C2410A存储器寻址空间有多大?

每个bank空间有多大?

支持几个banks?

1GB;

128MB;

8个。

(11)S3C2410A微处理器支持几种数据总线宽度?

bank0和其他banks各支持几种数据总线宽度?

3种;

bank0支持可编程的16/32位数据总线宽度;

bank1支持可编程的8/16/32位数据总线宽度。

(12)S3C2410A支持存储器与I/O地址统一编址,还是独立编址?

统一编址。

(13)特殊功能寄存器已经集成在S3C2410A片内了,还是需要在片外另加存储器芯片?

内部。

(14)ARM920T核使用了几级流水线结构?

五级。

(15)指令和数据cache是分开的,还是共用的?

容量是多少KB?

分开的;

单独的16KB指令cache,单独的16KB数据cache。

(16)ARM920T有几种指令集?

各有什么特点?

ARM920T有两种指令集,32位的ARM和16位的Thumb指令集。

特点:

ARM指令集:

所有的指令都是32位固定长度,便于译码和流水线实现,并且在内存中以4字节边界地址对齐保存;

只有LOAD-STORE类型的指令才可以访问内存;

使用了桶形移位器,可以在一个指令周期内完成移位操作和ALU操作。

Thumb指令集:

Thumb指令集虽然是一个16位的指令集,但是能够在32位的ARM920T处理器上运行。

Thumb指令集执行效率比传统的16位结构的处理器更有效,也比32位结构的处理器有更高的代码密度。

Thumb指令集是32位ARM指令集中最常用的指令功能上的一个子集。

Thumb指令集有效果相同的32位ARM指令对应。

(17)ARM920T有几种操作状态?

如何转换?

每种状态各有什么特点?

两种状态,ARM状态,Thumb状态;

使用ARM指令集的BX指令,并且BX指令指定寄存器bit[]=1,能够从ARM状态进入Thumb状态。

使用Thumb指令集的BX指令指定寄存器的bit[0]=0,能够从Thumb状态进入ARM状态。

ARM状态,在这种状态执行32位长度的、字边界对齐的ARM指令。

Thumb状态,在这种状态执行16位长度的、半字边界对齐的Thumb指令。

简述存储器格式中大端,小端格式有何不同?

大端格式字寻址使用的地址,是数据最高字节对应的字节地址。

小端格式字寻址使用的地址,是数据最字节对应的字节地址。

19、ARM920T支持哪几种数据类型?

字,32位;

半字,16位;

字节,8位。

20、ARM920T支持哪几种操作方式?

ARM920T支持7种操作方式,用户、快速中断请求、中断请求、管理程序、终止、系统、未定义。

21、特权方式包含哪几种操作方式?

快速中断请求、中断请求、管理程序、终止、系统、未定义。

22、ARM状态下不同的操作方式分别可以使用那些寄存器?

Thumb状态下不同的操作方式分别可以使用那些寄存器?

ARM状态下SystemandUser:

r0到r14,r15(PC)FIQ:

r0到r7,r8-fiq到r14-fiq,r15(PC)Supervisor:

r0到r12,r13-svc,r14-svc,r15(PC)Abort:

r0到r12,r13-abt,r14-abt,r15(PC)IRQ:

r0到r12,r13-irq,r14-irq,r15(PC)Undefined:

r0到r12,r13-und,r14-und,r15(PC)

Thumb状态下SystemandUser:

r0到r7,SP,SR,PC;

FIQ:

r0到r7,SP-fiq,LR-fiq,PC;

Supervisor:

r0到r7,SP-svc,LR-svc,PC;

23、简述LR,PC、SPSR、CPSR和SP寄存器的用法?

•答:

LR:

寄存器r14用作子程序连接寄存器。

当一条分支并且连接指令(BL)被执行时,寄存器r14收到r15的一个拷贝。

在其他时间,r14能被看作通用寄存器。

PC:

在ARM状态下,r15的bit[1:

0]是无定义且必须被忽略的,而r15的bit[31:

2]含有程序计数值。

在Thumb状态下,r15的bit[0]是无定义且必须被忽略的,而r15的bit[31:

1]含有程序计数值。

CPSR和SPSR与ARM状态下的CPSR和SPSR是相同的;

SP映射到ARM状态下的r13

24、什么叫高寄存器组?

低寄存器组?

Thumb状态下,寄存器r0到r7称为低寄存器组,寄存器r8到r15称为高寄存器组。

25、简述程序状态器的格式和为一位的含义?

程序状态寄存器格式有bit[31:

28]条件码标志,bit[31]N负于或低于bit[30]Z零bit[29]C进位/溢位/扩展bit[28]v溢出bit[27:

8]保留bit[7:

0]控制位bit[7]IRQ禁止bit[6]FIQ禁止bit[5]状态位bit[4:

0]方式位

26、简述异常进入和退出需要做哪些处理?

在对应的LR中保存下一条指令的地址。

•当异常是从ARM状态进入,处理器复制下一条指令的地址到LR,这时地址是PC+4或PC+8,与不同的异常有关。

•当异常从Thumb状态进入,处理器写当前的PC值到LR,这时地址是PC+2或PC+4,与不同的异常有关。

•异常处理不必确定进入异常前的状态。

例如由SWI进入异常,MOVSPC,r14_svc总是返回到下一条指令,而不管SWI是在ARM或Thumb状态下被执行。

退出:

当异常处理完时,异常处理程序必须:

•⑴参考表2.4,对应不同类型的异常,直接传送LR到PC或从LR中减去一个偏移量送到PC。

•⑵复制SPSR到CPSR。

•⑶清除在进入异常时被设置的中断禁止标志。

•将SPSR值恢复到CPSR的同时,自动地将T位的值恢复成进入异常前的值。

27、简述终止的一般含义?

中止处理程序必须:

①确定中止原因,使请求的数据可用。

②用LDRRn,[r14_abt,#-8]指令,取回引起中止的指令,确定那条指令是否指定了回写基址寄存器,如果是这样,中止处理程序还必须:

从这条指令确定对基址寄存器回写的偏移量是多少;

当中止处理程序返回时,使用相反的偏移量重装到基址寄存器。

28、简述未定义指令的用途?

当ARM7TDMI处理器遇到一条指令,这条指令即不是ARM7TDMI处理器的指令,又不是系统内任何协处理器能处理的指令,ARM7TDMI产生未定义指令陷阱。

29、说出各异常优先级的次序?

复位最高,数据中断次之,然后是快速中断请求,中断请求,指令预取中止,未定义指令和软件中断最低

30、说出各异常的向量地址?

复位的向量地址为0x00000000,未定义指令为0x00000004,软件中断0x00000008,预取中止0x0000000C,数据中止0x00000010,保留0x00000014,中断请求0x00000018,快速中断请求0x0000001C

31、S3C2410A有多少个引脚?

内核使用电压时多少伏?

S3C2410A片内的寄存器和I/O使用电压是多少伏?

S3C2410A有272个引脚,内核1.8V用于S3C2410A-20;

内核2V用于S3C2410A-26;

S3C2410A片内的寄存器和I/O使用电压是3.3V

32、S3C2410ANandFlash控制器支持从NandFlash引导系统吗?

支持

33、S3C2410ALCD控制器支持哪两种不同类型的液晶显示器?

LCD控制器支持STNLCD显示以及TFTLCD显示

34、S3C2410A支持USB主控制器吗?

支持USB设备控制器吗?

支持2个端口的USB主(Host)控制器

·

兼容OHCIRev1.0

兼容USBV1.1

支持低速和全速设备

 

第三章

1、简述ARM指令集的主要能力

(1)条件执行

(2)寄存器访问(3)在线式桶形移位器的访问

2、简述程序计数器pc、连接寄存器1r、堆栈指针sp、CPSR和SPSR的用法

程序计数器pc也成R15寄存器,在ARM状态下,岁每条指令以1个字作为地址增量;

在Thumb状态,以2字节作为地址增量。

连接寄存器1r:

寄存器14作为子程序连接寄存器。

当一条分支并且连接指令(BL)被执行时,寄存器14收到R15的一个拷贝。

在其他时间,R14被看做通用寄存器。

堆栈指针sp:

寄存器R13习惯用于作堆栈指针,总是指向栈顶元素。

CPSR和SPSR:

保存最近执行过的ALU操作的信息;

控制允许或禁止中断;

设置处理器操作方式。

3、简述处理器如何从ARM状态转换到Thum状态的

分支并且转换状态指令BX,在指令中制定了一个Rn寄存器,将Rn内容拷贝到PC,同时使PC[0]=0.如果Rn[0]=1,将处理器状态转换成Thumb状态,把目标地址处的代码解释为Thumb代码;

如果Rn[0]=0,将处理器状态转换成ARM状态,把目标地址处的代码解释为ARM代码。

4、ARM指令对于无符号数、带符号数装入字节或半字节到寄存器是如何操作的

指令中S=1并且H=0时,LSRSB读存储器半字数据装入寄存器;

指令STRH存寄存器半字数据到存储器。

指令中S=1并且H=0时,LDRSB指令装入半字带符号数,并扩展符号位。

方法是将存储器读出的半字数据,装入目的寄存器的bit[7:

0],bit[7]作为符号位,用这一位的值扩展到bit[31:

16]。

指令中S=1并且H=1时,LDRSH指令装入半字带符号数,并扩展符号位。

方法是将存储器读出的半字数据,装入摸底寄存器的bit[15:

0],bit[15]作为符号位,用这一位的值扩展到bit[31:

5、简述ARM指令是如何实现条件执行的

在ARM状态下,所有指令都要根据CPSR中的条件标志和指令中条件域指定的内容,有条件的执行。

指令中条件域bit[31:

28]确定在哪种情况下这条指令被执行。

如果C、N、Z和V标志的状态满足指令中条件域编码的要求,指令被执行;

否则指令忽略。

6、ARM数据处理指令在什么情况下设置CPSR中的条件码标志

CPSR中的条件码标志可能被保护或由指令的结果设置,取决于指令中的bit[20]的值。

但是对于指令TST、TEQ、CMP和CMN,汇编器产生的指令码一定会把指令的bit[20]置1,在执行指令时,由测试结果设置CPSR中的条件标志。

7、简述ARM数据处理指令如何用5位立即数制定移位量,如何用Rs指定移位量,以及对于Rm可以作为那些移位操作。

简述如何对指定的8位立即数进行循环右移。

直接使用bit[11:

7]中的值作为移位量;

使用指令中bit[11:

8]指定Rs寄存器,且用Rs中最低字节指定移位量;

逻辑左移,逻辑右移,算术右移,循环右移;

进行移位操作时,要把指令中bit[7:

0]指定的8位无符号立即数作为最低字节,高位bit[31:

8]用0扩展,形成一个32位数,对这个32位数进行循环右移。

移位的次数,由指定中bit[11:

8]指定的4位无符号数乘以2得到,分别为0,2,4,…30。

8、简述在ARM状态下,特权方式或用户方式,同样的MSR指令执行结果有何区别。

在用户方式下,CPSR的控制位被保护,不能改变,只有条件码标志能被改变。

在特权方式,允许改变整个CPSR。

在用户方式,不能使用SPSR寄存器,因为这种方式不存在这样的寄存器。

9、简述ARM单个数据传送指令中回写/不回写、先/后索引的含义。

指令中可以指定回写位,当指令中W=1时,通过计算得到的存储器地址,会写到基址存储器;

W=0时,基址寄存器的值保持原值。

基址寄存器先与偏移量加或减得到的存储器地址,再传送数据,成为先索引方式。

直接以基址寄存器内容作为存储器地址,访问存储器传送数据后,在执行基址寄存器加或减偏移量操作,称为后索引方式。

10、简述ARMLDM/STM指令堆栈操作中空、满、递增、递减的含义。

满堆栈:

堆栈指针指向栈中最后一项;

空堆栈:

堆栈指针指向栈中下一个可用空间;

递增:

STM指令使堆栈向存储器地址增大方向生长;

递减:

STM指令使堆栈向存储器地址减小方向生长。

11、简述ARM软件中断指令编码格式中bit[23:

0]的通常含义。

bit[23:

0]表示指令中的低24位称为中断即数,被处理器忽略,但是可以用来给管理方式的代码传递信息。

12、简述ARM协处理器指令如何指定协处理器和协处理器的寄存器、如何指定的处理器的操作

ARM协处理器有自己专用的寄存器组。

ARM全部协处理器指令只能与数据处理和数据传送有关。

数据处理与传送指令有不同的指令格式。

ARM执行的协处理器指令,要指定某一个协处理器进行某种操作,其他协处理器将忽略这条指令。

当1个协处理器硬件不能执行属于它的协处理器指令时,ARM920T产生一个未定义指令异常中断。

以下指令指定协处理器操作:

协处理器数据操作指令(CDP)、协处理器数据传送指令(LDC、STC)。

13、可以与协处理器寄存器交换数据的部件有哪些

(1)存储器

(2)程序计数器pc(3)CPSR

第八章

1对于PWM定时器,简要回答以下问题:

(1)、S3C2410A片内有几个定时器?

几个能够进行脉宽调制?

内有5个16位的定时器;

定时器0~3能够进行脉宽调制。

(2)定时器长度为16位还是32位?

定时器长度为16位。

(3)定时器用到S3C2410A芯片哪些引脚?

这些引脚的I/O端口中如何认定义?

使用到哪几个I/O端寄存器?

①引脚:

TOUT0—TOUT3

②这些引脚的I/O端口中定义如下表:

GPBCON

描述

GPB3

[7:

6]

00=输入01=输出10=TOUT311=保留

GPB2

[5:

4]

00=输入01=输出10=TOUT211=保留

GPB1

[3:

2]

00=输入01=输出10=TOUT111=保留

GPB0

[1:

0]

00=输入01=输出10=TOUT011=保留

③用到的I/O端寄存器:

端口B寄存器组的引脚配置寄存器GPBCON

(4)在每个定时器内部(也称一个定时器通道),有几个寄存器?

每个寄存器有哪些用途?

除定时器4外,定时器0~3中每个定时器内部都有5个寄存器:

①定时计数缓冲器寄存器TCNTBn,用于保存定时器计数初值。

TCNTBn值的不同,决定了输出信号TOUTn频率的不同。

②定时器比较缓冲寄存器TCMPBn,用于保存定时器比较初值。

TCMPBn的值,被用作脉宽调制,即在输出信号TOUTn频率不变时,对每个输出脉冲低电平、高电平占用的时间调制,也称输出信号占空比的调制。

③定时器计数寄存器TCNTn,是内部寄存器,也称为减法计数器、倒计数器或递减计数器。

定时器的计数操作在TCNTn中执行。

④定时器比较寄存器TCMPn,是内部寄存器。

在计数过程中,一旦TCNTn的值与TCMPn的值相等,计数器输出TOUTn电平由低变高。

⑤定时器计数观察寄存器TCNTOn。

在计数过程中,如果希望读出TCNTn的值,只能通过读出TCNTOn实现,不能直接读出TCNTn的值。

(5).解释以下寄存器的用途:

TCNTB0、TCMPB0、TCNT0、TCMP0、TCNTO0。

TCNTB0:

定时器计数缓冲寄存器,程序可读写,用于保存定时器计数初值。

TCMPB0:

定时器比较缓冲寄存器,程序可读写,用于保存定时器比较初值。

TCNT0:

定时器计数寄存器,是内部寄存器,程序不可读写。

TCMP0:

定时器比较寄存器,是内部寄存器,程序不可读写。

TCNTO0:

定时器计数观察寄存器,程序可读写。

(6)定时器4与定时器1有哪些区别?

定时器0与定时器1有哪些区别?

①定时器4没有TCMPB4和TCMP4,不能进行脉宽调制,只能对TCNTB4设置不同的值,改变输出信号的频率,它是一个内部定时器,没有PWM功能,输出信号不连接到S3C2410A引脚。

其它均与定时器1相同。

②定时器0有一个死区发生器,能够用于对大电流设备进行控制。

其它均与定时器1相同

(7)为什么要进行手动更新?

如何进行手动更新?

因为TCNTn和TCMPn的初值,必须由用户(程序)事先设定,在这种情况下,通过设定定时器控制寄存器TCON中某一定时器的手动更新位为1,初值从TCNTBn、TCMPBn、装到TCNTn、TCMPn。

手动更新的方法:

在定时器控制寄存器TCON中,设置对应定时器的手动更新位为1,之后定时器自动将TCNTBn和TCMPBn值送TCNTn和TCMPn。

(8)对于PWM定时器,为什么要进行自动重装?

自动重装在什么时间进行了哪些操作?

在手动更新允许时,将这个初值送到定时器计数寄存器TCNTn,在其中进行递减计数操作。

当自动重装允许时,一次计数结束(TCNTn递减计数达到0时),自动将TCNTBn的值装到TCNTn。

如果TCNTBn被读,读出值不能指示计数器当前计数状态,而是下一次定时要使用的重装值。

当TCNTn的值计数达到0时,如果允许自动重装,则TCNTBn、TCMPBn的数值分别装到TCNTn、TCMPn中,开始下一次定时操作。

如果禁止自动重装,则不发生重装操作,定时器停止。

(11)、如何调节输出信号TOUT0的占空比?

或者说在TOUT0的频率不变的情况下,如何调节才能使每一个脉冲的低电平时间变长,高电平时间变短?

如何调节才能时每一个脉冲的低电平时间变短,高电平时间变长?

TCMPBn的值越小,TOUTn输出高电平的时间越短,输出低电平的时间越长;

而TCMPBn的值越大,TOUTn输出高电平的时间越长,输出低电平的时间越短。

(12)允许在计数过程中设置下一次定时用到的参数吗?

允许在计数过程中设置下一次定时用到的参数,在计数过程中,可以给TCNTBn和TCMPBn装入一个新的值用于下一次定时。

(14)在什么场合定时器要使用死区?

如何设置死区长度?

使用PWM对大电流设备进行控制时,常常用到死区功能。

死区功能能在切断一个开关设备和接通另一个开关设备之间,允许插入一个时间间隙。

在这个时间间隙,禁止两个开关设备同时被接通,即使接通非常短的时间也不允许。

死区长度:

TCFG0[23:

16]这8位确定死区长度。

死区长度中1个单位时间,等于定时器0的1个单位时间。

(15).如何选择一个定时器产生DMA请求或中断请求?

通过编程先送出计数值到TCNTBn,送出比较值(脉宽调制值)到TCMPBn。

定时器在每段指定时间后(一次定时结束)能够产生DMA请求信号。

定时器保持DMA请求信号nDMA_REQ为低,直到定时器收到响应信号nDMA_ACK为止。

如果允许自动重装,当TCNTn计数达到0时,进行重装,同时产生中断请求或DMA请求。

(16)如何设置预分频值?

预分频值的选择在看门狗定时器的控制器WTCON中被指定。

合法的预分频值的范围从0到255.8位预分频器是可编程的,根据保存在定时器配置寄存器TCFG0中的预分频值,对PCLK分频。

prescalerl1[15:

8]这8位确定定时器2、3、4的预分频值;

prescalerl0[7:

0]这8位确定定时器0与1的预分频值。

(18).解释下列名词术语:

PWM:

脉宽调制定时器

手动更新:

TCNTn和TCMPn的初值,必须由用户程序事先设置,在这种情况下,通过设置定时器寄存器TCON中某一个定时器的手动更新位为1,初值从TCNTBn、TCMPBn装入到TCNTn、TCMPn。

自动重装:

当TCNTn计数达到0时,进行重装,同时产生中断请求或DMA请求,再开始下一次定时。

如果不允许自动重装,则定时器停止。

预分频:

8为分频器是可编程的,根据保存在定时器配置寄存器TCFG0中的预分频值,对PCLK分频。

时钟分频:

定时器配置寄存器TCFG1为每个定时器选择时钟分频信号(1/2、1/4、1/8、1/16)或选择TCLK0、TCLK1。

死区:

死区功能在切断一个开关设备和接通另一个开关设备之间,允许插入一个时间间隙。

双缓冲:

PWM计时器有双缓冲功能,有两个缓冲器。

再不停止当前计数操作的情况下,允许你下一次定时操作将要使用的重装值。

定时器最小分辨率:

输入到定时器计数器寄存器TCNTn的一个计数脉冲的时间。

当预分频指=0时,一个计数脉冲的时间最短。

最大定时区间:

在最大分辨率的情况下,当TCNTBn设置为65535时,定时器所需时间。

输出电平控制:

反相器设定为off或on,其输出信号TOUTn的波形高低电平正好相反

第九章

1、对于S3C2410A片内的UART,简要回答以下问题:

(1)、S3C2410A片内的UART,提供了几通道的异步串行I/O?

它们的引脚信号有哪些不同?

提供了3个独立的异步串行通道。

通道0和通道1带有nRTS0、nCTS0、nRTS1和nCTS1,而通道3没有。

(3)串行数据一帧格式中起始位、停止位、校验位的值,是由程序产生的还是由UART自动产生的?

串行数据一帧格式中起始位、停止位、校验位的值,是由程序产生的。

(4)数据发送会产生错误吗?

数据接受会产生那些错误?

溢出错误与帧错误有何区别?

数据发送会产生错误;

数据接收会产生溢出错误和帧错误;

溢出错误:

指示接收器收到的旧数据还没有被读走,新收到的数据覆盖了这个旧数据;

帧错误:

指示收到的数据没有合法的停止位。

(5).解释接收FIFO触发电平的

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2