嵌入式课后答案整理.docx
- 文档编号:4478738
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:13
- 大小:64.81KB
嵌入式课后答案整理.docx
《嵌入式课后答案整理.docx》由会员分享,可在线阅读,更多相关《嵌入式课后答案整理.docx(13页珍藏版)》请在冰豆网上搜索。
嵌入式课后答案整理
第二章
(1)S3C2410AAHB总线中连接了哪些控制器?
APB总线上连接了哪些部件?
答:
AHB:
存储器控制器;NandFash控制器;中断控制器;LCD控制器;USB主控制器;时钟与电源管理。
APB:
通用异步收发器;通用I/O端口(GPIO);定时器/脉冲调制;实时时钟(RTC);看门狗定时器;A/D转换器与触摸屏;IIC(ItergratedCircuit,内部集成电路)总线接口;SPI(串行外设接口);MMC/SD/SDIO主控制器;USB设备控制器。
(2)S3C2410A中使用的CPU内核是那个公司的产品?
什么型号?
答:
ARM公司的ARM920T内核。
(3)S3C2410A的存储器控制器可以支持哪些类型的存储器芯片?
答:
bank0-bank7支持ROM/SRAM,其中bank6-bank7也支持SDRAM。
(4)S3C2410A中LCD控制器使用什么存储器作为显示存储器?
答:
LCD控制器支持STNLCD显示以及TFTLCD显示,显示缓冲区使用系统存储器(内存),支持专用LCDDMA将显示缓冲区数据传送到LCD控制器缓冲区。
(5)4通道DMA支持存储器到存储器的数据传输吗?
支持I/O到I/O的数据传输吗?
支持I/O到存储器的数据传输吗?
答:
支持;支持;支持。
(6)简述AHB、APB总线的含义。
答:
AHB是一种片上总线,用于连接时钟频率和高性能的系统模块,支持突发传输、支持刘顺县操作,也支持单个数据传输,所有的时序都以单一时钟的前沿为基准操作。
APB也是一种片上总线,为低性能、慢速外设提供了较为简单的接口,不支持流水线操作。
(7)S3C2410A主时钟频率最高达到多少MHz?
答:
266MHz。
(8)S3C2410A内有几通道A/D转换器?
转换器是多少位的?
答:
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:
16]。
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触发电平的含义、发送FIFO触发电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 课后 答案 整理