关于ARM的22个常用概念!_第1页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、关于arm的22个常用概念!关于的22个常用概念!size=12.0000pt size=8.0000pt 1.arm中一些常见英文缩写说明size=9.5000ptsize=8.0000ptmsb:最高有效位;lsb:最低有效位;ahb:先进的高性能;vpb:衔接片内外设功能的vlsi外设总线;:外部存储器控制器;mam:存储器加速模块;vic:向量中断控制器;spi:全双工串行接口;can:控制器局域网,一种串行通讯协议;:脉宽调制器;etm:跟踪宏;cpsr:当前程序状态寄存器;spsr:程序庇护状态寄存器;size=8.0000pt2.mam 用法注重事项:size=8.0000pt答

2、:当转变 mam 定时值时,必需先通过向 mamcr 写入 0 来关闭 mam,然后将新值写入 mamtim。最后,将需要的操作模式的对应值写入mamcr,再次打开mam。size=8.0000pt对于低于 20mhz 的系统时钟,mamtim 设定为 001。对于 20mhz 到 40mhz 之间的系统时钟,建议将flash拜访时光设定为2cclk,而在高于40mhz的系统时钟下,建议用法3cclk。size=8.0000pt3.vic 用法注重事项size=8.0000pt答:假如在片内ram当中运行代码并且应用程序需要调用中断,那么必需将中断向量重新映射到flash地址0x0。这样做是由

3、于全部的异样向量都位于地址 0x0及以上。通过将寄存器memmap(位于系统控制模块当中)配置为用户ram模式来实现这一点。用户代码被衔接以便使中断向量表装载到0x4000 0000。size=8.0000pt4. arm启动代码设计size=8.0000pt答:arm启动代码挺直面向处理器内核和硬件控制器举行编程,普通用法汇编语言。启动代码普通包括:size=8.0000pt中断向量表初始化存储器系统初始化堆栈初始化有特别要求的端口、设备初始化用户程序执行环境转变处理器模式呼叫主应用程序size=8.0000pt5.irq 和 fiq 之间的区分size=8.0000pt答:irq和fiq是

4、arm处理器的两种编程模式。irq是指中断模式,fir是指迅速中断模式。对于 fiq 你必需尽快处理你的事情并离开这个模式。irq 可以被 fiq 所中断,但 irq 不能中断 fiq。为了使 fiq 更快,所以这种模式有更多的影子寄存器。fiq 不能调用 swi(软件中断)。fiq 还必需禁用中断。假如一个 fiq 例程必需重新启用中断,则它太慢了,并应当是 irq 而不是 fiq。size=8.0000pt6.arm处理器对异样中断的响应过程size=8.0000pt答:size=8.0000ptarm处理器对异样中断的响应过程如下所述:保存处理器当前状态、中断屏蔽位以及各条件标记位;设置

5、当前程序状态寄存器cpsr中的相应位;将寄存器lr_mode设置成返回地址;将程序计数器值pc,设置成该异样中断的中断向量地址,跳转到相应异样中断处执行。size=8.0000pt7.arm命令与thumb命令的区分size=8.0000pt答:在arm体系结构中,arm命令集中的命令是32位的命令,其执行效率很高。对于存储系统数据总线为16位的应用系统,arm体系提供了thumb指 令集。thumb命令集是对arm命令集的一个子集重新编码得到的,命令长度为16位。通常在处理器执行arm程序时,称处理器处于arm状态;当处理器 执行thumb程序时,称处理器处于thumb状态。thumb命令集

6、并没有转变arm体系地层的程序设计模型,只是在该模型上加上了一些限制条件。thumb命令集中的数据处理命令的操作数仍然为32位,命令寻址地址也是32位的。size=8.0000pt8.什么是atpcs size=8.0000pt答:为了使单独编译的程序和汇编程序之间能够互相调用,必需为子程序之间的调用规定一定的规章。atpcs就是arm程序和thumb程序中子程序调用的基本规章。这些规章包括寄存器用法规章,数据栈的用法规章,参数的传递规章等。size=8.0000pt9.arm程序和thumb程序混合用法的场合size=8.0000pt答:通常,thumb程序比arm程序越发紧凑,而且对于内存

7、为8位或16位的系统,用法thumb程序效率更高。但是,在下面一些场合下,程序必需运行在arm状态,这时就需要混合用法arm和thumb程序。size=8.0000pt强调速度的场合,应当用法arm程序;有些功能只能由arm程序完成。如:用法或者禁止异样中断;当处理器进入异样中断处理程序时,程序状态切换到arm状态,即在异样中断处理程序入口的一些命令是arm命令,然后按照需要程序可以切换到thumb状态,在异样中断程序返回前,程序再切换到arm状态。size=8.0000ptarm处理器总是从arm状态开头执行。因而,假如要在调试器中运行thumb程序,必需为该thumb程序添加一个arm程序

8、头,然后再切换到thumb状态,执行thumb程序。size=8.0000pt10.arm处理器运行模式size=8.0000pt答:arm微处理器支持7种运行模式,分离为:用户模式(usr):arm处理器正常的程序执行状态;迅速中断模式(fiq):用于高速数据传输或通道管理;外部中断模式(irq):用于通用的中断处理;管理模式(svc):操作系统用法的庇护模式;数据拜访终止模式(abt):当数据或命令预取终止时进入该模式,用于虚拟存储及存储庇护;系统模式(sys):运行具有特权的操作系统任务;未定义命令中止模式(und):当未定义命令执行时进入该模式,可用于支持硬件协处理器的软件。size=

9、8.0000pt11.arm体系结构所支持的异样类型size=8.0000pt答:arm体系结构所支持的异样和详细含义如下(圈里面的数字表示优先级):复位:当处理器的复位电平有效时,产生复位异样,程序跳转到复位异样处执行(异样向量:0x0000,0000);size=8.0000pt未定义命令:当arm处理器或协处理器碰到不能处理的命令时,产生为定义异样。可用法该异样机制举行软件仿真(异样向量:0x0000,0004);size=8.0000pt软件中断:有执行swi命令产生,可用于用户模式下程序调用特权操作命令。可用法该异样机制实现系统功能调用(异样向量:0x0000,0008);size=

10、8.0000pt命令预取中止:若处理器的预取命令的地址不存在,或该地址不允许当前命令拜访,存储器会向处理器发出中止信号,当预取命令被执行时,才会产生命令预取中止异样(异样向量:0x0000,000c);size=8.0000pt数据中止:若处理器数据拜访的命令的地址不存在,或该地址不允许当前命令拜访,产生数据中止异样(异样向量:0x0000,0010);size=8.0000ptirq(外部中断哀求):当处理器的外部中断哀求引脚有效,且cpsr中的i位为0时,产生irq异样。系统的外设可以该异样哀求中断服务(异样向量:0x0000,0018);size=8.0000ptfiq(迅速中断哀求):

11、当处理器的迅速中断哀求引脚有效,且cpsr中的f位为0时,产生fiq异样(异样向量:0x0000,001c)。size=8.0000pt解释:其中异样向量0x0000,0014为保留的异样向量。size=8.0000pt12.arm体系结构的存储器格式size=8.0000pt答:arm体系结构的存储器格式有如下两种:大端格式:字数据的高字节存储在低地址中,字数据的低字节存放在高地址中;小端格式:与大端存储格式相反,高地址存放数据的高字节,低地址存放数据的低字节。size=8.0000pt13.arm寄存器总结:size=8.0000ptarm有16个32位的寄存器(r0到r15)。r15充当

12、程序寄存器pc,r14(link register)存储子程序的返回地址,r13存储的是堆栈地址。arm有一个当前程序状态寄存器:cpsr。一些寄存器(r13,r14)在异样发生时会产生新的instances,比如irq处理器模式,这时处理器用法r13_irq和r14_irqarm的子程序调用是很快的,由于子程序的返回地址不需要存放在堆栈中。size=8.0000pt14.存储器重新映射(remap)的缘由:size=8.0000pt使flash存储器中的fiq处理程序不必考虑由于重新映射所导致的存储器边界问题;size=8.0000pt用来处理代码空间中段边界仲裁的sram和boot blo

13、ck向量的用法大大削减;为超过单字转移命令范围的跳转提供空间来保存常量。size=8.0000ptarm中的重映射是指在程序执行过程中通过写某个功能寄存器位操作达到重新分配其存储器地址空间的映射。一个典型的应用就是应用程序存储在 flash/rom中,初始这些存储器地址是从0开头的,但这些存储器的读时光比sram/dram长,造成其内部执行频率不高,故普通在前面一段程序将 代码搬移到sram/dram中去,然后重新映射存储器空间,将相应sram/dram映射到地址0,重新执行程序可达到高速运行的目的。size=8.0000ptsize=8.0000pt15.存储异样向量表中程序跳转用法ldr命

14、令,而不用法b命令的缘由:size=8.0000ptldr命令可以全地址范围跳转,而b命令只能在前后32mb范围内跳转;size=8.0000pt芯片具有remap功能。当向量表位于内部ram或外部存储器中,用b命令不能跳转到正确的位置。size=8.0000pt16.锁相环(pll)注重要点:size=8.0000ptpll在芯片复位或进入掉电模式时被关闭并旁路,在掉电唤醒后不会自动复原pll的设定;size=8.0000ptpll只能通过软件使能;pll在激活后必需等待其锁定,然后才干衔接;pll假如设置不当将会导致芯片的错误操作。size=8.0000pt17.arm7与arm9的区分:

15、size=8.0000ptarm7内核是0.9/mhz的三级流水线和冯 诺伊曼结构;arm9内核是五级流水线,提供1.1mips/mhz的哈佛结构。size=8.0000ptsize=8.0000ptarm7没有mmu,arm720t是mmu的;arm9是有mmu的,arm940t惟独memory protection unit.不是一个完整的mmu。size=8.0000ptarm7tdmi提供了十分好的性能功耗比。它包含了thumb命令集迅速乘法命令和ice调试技术的内核。arm9的时钟频率比arm7更高,采纳哈佛结构区别了数据总线和命令总线。size=8.0000pt18.vic的基本操

16、作如下:size=8.0000pt答:设置irq/fiq中断,若是irq中断则可以设置为向量中断并分配中断优先级,否则为非向量irq。然后可以设置中断允许,以及向量中断对应地址或 非向量中断默认地址。当有中断后,若是irq中断,则可以读取向量地址寄存器,然后跳转到相应的代码。当要退出中断时,对向量地址寄存器写0,通知vic 中断结束。当发生中断时,处理器将会切换处理器模式,同时相关的寄存器也将会映射。size=8.0000pt19.用法外部中断注重size=8.0000pt把某个引脚设置为外部中断功能后,该引脚为输入模式,因为没有内部上拉,所以必需外接一个上拉电阻,确保引脚不被悬空;除了引脚衔

17、接模块的设置,还需要设置vic模块,才干产生外部中断,否则外部中断只能反映在extint寄存器中;要使器件进入掉电模式并通过外部中断唤醒,软件应当正确设置引脚的外部中断功能,再进入掉电模式。size=8.0000pt20.uart0的基本操作办法size=8.0000pt设置i/o衔接到uart0;size=8.0000pt设置串口波特率(u0dlm、u0dll);设置串口工作模式(u0lcr、u0fcr);发送或接收数据(u0thr、u0rbr);检查串口状态字或等待串口中断(u0lsr)。size=8.0000pt21.i2c的基本操作办法size=8.0000pt答:i2c主机基本操作办

18、法:设置i2c管脚衔接;设置i2c时钟速率(i2sclh、i2scll);设置为主机,并发送起始信号(i2conset的i2en、sta位为1,aa位为0);发送从机地址(i2dat),控制i2conset发送;推断总线状态(i2stat),举行数据传输控制;发送结束信号(i2conset)。i2c从机基本操作办法:设置i2c管脚衔接;设置自身的从机地址(i2adr);使能i2c(i2conset的i2en、aa位为1);推断si位或等待i2c中断,等待主机操作;推断总线状态i2stat,举行数据传输控制。size=8.0000pt22. pwm基本操作办法:size=8.0000pt衔接pwm功能管脚输出,即设置pinsel

温馨提示

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

评论

0/150

提交评论