- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM嵌入式系统复习痰拟
嵌入式系统题RISC?什么是CISC?
RISC是精简指令集计算机的缩写。CISC是复杂指令集计算机的缩写。
ARM7TDMI中的T、D、S、I分别表示什么含义?
T:支持高密度16位的Thumb指令集; D:支持片上调试; S:ARM7TDMI 的可综合(synthesizable)版本(软核); I:支持EmbededICE观察硬件; M:支持64位乘法
ARM7TDMI处理器采用什么样的体系结构,其可寻址地址空间多大?
ARM处理器使用冯.诺依曼结构;使用单个平面的232个8位字节地址空间。地址空间可以看作是包含230个32位字,或231个16位半字。
ARM7TDMI处理器采用几级流水线处理,使用何种存储器编址方式?
ARM7TDMI处理器采用三级流水线;ARM处理器将存储器看做是一个从0开始的线性递增的字节集合。
ARM处理器模式和ARM处理器状态有什么区别?
ARM处理器模式指用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。ARM处理器状态指ARM状态和Thumb状态
ARM两种处理器状态下均有上述7种模式。
ARM7TDMI内部寄存器特点?
分别为31个通用32位寄存器和6个状态寄存器。它们不能在同一使劲同时被访问,对其的访问取决于处理器状态和处理器模式。
ARM7TDMI有几种寻址方式?
寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。
ARM7的内部寄存器R13、R14、R15的主要功能和作用?
R13:堆栈指针,用于保存堆栈的出入口处地址、保存待使用寄存器的内容
R14:连接寄存器,当使用BL指令调用子程序时,返回地址将自动存入14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址;其他时候作为通用寄存器。
R15:程序寄存器,总是指向正在“取指”的指令
请说明MOV指令与LDR加载指令的区别和用途?
LDR的操作数既可以来源于寄存器也可以来源于存储器,MOV的操作数能来源于寄存器。
LDR指令从内存中读取数据放入寄存器,用于对内存变量和数据的访问、查表、程序的跳转、外围部件的控制操作等;MOV指令将8位立即数或寄存器传送到目标寄存器(Rd),可用于移位运算等操作。
为什么要进行存储器重映射?
存储器重映射是为了实现引导块和异常向量表地址的固定。
重映射引导块,有利于用户调用其中的某些程序,增加代码的可移植性;
异常向量表重映射为了能让ARM内核通过访问0x0000~0x003F地址访问到其他存储区域的向量表。
FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?
FIQ是快速中断,具有最高优先级,中断处理转入FIQ模式;IRQ是普通中断,优先级低于FIQ,中断处理转入IRQ模式。
向量IRQ支持16个向量IRQ中断,16个优先级,能为每个中断源设置服务程序地址;非向量IRQ支持一个非向量IRQ中断,所有中断都共用一个相同的服务程序入口地址。
什么是嵌入式系统嵌入式系统ARM指令集和Thumb指令集两种。
ARM指令集:指令32位,效率高,代码密度低,所有ARM指令都是可以有条件执行的 。
Thumb指令集:指令16位,代码密度较高,Thumb指令仅有一条指令具备条件执行功能。保持ARM的大多数性能上的优势,是ARM指令集的子集。
ARM7TDMI有几种处理器模式,简单介绍该几种模式的工作特点?
ARM7TDMI有7种处理器模式。
用户模式:正常程序运行的工作模式,不能直接从用户模式切换到其它模式
系统模式:用于支持操作系统的特权任务等,可以直接切换到其它模式
快中断模式:用于快速中断处理,支持高速数据传输及通道处理,只有在FIQ异常响应时,才进入此模式。
中断模式:用于通用中断处理,只有在IRQ异常响应时,才进入此模式。
管理模式:供操作系统使用的一种保护模式,只有在系统复位和软件中断响应时,才进入此模式。
中止模式:用于虚拟内存和/或存储器保护。
未定义模式:支持软件仿真的硬件协处理器,只有在未定义指令异常响应时,才进入此模式。
什么是引导程序?什么是启动程序?两者有什么区别?
引导程序是ARM微处理器在上电或复位后首先运行Boot Block中的一段代码;启动程序是在运行引导程序后,正式运行用户main函数之前,还需要运行一段代码
引导程序由芯片厂商固化在芯片中,功能包括:判断运行哪个存储器上的程序、检查用户代码是否有效、判断芯片是否被加密、芯片的在应用编程(IAP)以及在系统编程功能(ISP)。启动程序由用户添加,功能包括:向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、外围初始化,地址重映射等操作。
三、看图回答问题
下图是ARM7处理器的当前程序
文档评论(0)