×

Cortex-M3权威指南中文版资料

消耗积分:0 | 格式:rar | 大小:9.88 MB | 2017-10-29

laiqurufeng

分享资料个

  在 ARM 编程领域中,凡是打断程序顺序执行的事件,都被称为异常(exception)。除了外部中断外,当有指令执

  行了“非法操作”,或者访问被禁的内存区间,因各种错误产生的 fault,以及不可屏蔽中断发生时,都会打断程序的

  执行,这些情况统称为异常。在不严格的上下文中,异常与中断也可以混用。另外,程序代码也可以主动请求进入

  异常状态的(常用于系统调用)。

  R14:连接寄存器

  当呼叫一个子程序时,由 R14 存储返回地址

  不像大多数其它处理器,ARM 为了减少访问内存的次数(访问内存的操作往往要 3 个以上指令周期,带 MMU

  和 cache 的就更加不确定了),把返回地址直接存储在寄存器中。这样足以使很多只有 1 级子程序调用的代码无需访

  问内存(堆栈内存),从而提高了子程序调用的效率。如果多于 1 级,则需要把前一级的 R14 值压到堆栈里。在 ARM

  上编程时,应尽量只使用寄存器保存中间结果,迫不得以时才访问内存。在 RISC 处理器中,为了强调访内操作越过

  了处理器的界线,并且带来了对性能的不利影响,给它取了一个专业的术语:溅出。

  R15:程序计数寄存器

  指向当前的程序地址。如果修改它的值,就能改变程序的执行流(很多高级技巧就在这里面—

  —译注)。

  特殊功能寄存器

  Cortex‐M3 还在内核水平上搭载了若干特殊功能寄存器,包括

  程序状态字寄存器组(PSRs

  中断屏蔽寄存器组(PRIMASK, FAULTMASK, BASEPRI)

  控制寄存器(CONTROL)

Cortex-M3权威指南中文版

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !