




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM嵌入式1.ARM处理器支持的协处理器的数量最多可达16个ARM7处理器的指令流水线的级数是3ARM处理器的CPSR寄存器中,用于禁止FIQ的位是F位2.DCQ用于分配字存储单元的伪操作3.在ATPCS中规定的数据栈类型是满递减类型S3C2410A处理器的核是ARM920T4.可以实现ARM处理器的工作状态切换的指令是BXARM处理器内部寄存器数目是375.在ARM体系结构的异常中,优先级最高的是复位在ARM9系列处理器的ARM指令中,不具备的指令是移位指令6.嵌入式系统并不是只能使用ARM处理器ARM处理器是典型的CISC处理器7.当异常发生时,ARM处理器不会自动切换到ARM工作状态实时系统中,计算结果的正确性并不是只依赖于计算结果的逻辑正确性8.并不是所有的ARM7系列处理器都不能运行标准的Linux系统9.ARM处理器的ARM指令的存储地址的低2位不是0ARM指令集10.中的MOV指令并不可以将任意的32位立即数传送到指令中制定的目的寄存器中11.ARM9系列处理器不是执行ARMv9架构指令的处理器ARM处理器有5个SPRS寄存器12.ARM系统完成IO功能的标准方法是使用存储器映射IO在ARM处理器中,CPSR寄存器的T位为0时,处理器工作在ARM工作状态,T位为1时,处理器工作在Thumb工作状态ARM处理器支持7种工作模式,其中特权模式有6种,异常模式有5种13.ARM处理器有多个通用寄存器,其中寄存器R15用作PC寄存器R13通常用作SP在ARM汇编语言程序中,用于指定程序入口点的伪操作是ENTRY14.在ARM体系结构支持两种存储字数据的存储模式,分别是大端模式和小端模式15.在ARM处理器支持的数据类型有字节半字字16.在ARM处理器的算法指令中,当运算中产生借位时,C标志位为0。其他情况下C标志位为117.写一个ARM指令,完成R0=R2*4-R3并设置条件标志的操作RSBSR0,R3,R2,LSL#218.假设ARM处理器工作在系统模式下,编写一个ARM汇编语言程序段,实现禁止IRQ中断的功能。要求,只实现禁止IRQ中断的功能,不能影响ARM处理器的工作状态,工作模式和条件模式19.下面给出一个C语言程序段,其中变量a,b为无符号整形变量。A用R0替代,b用R1替代,写一个ARM汇编语言程序的ARM指令实现这个C语言程序段的功能If(a>=b)a=a+1Elseb=b+1CMPR0,R1;ADDHIR0,R0,#1;ADDLSR1,R1,#1;局部变量的存储方式一般是_动态__存储,全局变量一般是__静态__存储。局部变量的存储方式一般是_动态__存储,全局变量一般是__静态__存储。在ARM微处理器中,堆栈可分为两种堆栈,即满栈和空栈。伪指令和位操作只在汇编过程中起作用。在ARM32位机中C语言常用的基本整型int在内存单元中占4个字节。依据程序编译器的不同int定义的字节数不同。常用的单片机编译器,51类单片机的C语言中,int代表2个byte(16位);如果是32位ARM处理器的C语言中,则int代表4个byte(32位)在C语言的库函数中,求字符串长度的函数是什么(strlen()函数)。23、指令ADDR0,R1,R1,LSL#1完成什么操作?(加法操作R1+2R1-->R0。把R1中的内容扩大3倍后送给R0。)指令MVNR0,#4执行的结果?(0xFFFFFFFB)25、指令LDRR0,[R1,#8]实现的功能?(把基址R1的内容加上位移量8后所指的存储单元的内容送到寄存器R0中)分析下列指令是否正确。MOVR0,#0x8FFA0×(#0x8FFA0不合法的8位位图)STRBR2,(R3,#8)×([R3,#8])MULR1,R2,#8×(#8立即数不能作为乘法指令的任何操作数)LDRR0,[R1],R2,LSL#2√SWPR0,R1,R2×([R2])判断合法立即数的方法。(8位位图,即把一个8位的常数通过循环右移偶数位得到的8位常数)LDRR0,[R1,#9]的源操作数(变/基址寻址)与目的操作数(寄存器寻址)的寻址方式。ARM处理器的指令集(ARM指令集、Thumb指令集)有哪些6大类?是否包含除法指令?ARM处理器的ARM指令集有:跳转指令,数据处理指令,程序状态寄存器访问指令,加载/存储型指令,协处理器指令,异常产生指令。32、当处理器发生异常后,ARM处理器执行的操作。(异常出现后,强制从异常类型对应的固定存储器地址(异常向量)开始执行程序。异常模式分组的R14
和SPSR用于保存状态。)1、“嵌入型”、“专用性”与“计算机系统”是嵌入式系统的3个基本要素。2、嵌入式系统的基本组成结构:嵌入式系统硬件平台、嵌入式实时操作系统、嵌入式系统应用。3、ARM微处理器选型时应考虑的主要问题:①ARM微处理器内核的选择②系统的工作频率③芯片内存储器的容量④片内外围电路的选择4、交叉编译是某机器中执行的程序代码不是在本机编译生成,而是由另一台机器编译生成,一般把前者称为目标机,后者称为主机。5、采用交叉编译原因在于,多数嵌入式目标系统不能提供足够的资源供编译过程使用,因而只好将编译过程转移到高性能的主机中运行,这就需要在强大的PC机上建立一个用于目标机的交叉编译环境。6、S3C2410A处理器的电源管理模式S3C2410A电源管理模块能设置为4种模式:普通模式、低速模式、空闲模式以及掉电模式。普通模式:时钟模块向S3C2410A的CPU和所有外设提供时钟信号。在这种模式下,在所有外设都打开的情况下功耗最大。但是它允许用户通过软件控制外设的运转,例如:如果一个定时器不需要用到,用户可以断开提供给该定时器的时钟来减少能量消耗。低速模式:也叫无PLL模式。与普通模式不同,低速模式不使用S3C2410A的PLL而直接使用外部时钟(XTIpll或EXTCLK)。在这种模式下,能量消耗仅仅依赖于外部时钟,来自于PLL的能量消耗排除在外。空闲模式:时钟模块只断开CPU的时钟FCLK,而向所有其他的外设提供时钟源。在空闲模式下,功耗为普通模式-来自于CPU内核的能量消耗。任何向CPU发出的中断请求都可将系统从空闲模式下唤醒。掉电模式:时钟模块断开内部电源。所以在这种模式下,除内部唤醒逻辑外,CPU和内部其他逻辑都没有能量消耗。为了让掉电模式能正常启动,时钟模块提供了两个各自独立的电源。其中一个唤醒逻辑的工作电源,另外一个是用于CPU和内部其他的内部逻辑可控制开启和关闭的工作电源。在掉电模式下,第二个电源(CPU和其他内部逻辑的工作电源)被关闭。通过EINT[15:0]或RTC报警中断能从掉电模式下唤醒。嵌入式Linux内核移植涉及如下工作①编写针对指定处理器的代码。内核中关于任务调度、中断处理等的代码要根据不同的处理器类型重新编写。②编写针对指定硬件平台的引导和初始化代码。基于同样的处理器,由于硬件系统设计上的不同,或者操作系统装载器的不同,需要实现有针对性的引导和初始化代码。③编写针对特定外设的设备驱动程序代码。8、Linux内核中包含的同步机制有:原子操作、信号量、读写信号量、自旋锁、大内核锁、读写锁、读复制锁等。实验:汇编语言与C语言的混合编程实验PRESERVE8IMPORTmainEXPORTReset_HandlerAREARESET,CODE,READONLYENTRYCODE32Reset_HandlerLDRSP,=0x40001000BLmainHalt_LoopBHaltLoopENDEXPORTresultEXPORTasm_strcpyIMPORTcfunIMPORTsumAREAASMFILE,CODE,READONLYasm_strcpyMVNR2,#0LOOPLDRBR4,[R0],#1STRBR4,[R1],#1ADDR2,R2,#1CMPR4,#0BNELOOPSTMFDSP!,{R2,LR}MOVR0,#5BLcfunLDRR1,=sumSTRR0,[R1]LDMFDSP!,{R2,LR}MOVR0,R2MOVPC,LRAREADATASPACE,DATA,READWRITEresultDCD0ENDintcfun(intn);externunsignedintasm_strcpy(constchar*src,char*dest);intcfun(intn){ints,a;__asm{movs,#0mova,#1repeat:adds,s,aadda,a,#1cmpa,nblerepeat}returns;}externunsignedintresult;intsum;intmain(){char*a="abcdefgh";charb[32];result=asm_strcpy(a,b);return0;}异常处理模式1.SWI指令,即softwareinterrupt软件中断指令。该指令产生一个SWI异常,处理器模式改变为管理模式,CPSR寄存器保存到管理模式下的SPSR寄存器,并且跳转到SWI向量。通过SWI异常中断,用户模式的应用程序可以调用系统模式下的代码。在实时操作系统中,通常使用SWI异常中断为用户应用程序提供系统帮助。2.在ARM工作状态下,SWI指令中包含一个24位的立即数;在THUMB工作状态下,SWI指令中包含一个8位的立即数。这个立即数指示了用户请求的特定的SWI功能,SWI异常中断处理程序要读取该24位或8位的立即数,这涉及SWI异常模式下对寄存器LR的读取,并且要从存储器读取SWI指令。这样就需要用汇编语言来实现。3.从程序中读取ARM工作状态下的SWI指令(包括后面的24位立即数):LDRR0,[LR,#-4]得到SWI指令中的24位立即数:BICR0,R0,#0xFF000000。从程序中读取THUMB工作状态下的SWI指令(包括后面的8位立即数):LDRHR0,[LR,#-2]得到SWI指令中的8位立即数:BICR0,R0,#0xFF00。ARM指令集编程实验在程序中,对一个大于0的整数N,完成1+2+3„(N-1)+N的累加值计算,并将计算结果保存到内存中。NEQU7AREARESET,CODE,READONLYENTRYSTARTLDRR3,=NMOVR0,#0MOVR1,#1REPEATADDR0,R0,R1ADDR1,R1,#1CMPR1,R3BLEREPEATLDRR2,=RESULTSTRR0,[R2]HEREBHEREAREADataspace,DATA,READWRITERESULTDCD0ENDTHUMB工作状态下的主程序中为R3寄存器写入一个大于0的整数N,接下来调用子程序,在子程序中完成1+2+3„„(N-1)+N的累加计算NEQU10AREARESET,CODE,READONLYENTRYCODE32LDRR3,=NBLARM_MULLDRR0,=THUMB_CODE+1BXR0HEREBHEREARM_MULCMPR3,#0BLEARM_MUL_ENDMOVR0,#0MOVR1,#1MOVR2,R1REPEAT_MULMULR0,R2,R1MOVR2,R0ADDR1,R1,#1CMPR1,R3BLEREPEAT_MULLDRR4,=RESULT_MULSTRR0,[R4]ARM_MUL_ENDMOVPC,LRCODE16THUMB_CODELDRR3,=NBLTHUMB_SUMLDRR0,=HEREBXR0THUMB_SUMCMPR3,#0BLETHUMB_SUM_ENDMOVR0,#0MOVR1,#1REPEAT_SUMADDR0,R1ADDR1,#1CMPR1,R3BLEREPEAT_SUMLDRR4,=RESULT_SUMSTRR0,[R4]THUMB_SUM_ENDMOVPC,LRALIGNAREADataspace,DATA,READWRITERESULT_MULDCD0RESULT_SUMDCD0END嵌入性,专用性,计算机系统是嵌入式系统的3个基本要素。1选择ARM处理器时应考虑的问题:ARM微处理器内核的选择,系统的工作频率,芯片内存储器的容量,片内外围电路的选择2什么是交叉编译?交叉编译就是某机器中执行的代码不是在本机器生成而是由另一台机器编译生成,前者称为目标机,后者称为主机。3采用交叉编译的原因:多数嵌入式目标系统不能提供足够的资源供编译过程使用,因而只好将编译过程转移到高性能的主机中进行,这就需要在强大的PC上建立一个用于目标机的交叉编译环境。4内核移植的涉及工作:编写针对特定处理器的代码,编写针对特定硬件平台的引导和初始化代码,编写针对特定外设的设备驱动程序代码。5P320Linux内核中包含的同步机制有:原子操作、信号量、读写信号量、自旋锁、大内核锁、读写锁、读复制更新和顺序锁等。回答Thumb指令集与ARM指令集的区别:1跳转指令2数据处理指令3单寄存器加载和存储指令4批量寄存器加载和存储指令5Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时需要ARM指令。写一条ARM指令,完成R0=R2x4-R3并设置条件标志的操作。RSBR0,R3,R2,LSL#2编写ARM汇编语言程序段,用最少的ARM指令实现这个C语言程序段的功能C语言:If(a>=b)a+1;elseb+1;ARM汇编语言:CMPR0,R1;ADDCSR0,R0,#1;ADDCCR1,R1,#1;1回答嵌入式系统的定义以应用为中心,以微电子技术、控制技术、计算机技术和通信技术为基础,强调硬件软件的协同性与整合性,软件硬件可剪裁i的,适应应用系统对功能、可靠性、成本、体积、功耗和应用环境有等严格要求的专用计算机系统。2回答ARM微处理器的特点。1体积小、低功耗、低成本、高性能;2支持Thumb/ARM双指令集,能很好地兼容8位/16位器件;3大量使用寄存器,指令执行速度更快;4大多数数据操作都在寄存器中完成;5寻址方式灵活简单,执行效率高;6指令长度固定3嵌入式的硬件平台由哪些部分组成?嵌入式硬件平台是以嵌入式处理器为核心,由存储器、I/O单元电路、通信模块、外部设备等必要的辅助接口组成。4硬件抽象层接口的定义和代码设计有哪些特点?硬件抽象层具有与硬件的密切相关性;硬件抽象层具有与操作系统无关性;接口定义的功能应包含硬件或系统所需硬件支持的功能;定义简单明了,太多接口函数会增加软件模拟的复杂性;可测性的接口设计有利于系统的软硬件测试和集成1.ARM9处理器的工作状态:ARM状态,Thumb状态2.叙述ARM9处理器的内部寄存器结构,并分别说明R13,R14,R15寄存器的作用ARM处理器共有37个寄存器,被分成若干个组(BANK),包括1个通用寄存器和6个状态寄存器。R13长用作堆栈指针,可保证异常发生后程序的正常执行;R14为子程序链接寄存器或链接寄存器LR,用于保存子程序的返回地址;R15用作程序计数器(PC)加载存储指令可以分为:单一数据加载/存储指令、批量数据加载/存储指令以及数据交换指令3类。3.ARM体系结构有几种方法存储数据?具体含义是什么?大端格式:字数据的高字节存储在地地址中,低字节存储在高地址中;小端格式:地地址中存放字数据的低字节,高地址存放字数据的高字节ARM处理器的工作模式有哪些?7种运行模式:1用户模式(usr):Arm处理器正常的程序执行状态;2快速中断模式(fiq):用于高速数据传输或通道处理;3外部中断模式(irq):用于通用的中断处理;4管理模式(svc):操作系统使用的保护模式;5数据访问终止模式(abt):当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护;6系统模式(sys):运行具有特权的操作系统任务;7未定义指令终止模式(und):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。除用户模式外的其余6种为非用户模式或特权模式,除用户模式和系统模式外的其他5种模式称为异常模式。8.ARM体系结构所支持的异常类型有哪些?并叙述各种异常的向量地址。9.请叙述处理器如何实现ARM状态和Thumb状态的切换。进入Thumb状态:当操作数寄存器状态为(位0)为1时,执行BX指令使处理器从ARM状态切换到Thumb状态;处理器出于Thumb状态发生异常,异常处理返回时自动切换到Thumb状态;进入ARM状态:当操作数寄存器状态位为0时,执行BX指令使处理器从Thumb状态切换到ARM状态;此外处理器进行异常处理时把PC指针放入异常模式链接寄存器中并从异常向量地址开始执行程序,也可切换到Arm状态。10.S3C2410A芯片外部可寻址的存储空间是多少?S3C2440A芯片外部可寻址存储空间是1GB,被分成8个存储块,每块128MB11.2S3C2410A芯片有几个GPIO引脚?分别是什么?分几组?每组包括几个?S3C2440A芯片的9个GPIO端口是:端口A(GPA)有23个输出引脚的端口。端口B(GPB)有11个输入输出引脚的端口。端口C(GPC)有16个输入输出引脚的端口.端口D(GPD)有16个输入输出引脚的端口端口E(GPE)有16个输入输出引脚的端口端口F(GPF)有8个输入输出引脚的端口端口G(GPG)有16个输入输出引脚的端口端口H(GPH)有11个输入输出引脚的端口端口J(GPJ)有13个输入输出引脚的端口12.3S3C2410A中的重大控制器可以从多少个中断源接收中断请求?S3C2440A中的中断控制器可以从6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 制定自我管理的目标与措施计划
- 学生领导力与组织能力养成计划
- 快递行业安全隐患及防控措施计划
- 创建积极班级环境的工作计划
- 山东省淄博市七年级生物下册 4.2.1 食物中营养物质教学实录2 新人教版
- 如何做好会计职业的自我管理计划
- 浙教版2023年 八年级下册 第12课智能物联系统的设计 教学设计
- 学校秋季家校合作机制计划
- 品牌形象维护的常见误区计划
- 加强内部控制与审计意识计划
- PRP富血小板血浆治疗
- 疲劳状态神经机制
- 2023年体育统一单招语文真题含答案
- 中铁二十局合同范例
- 屠宰场职工培训方案
- 常用玻璃仪器操作规范课件
- 佳能相机PowerShot SX60 HS使用说明书
- 初中地理新课程标准解读课件
- 2024年西固区离婚协议书范文电子版
- 食品安全制度目录
- 苏教版一年级10《20以内的进位加法》 单元整体作业设计
评论
0/150
提交评论