ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:64.81KB ,
资源ID:4478738      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4478738.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式课后答案整理.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式课后答案整理.docx

1、嵌入式课后答案整理第二章(1)S3C2410A AHB总线中连接了哪些控制器?APB总线上连接了哪些部件?答:AHB:存储器控制器;NandFash 控制器;中断控制器;LCD控制器;USB主控制器;时钟与电源管理。APB:通用异步收发器;通用I/O端口(GPIO);定时器/脉冲调制;实时时钟(RTC);看门狗定时器;A/D转换器与触摸屏;IIC(Itergrated Circuit,内部集成电路)总线接口;SPI(串行外设接口);MMC/SD/SDIO主控制器;USB设备控制器。(2)S3C2410A中使用的CPU内核是那个公司的产品?什么型号?答:ARM公司的ARM920T内核。(3)S3

2、C2410A的存储器控制器可以支持哪些类型的存储器芯片?答:bank0-bank7支持ROM/SRAM,其中bank6-bank7也支持SDRAM。(4)S3C2410A中LCD控制器使用什么存储器作为显示存储器?答:LCD控制器支持STN LCD显示以及TFT LCD显示,显示缓冲区使用系统存储器(内存),支持专用LCD DMA将显示缓冲区数据传送到LCD控制器缓冲区。(5)4通道DMA支持存储器到存储器的数据传输吗?支持I/O到I/O的数据传输吗?支持I/O到存储器的数据传输吗?答:支持;支持;支持。(6)简述AHB、APB总线的含义。答:AHB是一种片上总线,用于连接时钟频率和高性能的系

3、统模块,支持突发传输、支持刘顺县操作,也支持单个数据传输,所有的时序都以单一时钟的前沿为基准操作。APB也是一种片上总线,为低性能、慢速外设提供了较为简单的接口,不支持流水线操作。(7)S3C2410A主时钟频率最高达到多少MHz?答:266MHz。(8)S3C2410A内有几通道A/D转换器?转换器是多少位的?答:8通道;10位。(9)S3C2410A支持多少个中断源?支持多少个外部中断源?答:55个;24个外部中断源。(10)S3C2410A存储器寻址空间有多大?每个bank空间有多大?支持几个banks?答:1GB;128MB;8个。(11)S3C2410A微处理器支持几种数据总线宽度?

4、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有几种指令集?各有什么特点?答:ARM920

5、T有两种指令集,32位的ARM和16位的Thumb指令集。特点:ARM指令集:所有的指令都是32位固定长度,便于译码和流水线实现,并且在内存中以4字节边界地址对齐保存;只有LOAD-STORE类型的指令才可以访问内存;使用了桶形移位器,可以在一个指令周期内完成移位操作和ALU操作。Thumb指令集:Thumb指令集虽然是一个16位的指令集,但是能够在32位的ARM920T处理器上运行。Thumb指令集执行效率比传统的16位结构的处理器更有效,也比32位结构的处理器有更高的代码密度。Thumb指令集是32位ARM指令集中最常用的指令功能上的一个子集。Thumb指令集有效果相同的32位ARM指令对

6、应。(17)ARM920T有几种操作状态?如何转换?每种状态各有什么特点?答:两种状态,ARM状态,Thumb状态;使用ARM指令集的BX指令,并且BX指令指定寄存器bit=1,能够从ARM状态进入Thumb状态。使用Thumb指令集的BX指令指定寄存器的bit0=0,能够从Thumb状态进入ARM状态。特点:ARM状态,在这种状态执行32位长度的、字边界对齐的ARM指令。Thumb状态,在这种状态执行16位长度的、半字边界对齐的Thumb指令。简述存储器格式中大端,小端格式有何不同?答:大端格式字寻址使用的地址,是数据最高字节对应的字节地址。小端格式字寻址使用的地址,是数据最字节对应的字节地

7、址。19、ARM920T支持哪几种数据类型?答:字,32位;半字,16位;字节,8位。20、ARM920T支持哪几种操作方式?答:ARM920T支持7种操作方式,用户、快速中断请求、中断请求、管理程序、终止、系统、未定义。21、特权方式包含哪几种操作方式?答:快速中断请求、中断请求、管理程序、终止、系统、未定义。22、ARM状态下不同的操作方式分别可以使用那些寄存器?Thumb状态下不同的操作方式分别可以使用那些寄存器?答:ARM状态下System and User:r0到r14,r15(PC)FIQ:r0到r7,r8-fiq到r14-fiq,r15(PC)Supervisor:r0到r12,

8、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状态下System and User:r0到r7,;FIQ:r0到7,SP-fiq,LR-fiq,PC;Supervisor:r0到r7,SP-svc ,LR-svc,PC;23、简述LR,PC、SPSR、CPSR和SP寄存器的用法? 答:LR:寄存器r14用作子程序连接寄存器。当一条分支并且连接指令(BL)被执行时,寄存

9、器r14收到r15的一个拷贝。在其他时间,r14能被看作通用寄存器。PC:在ARM状态下,r15的bit1:0是无定义且必须被忽略的,而r15的bit31:2含有程序计数值。在Thumb状态下,r15的bit0是无定义且必须被忽略的,而r15的bit31:1含有程序计数值。CPSR和SPSR与ARM状态下的CPSR和SPSR是相同的;SP映射到ARM状态下的r1324、什么叫高寄存器组?低寄存器组?答:Thumb状态下,寄存器r0到r7称为低寄存器组,寄存器r8到r15称为高寄存器组。25、简述程序状态器的格式和为一位的含义?答:程序状态寄存器格式有bit31:28 条件码标志,bit31N负

10、于或低于 bit30Z 零 bit29C 进位/溢位/扩展 bit28v 溢出 bit27:8保留 bit7:0控制位 bit7IRQ禁止 bit6FIQ禁止bit5状态位bit4:0方式位26、简述异常进入和退出需要做哪些处理?答:在对应的LR中保存下一条指令的地址。 当异常是从ARM状态进入,处理器复制下一条指令的地址到LR,这时地址是PC+4或PC+8,与不同的异常有关。 当异常从Thumb状态进入,处理器写当前的PC值到LR,这时地址是PC+2或PC+4,与不同的异常有关。 异常处理不必确定进入异常前的状态。例如由SWI进入异常,MOVS PC,r14_svc总是返回到下一条指令,而不

11、管SWI是在ARM或Thumb状态下被执行。退出:当异常处理完时,异常处理程序必须: 参考表2.4,对应不同类型的异常,直接传送LR到PC或从LR中减去一个偏移量送到PC。 复制SPSR到CPSR。 清除在进入异常时被设置的中断禁止标志。 将SPSR值恢复到CPSR的同时,自动地将T位的值恢复成进入异常前的值。27、简述终止的一般含义?答:中止处理程序必须: 确定中止原因,使请求的数据可用。 用LDR Rn,r14_abt,#-8指令,取回引起中止的指令,确定那条指令是否指定了回写基址寄存器,如果是这样,中止处理程序还必须:从这条指令确定对基址寄存器回写的偏移量是多少;当中止处理程序返回时,使

12、用相反的偏移量重装到基址寄存器。28、简述未定义指令的用途?答:当ARM7TDMI处理器遇到一条指令,这条指令即不是ARM7TDMI处理器的指令,又不是系统内任何协处理器能处理的指令,ARM7TDMI产生未定义指令陷阱。29、说出各异常优先级的次序?答:复位最高,数据中断次之,然后是快速中断请求,中断请求,指令预取中止,未定义指令和软件中断最低30、说出各异常的向量地址?答:复位的向量地址为0x00000000,未定义指令为0x00000004,软件中断0x00000008,预取中止0x0000000C,数据中止0x00000010,保留0x00000014,中断请求0x00000018,快速

13、中断请求0x0000001C31、S3C2410A有多少个引脚?内核使用电压时多少伏?S3C2410A片内的寄存器和I/O使用电压是多少伏?答:S3C2410A有272个引脚,内核1.8V用于S3C2410A-20;内核2V用于S3C2410A-26;S3C2410A片内的寄存器和I/O使用电压是3.3V32、S3C2410A Nand Flash控制器支持从Nand Flash引导系统吗?答:支持33、S3C2410A LCD控制器支持哪两种不同类型的液晶显示器?答:LCD控制器支持STN LCD显示以及TFT LCD显示34、S3C2410A支持USB主控制器吗?支持USB设备控制器吗?答

14、:支持2个端口的USB主(Host)控制器兼容OHCI Rev 1.0兼容USB V 1.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

15、习惯用于作堆栈指针,总是指向栈顶元素。CPSR和SPSR :保存最近执行过的ALU操作的信息;控制允许或禁止中断;设置处理器操作方式。3、简述处理器如何从ARM状态转换到Thum状态的答:分支并且转换状态指令BX,在指令中制定了一个Rn寄存器,将Rn内容拷贝到PC,同时使PC0=0.如果 Rn0=1,将处理器状态转换成Thumb状态,把目标地址处的代码解释为Thumb代码;如果Rn0=0,将处理器状态转换成ARM状态,把目标地址处的代码解释为ARM代码。4、ARM指令对于无符号数、带符号数装入字节或半字节到寄存器是如何操作的答:指令中S=1并且H=0时,LSRSB读存储器半字数据装入寄存器;指

16、令STRH存寄存器半字数据到存储器。指令中S=1并且H=0时,LDRSB指令装入半字带符号数,并扩展符号位。方法是将存储器读出的半字数据,装入目的寄存器的bit7:0,bit7作为符号位,用这一位的值扩展到bit31:16。指令中S=1并且H=1时,LDRSH指令装入半字带符号数,并扩展符号位。方法是将存储器读出的半字数据,装入摸底寄存器的bit15:0,bit15作为符号位,用这一位的值扩展到bit31:16。5、简述ARM指令是如何实现条件执行的答:在ARM状态下,所有指令都要根据CPSR中的条件标志和指令中条件域指定的内容,有条件的执行。指令中条件域bit31:28确定在哪种情况下这条指

17、令被执行。如果C、N、Z和V标志的状态满足指令中条件域编码的要求,指令被执行;否则指令忽略。6、ARM数据处理指令在什么情况下设置CPSR中的条件码标志答: CPSR中的条件码标志可能被保护或由指令的结果设置,取决于指令中的bit20的值。但是对于指令TST、TEQ、CMP和CMN,汇编器产生的指令码一定会把指令的bit20置1,在执行指令时,由测试结果设置CPSR中的条件标志。7、简述ARM数据处理指令如何用5位立即数制定移位量,如何用Rs指定移位量,以及对于Rm可以作为那些移位操作。简述如何对指定的8位立即数进行循环右移。答:直接使用bit11:7中的值作为移位量;使用指令中bit11:8

18、指定Rs寄存器,且用Rs中最低字节指定移位量;逻辑左移,逻辑右移,算术右移,循环右移;进行移位操作时,要把指令中bit7:0指定的8位无符号立即数作为最低字节,高位bit 31:8用0扩展,形成一个32位数,对这个32位数进行循环右移。移位的次数,由指定中bit11:8指定的4位无符号数乘以2得到,分别为0,2,4,30。8、简述在ARM状态下,特权方式或用户方式,同样的MSR指令执行结果有何区别。答:在用户方式下,CPSR的控制位被保护,不能改变,只有条件码标志能被改变。在特权方式,允许改变整个CPSR。在用户方式,不能使用SPSR寄存器,因为这种方式不存在这样的寄存器。9、简述ARM单个数

19、据传送指令中回写/不回写、先/后索引的含义。答:指令中可以指定回写位,当指令中W=1时,通过计算得到的存储器地址,会写到基址存储器;W=0时,基址寄存器的值保持原值。基址寄存器先与偏移量加或减得到的存储器地址,再传送数据,成为先索引方式。直接以基址寄存器内容作为存储器地址,访问存储器传送数据后,在执行基址寄存器加或减偏移量操作,称为后索引方式。10、简述ARM LDM/STM指令堆栈操作中空、满、递增、递减的含义。答:满堆栈:堆栈指针指向栈中最后一项;空堆栈:堆栈指针指向栈中下一个可用空间;递增:STM指令使堆栈向存储器地址增大方向生长;递减:STM指令使堆栈向存储器地址减小方向生长。11、简

20、述ARM软件中断指令编码格式中bit23:0的通常含义。答:bit23:0表示指令中的低24位称为中断即数,被处理器忽略,但是可以用来给管理方式的代码传递信息。12、简述ARM协处理器指令如何指定协处理器和协处理器的寄存器、如何指定的处理器的操作答:ARM协处理器有自己专用的寄存器组。ARM全部协处理器指令只能与数据处理和数据传送有关。数据处理与传送指令有不同的指令格式。 ARM执行的协处理器指令,要指定某一个协处理器进行某种操作,其他协处理器将忽略这条指令。当1个协处理器硬件不能执行属于它的协处理器指令时,ARM920T产生一个未定义指令异常中断。以下指令指定协处理器操作:协处理器数据操作指

21、令(CDP)、协处理器数据传送指令(LDC、STC)。13、可以与协处理器寄存器交换数据的部件有哪些答:(1)存储器(2)程序计数器pc (3)CPSR第八章1对于PWM定时器,简要回答以下问题:(1)、S3C2410A片内有几个定时器?几个能够进行脉宽调制?答:内有5个16位的定时器;定时器03能够进行脉宽调制。(2)定时器长度为16位还是32位?答:定时器长度为16位。(3)定时器用到S3C2410A芯片哪些引脚?这些引脚的I/O端口中如何认定义?使用到哪几个I/O端寄存器?答:引脚:TOUT0TOUT3这些引脚的I/O端口中定义如下表:GPBCON位描述GPB37:600=输入 01=输

22、出 10=TOUT3 11=保留GPB25:400=输入 01=输出 10=TOUT2 11=保留GPB13:200=输入 01=输出 10=TOUT1 11=保留GPB01:000=输入 01=输出 10=TOUT0 11=保留用到的I/O端寄存器:端口B寄存器组的引脚配置寄存器GPBCON(4)在每个定时器内部(也称一个定时器通道),有几个寄存器?每个寄存器有哪些用途?答: 除定时器4外,定时器03中每个定时器内部都有5个寄存器:定时计数缓冲器寄存器TCNTBn,用于保存定时器计数初值。TCNTBn值的不同,决定了输出信号TOUTn频率的不同。 定时器比较缓冲寄存器TCMPBn,用于保存定

23、时器比较初值。TCMPBn的值,被用作脉宽调制,即在输出信号TOUTn频率不变时,对每个输出脉冲低电平、高电平占用的时间调制,也称输出信号占空比的调制。 定时器计数寄存器TCNTn,是内部寄存器,也称为减法计数器、倒计数器或递减计数器。定时器的计数操作在TCNTn中执行。 定时器比较寄存器TCMPn,是内部寄存器。在计数过程中,一旦TCNTn的值与TCMPn的值相等,计数器输出TOUTn电平由低变高。 定时器计数观察寄存器TCNTOn。在计数过程中,如果希望读出TCNTn的值,只能通过读出TCNTOn实现,不能直接读出TCNTn的值。 (5). 解释以下寄存器的用途:TCNTB0、TCMPB0

24、、TCNT0、TCMP0、TCNTO0。答:TCNTB0:定时器计数缓冲寄存器,程序可读写,用于保存定时器计数初值。TCMPB0:定时器比较缓冲寄存器,程序可读写,用于保存定时器比较初值。TCNT0:定时器计数寄存器,是内部寄存器,程序不可读写。TCMP0:定时器比较寄存器,是内部寄存器,程序不可读写。TCNTO0:定时器计数观察寄存器,程序可读写。(6)定时器4与定时器1有哪些区别?定时器0与定时器1有哪些区别?答:定时器4没有TCMPB4和TCMP4,不能进行脉宽调制,只能对TCNTB4设置不同的值,改变输出信号的频率,它是一个内部定时器,没有PWM功能,输出信号不连接到S3C2410A引

25、脚。其它均与定时器1相同。定时器0有一个死区发生器,能够用于对大电流设备进行控制。其它均与定时器1相同(7)为什么要进行手动更新?如何进行手动更新?答:因为TCNTn和TCMPn的初值,必须由用户(程序)事先设定,在这种情况下,通过设定定时器控制寄存器TCON中某一定时器的手动更新位为1,初值从TCNTBn、TCMPBn、装到TCNTn、TCMPn。手动更新的方法:在定时器控制寄存器TCON中,设置对应定时器的手动更新位为1,之后定时器自动将TCNTBn和TCMPBn值送TCNTn和TCMPn。(8)对于PWM定时器,为什么要进行自动重装?自动重装在什么时间进行了 哪些操作?答:在手动更新允许

26、时,将这个初值送到定时器计数寄存器TCNTn,在其中进行递减计数操作。当自动重装允许时,一次计数结束(TCNTn递减计数达到0时),自动将TCNTBn的值装到TCNTn。如果TCNTBn被读,读出值不能指示计数器当前计数状态,而是下一次定时要使用的重装值。当TCNTn的值计数达到0时,如果允许自动重装,则TCNTBn、TCMPBn的数值分别装到TCNTn、TCMPn中,开始下一次定时操作。如果禁止自动重装,则不发生重装操作,定时器停止。(11)、如何调节输出信号TOUT0的占空比?或者说在TOUT0的频率不变的情况下,如何调节才能使每一个脉冲的低电平时间变长,高电平时间变短?如何调节才能时每一

27、个脉冲的低电平时间变短,高电平时间变长?答:TCMPBn的值越小,TOUTn输出高电平的时间越短,输出低电平的时间越长;而TCMPBn的值越大,TOUTn输出高电平的时间越长,输出低电平的时间越短。(12)允许在计数过程中设置下一次定时用到的参数吗?答:允许在计数过程中设置下一次定时用到的参数,在计数过程中,可以给TCNTBn和TCMPBn装入一个新的值用于下一次定时。(14)在什么场合定时器要使用死区?如何设置死区长度?答:使用PWM对大电流设备进行控制时,常常用到死区功能。死区功能能在切断一个开关设备和接通另一个开关设备之间,允许插入一个时间间隙。在这个时间间隙,禁止两个开关设备同时被接通

28、,即使接通非常短的时间也不允许。死区长度: TCFG023:16这8位确定死区长度。死区长度中1个单位时间,等于定时器0的1个单位时间。(15). 如何选择一个定时器产生DMA请求或中断请求?答:通过编程先送出计数值到TCNTBn,送出比较值(脉宽调制值)到TCMPBn。定时器在每段指定时间后(一次定时结束)能够产生DMA请求信号。定时器保持DMA请求信号nDMA_REQ为低,直到定时器收到响应信号 nDMA_ACK为止。如果允许自动重装,当TCNTn计数达到0时,进行重装,同时产生中断请求或DMA请求。(16)如何设置预分频值?答:预分频值的选择在看门狗定时器的控制器WTCON中被指定。合法

29、的预分频值的范围从0到255. 位预分频器是可编程的,根据保存在定时器配置寄存器TCFG0中的预分频值,对PCLK分频。prescalerl115:8这8位确定定时器2、3、4的预分频值;prescalerl07:0这8位确定定时器0与1的预分频值。(18).解释下列名词术语:PWM:脉宽调制定时器手动更新:TCNTn和TCMPn的初值,必须由用户程序事先设置,在这种情况下,通过设置定时器寄存器TCON中某一个定时器的手动更新位为1,初值从TCNTBn、TCMPBn装入到TCNTn、TCMPn。自动重装:当TCNTn计数达到0时,进行重装,同时产生中断请求或DMA请求,再开始下一次定时。如果不

30、允许自动重装,则定时器停止。预分频:8为分频器是可编程的,根据保存在定时器配置寄存器TCFG0中的预分频值,对PCLK分频。时钟分频:定时器配置寄存器TCFG1为每个定时器选择时钟分频信号(1/2、1/4、1/8、1/16)或选择TCLK0、TCLK1。死区:死区功能在切断一个开关设备和接通另一个开关设备之间,允许插入一个时间间隙。在这个时间间隙,禁止两个开关设备同时被接通,即使接通非常短的时间也不允许。双缓冲:PWM计时器有双缓冲功能,有两个缓冲器。再不停止当前计数操作的情况下,允许你下一次定时操作将要使用的重装值。定时器最小分辨率:输入到定时器计数器寄存器TCNTn的一个计数脉冲的时间。当

31、预分频指=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触发电

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

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