ARM嵌入式系统习题课_第1页
ARM嵌入式系统习题课_第2页
ARM嵌入式系统习题课_第3页
ARM嵌入式系统习题课_第4页
ARM嵌入式系统习题课_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ARM嵌入式系统习题课第二章ARM7体系结构(7)CPSR寄存器中哪些位用来定义处理器状态?寄存器CPSR为当前程序状态寄存器,当控制位T置位时,处理器处于Thumb状态,执行Thumb指令;当控制位T清零时,处理器处于ARM状态,执行ARM指令。(8)描述一下如何禁止IRQ和FIQ的中断?

标志位I和F都是中断禁止标志位,用来使能或禁止ARM的两种外部中断源,具体设置如下:当控制位I置位时,IRQ中断被禁止,否则允许IRQ中断使能;

当控制位F置位时,FIQ中断被禁止,否则允许FIQ中断使能。

2、定义R0=0x12345678,假设使用存储指令将R0的值放在0x4000单元中。如果存储器格式为大端格式,请写出在执行加载指令将存储器0x4000单元内容取出存放到R2寄存器操作后所得R2的值。如果存储器改为小端格式,所得的R2值又为多少?低地址0x4000单元的字节内容分别是多少?

地址大端模式小端模式0x400378120x400256340x400134560x400012783、请描述一下ARM7TDMI产生异常的条件是什么?各种异常会使处理器进入哪种模式?进入异常时内核有何操作?各种异常的返回指令又是什么?

(1)只要正常的程序流暂时被中止,处理器就会进入异常模式。例如在用户模式下执行程序时,当外设向处理器内核发出中断请求导致内核从用户模式切换到异常中断模式。

(2)软件中断异常(SWI)、未定义的指令、中止(预取中止、数据中止)、快速中断(FIQ)、中断(IRQ)、复位。

(3)a、将异常处理程序的返回地址(加固定的偏移量)保存到相应的异常模式下的LR,异常处理程序完成后的返回可通过将LR的值减去偏移量后写入PC;b、将CPSR的当前值保存到相应异常模式下的SPSR;

c、设置CPSR为相应的异常模式d、设置PC为相应异常处理程序的中断入口向量地址,跳转到相应的异常中断处理程序执行。

(4)中断SUBSPC,R14_irq,#4

快速中断(FIQ)SUBSPC,R14_fiq,#4

未定义的指令MOVSPC,R14_und

预取指中止SUBSPC,R14_abt,#4

数据中止SUBSPC,R14_abt,#8

软件中断异常MOVSPC,R14_svc

复位无

注:“MOVSPC,R14_svc”是指在管理模式下执行“MOVSPC,R14”第三章ARM7TDMI(-S)指令系统(1)ARM7TDMI(-S)有几种寻址方式?“LDRR1,[R0,#0x08]”属于哪种寻址方式?

答:有8种寻址方式:1.寄存器寻址2.立即寻址3.寄存器移位寻址4.寄存器间接寻址5.基址寻址6.多寄存器寻址7.堆栈寻址8.相对寻址;“LDRR1,[R0,#0x08]”属于基址寻址。(3)ARM指令中的第2个操作数有哪几种形式?列举5个8位图立即数。

答:a.常数表达式(8位图)b.寄存器方式c.寄存器移位方式;

八位位图即常熟是由一个八位的常数循环移位偶数位得到的0x3FC、0、0xF0000000、200、0xF0000001。(5)请指出MOV指令与LDR加载指令的区别及用途?

答:MOV指令的源操作数是常数或(带偏移量的)寄存器,用于寄存器之间的数据传送;LDR指令的源操作数是地址,用于存储器到寄存器的数据传送。(6)CMP指令是如何执行的?写一程序,判断R1的值是否大于0x30,是则将R1减去0x30。

答:CMP指令是将寄存器Rn的值减去operand2的值,根据操作的结果更新CPSR中的相应条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。

比如:CMP{cond} Rn,operand2CMP R1,#0x30 ;将R1与常数0x30比较

LDRLEPC,LR;如果小于或等于0x30,则程序返回

SUB R1,R1,#0x30;大于0x30,则将R1减去0x30,结果存回R1

(7)调用子程序是用B指令还是用BL指令?请写出返回子程序的指令。

答:调用子程序是用BL指令;

MOVPC,LR或BXLR

(8)请指出LDR伪指令的用法。指令格式与LDR加载指令的区别是什么?答:LDR伪指令用于加载32位的立即数或一个地址值到指定的寄存器,它还常用于加载芯片外围功能部件的寄存器地址(32位立即数),一实现各种控制操作,与ARM指令的LDR相比,伪指令的LDR的参数有“=”号。比如:LDRR0,=0x123456782、(1)0xFFFF000F(A)+0x0000FFF1(B)--------------------0x00000000NZCV=0110如果两个操作数是有符号的,A是负数,B是正数,和是0,没有溢出,所以V=0。如果两个操作数是无符号数,和是0,有进位,所以C=1。(2)0x7FFFFFFF(A)+0x02345678(B)---------------------0x82345677NZCV=1001如果两个操作数是有符号数,A是正数,B是正数,和是负数,有溢出,所以V=1。如果两个操作数是无符号数,没有进位,所以C=0。(3)

67654321(A)+23110000(B)-------------------0x0568F421NZCV=0000如果两个操作数是有符号数,A是正数,B是正数,和是正数,没有溢出,所以V=0。如果两个操作数是无符号数,没有进位,所以C=0。第四破章LP拘C2闸00俗0系列AR谋M硬件屋结构(2)请传描述LP约C2府21谊0/绘22范00的P0宝.1赞4、P1游.2悦0、P1埋.2谜6、BO关OT抄1和BO鼠OT卧0引脚围在芯催片复济位时据分别缺有什畜么作斗用?踏并简尊单说苹明LP卧C2能00愿0系列懒的AR在M7微控钉制器伸的复争位流铅程答:P0斯.1浇4的低见电平绕强制订片内线引导漫装载际程序皱复位含后控体制器纽奉件的悄操作押即进涌入IS碍P状态P1玻.2寨0的低寇电平素使P1辈.2嗽5~期1.匆26复位区后用猎作跟宇踪端伸口P1耳.2猫6的低瓦电平壳使P1仿.3按1~非1.此26复位性后用智作一姑个调品试端幸口当芯壳片在擦复位通时,BO锐OT盾0与BO袜OT板1引脚驰决定竿芯片烟复位肝后运柏行片晨内还懂是片悉外存蔽储器逃上的艺用户筋代。当引黄脚为饲低电虹平时垄,器暗件复奖位,I/漫O口和心外围祝功能团进入耻默认竭状态寺,处驱理器费从地婆址零长开始柄执行劲程序抢,复离位信作号是冻具有流迟滞罪作用绒的TT盏L电平援。(3)LP屯C2山00乌0系列AR用M7微控羊制器政对向修量表灰有何惧要求李(向槽量表石的保映留字肆)?答:班向量碗表所透有数机据32位累暑加和描为零笼(0x炎00衣00产00址00勒~0闹x0冠00丙00端01奖C的8个字芬的机唤器码拥累加铲),鞭才能槽脱机枕运行绳用户征程序谢,这提是LP字C2嗓11闭4/左21战24妙/2拴21熔2/拥22赶14的特崇性(4)如闭何启蜘动LP对C2下00态0系列AR伸M7微控淋制器石的IS固P功能煎?相膛关电井路该殃如何录设计痒?答:邮有两强种情郑况可辆以使晶用芯挤片进赠入IS趁P状态(1)将构芯片莲的P0繁.1饲4引脚快拉低际后,斜复位麦芯片杰,可梁进入IS过P状态使;(2)在芳芯片厌内部助五有恶效用绑户代絮码时绩,Bo忙ot风B未lo湿ck自动诉进入IS秀P状态消。如果颂用户污需要蔑使用IS立P功能筑,则拳可以槐设计滨一个锅跳线主将P0隔.1冻4连接飘到地骂,若德需要赠进入IS筝P,将鄙此跳芬线短蜡接即归可,在若想众要脱毙机运刃行程舰序,汗将此核跳线重断开郑即可讨。(6)若LP罚C2帖21撤0/光22救20的ba溉nk府0存储秋块使殖用32位总壶线,拖访问ba息nk估0时,粮地址晶线A1、A0是否必有效种?EM坝C模块永中的BL浆S0激~B全LS雹4什么尽功能讨?答:无效(如果罗存储泡器组奴配置大成16位宽,则不床需要A0;8位宽志的存布储器逆组需趣要使幼用A0。);字肥节定谨位选义择信阳号。(7)LP困C2丈00舌0系列AR星M7微控僻制器习具有竟引脚律功能渣复用弱特性幻玉,那璃么如餐何设铸置某输个引旺脚为挺指定膛功能充?P1脑73答:(8)FI验Q、IR栗Q有什坏么不缝同,蝇向量IR疯Q和非欧向量IR责Q有什决么不衣同?懒(P1供89)答:羽向现量中钟断控或制器VI呢C具有32个中很断请寇求输吃入,巾可将流其编心程分师为3类,FI牺Q,向量IR辨Q和非管向量IR沟Q。FI读Q(fa盯st干i残nt足er张rp燃t炸re夜qu耀es络t)快龟速中悄断请姓求要垂求具汇有最棋高优陡先级使。如盆果分倡配给FI踪蝶Q的请杏求多新于一互个,VI停C将中护断请缩慧求相甘或后缓向AR踏M处理氏器产逐生FI困Q信号绩。当爸只有森一个料中断补被分犁配为FI僻Q时可严实现执最短学的FI延Q等待觉,但眼如果四分配肢给IF习IQ级的攀中断量多于1个,FI施Q服务练程序坏需要组读取FI枯Q状态谅寄存熔器来咽识别覆产生筒中断朝请求忙的FI晒Q中断衰源!迟向量IR爽Q具有棉中等我优先拐级。蝴该级景别可胀分别32个请尾求中齿断的16个。32个请饶求种佣的任啄意一刮个都扛可分升配到16个向军量IR沫Q层sl志ot中的翻任意悟一个各,其顺中sl卡ot吃0具有雕最高痰优先除级非减向量IR巾Q的优粱先级欣最低(9)在此使能毛、禁欣止FI终Q和IR渗Q时,烟为什夹么操苹作SP描SR寄存明器而尸不操著作CP犁SR寄存兰器?答:苹在用乳户模汽式下虑,无仇法修屿改CP其SR,只倍有在拨特权众模式美下修脊改SP歼SR后,垫通过庄退出斤特权震模式钞,然功后恢宋复SP选SR到CP通SR,才且能实晨现修广改CP商SR。(10)AR昏M内核章对FI炭Q、向穴量IR杨Q和非李向量IR队Q的响忘应过揭程有谱何不住同?(11)向遍量中炭断能朽嵌套骨吗?运请结母合AR带M体系忆进行馅阐述药?答:姥能。禾但需怀要重巴新开邪中断(13)设朝置引掏脚为GP遭IO功能榜时,浆如何食控制可某个般引脚密单独甲输入/输出惭?当老需要虑知道架某个颜引脚需当前谊的输绪出状暮态时扯,是产读取IO羞PI代N寄存伍器还养是读肺取IO石SE撤T寄存爱器答:只使用GP治IO引脚上输入/输出父方向惩控制局寄存汤器IO哈xD按IR;当需拦要知征道某诉个引运脚当咏前的奴输出境状态治时,水读取IO浇PI损N寄存境器,IO经SE肤T是支控制突引脚展输出姓搞电尸平。(16)LP阻C2棵11左4具有坊几个UA蒜RT是符合合什妹么标伏准?麻哪一谅个UA许RT可用龙作IS谣P通信咱?哪择一个UA驳RT具有MO玩DE恶M接口碗?答:UA蜘RT妨0,UA赴RT恳1;UA度RT蜡0用于IS烛P通信桶,UA登RT杆1具有MO获DE达M接口。二、休计算暑题假设听有一妹个基素于LP忠C2脉11贱4的系钻统,绍所使投用的阿晶振获为11瓶.0满59挥2M费Hz晶振绘。请晋计算焦出最存大的阻系统记时钟接为多语少MH舅z?此时PL妖L的M值和P值为多辈少?债并编喊写PL架L的程锅序段解:LP邪C2掏21去4最大幼的系印统时本钟频哭率是60茂MH监z,Fc洁cl晕k=M*挨Fo气sc硬=6序0M概HZFo晚sc=11差.0挤59凤2M味Hz所以M=浸5Fc壤cl盏k=Fo破sc唤*M笼=5听5.规29程6M扭Hz又15寨6M雅Hz口<F示cc橡o<傍32轰0M虽HzP=定Fc规co斤/(秩Fc俱cl敢k*瞒2)当Fc爷co取15甲6M硬HZ时,P=齐1.游3当个Fc泰co取最招高频闲率时倾即32榜0时,P=能2.负67所以P=晴2程序雷清单舌:Ui泪nt俱8卵PL凝LS达et倦(u遮in偿t3赴2劝Fc钳cl缓k,箱ui甜nt俊32链F坊os雷c,颜ui恋nt湖32孤F团cc稼o){Ui却nt敌8延i;ui门nt匀32城p物ll路da猛t;i术=臭(F他cc钢o/选Fc魂cl越k)较;sw剪it铸ch缓(i倍)堡{ca秋se调2返:pl情ld乏at榴=(餐(F兆cc括lk凳/F洽os袋c)孤-1茅)|斤(0才<<谎5)敏;br银ea垦k;ca庙se笑4侮:pl稻ld膀at灯=(馆(F打cc杠lk输/F能os涝c)沈-1劈燕)|烧(1茅<<烂5)知;br宝ea美k;ca蜓se培8邮:pl物ld蒸at五=(卸(F避cc衰lk岸/F掌os镰c)雁-1责)|邪(2廊<<栏5)而;br档ea政k;ca建se脱1由6:pl某ld鸦at锈=(牧(F笑cc短lk张/F缴os扶c)北-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论