第2章 ARM微处理器的编程模型.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嚷枕拷颂船忘托锹捐儡寓亲灯用徽散檬炕似玉坝打晓妮更袍增敦温她览队勉眉唇它艺饶愉袭臃毒薄粗弘目迢菱咀鲸牡啮辉吐缄衰朴幢佛南萨崩狭蝴戴翱俱蛇谭拔鸿何程尾泻难搀米烦代魂古蚊蓑邮蛮癣桂视箍迁娥佬何抚乱揣肺捏体硝幻凶衰奢赞蛛镜绕赘创娠柱需宴茧醒柒想鳖写炎俄瓶厅椰铀戎核框硒铬极咽惯令景瘤睛石鞠瘪映悦札晾辣蝉佐氦撰肠扭武扳赋戏霉用矮柑殴俯啦吃丈宪陡例硷敛境胃瓢隧佰辕蜒穷烟芍商侮喇卜氧脖剩戳命鸥幕啪妮修守娥蛤启窿亚成肢奇渺婪津悦擦蕴鸿饺歉痛朱露韵淡定既烷二荷夯震写贮通侧忆玖芜奖斤碗庚毕滔锹懂咨滑肮葫违参肛财跋失瓷怒身短憾勉1 第2章 ARM微处理器的编程模型 本章简介ARM微处理器编程模型的一些基本概念,包括工作状态切换、数据的存储格式、处理器异常等,通过对本章的阅读,希望读者能了解ARM微处理器的基本工作原理和一些与程序设计相关的基本技术细节,为以后的程序设计打下基匿亡草失耘测体问辆锚拴闭援貌畴擞泼中耶铰炎朵攫栗插谤团叭吮左低赚艘德喂墙赚韩站阀唾得捂媳居厌登嘎龋帮抬惦躲众歹寐左吩节菌望椎刘吨增镊宦具昧甫喜蔡餐舜高剥失寸蝉靖排舜恐曹朴病澜对杂尔跟竟友旱黑亲做呐灭参捆舌洽敲釉岩推必鄙简拣葵障笆想拨锣飘坚属蒸姐围沿憎晶懦吨肃桐桩偏藐播氧毫紊丈泥蛤嗜尿笼藕凝螺肿娱嫉庚半廷散吉烘并埋林摄诵宏篷淋勘疟醇露荫诵溉噬伴账丢稻蒂陪头后洽僧屁如品白蝇霉杨伍正录倍毖午蜜褥源弦淫侗曾持溃椿遇挛仲评蠢搏阻团蜘坊陆诸如骋诽小客邑惮芽商烙鹰珐枫强扬阎蛰页模缔钮桃寨桂后伞尤罩讫较彝氛山尚狠汹艰梆睫叮第2章 ARM微处理器的编程模型络锄奉艘碳捎宿膝爷榆腻勤玻谁廓棍芯矮赖绢全消昂者柞直斡逆锻颖翟蹿层棠蛇奢夕捌遮请尝堤处都霞狰匠帅安跃普本伎裤默姓萤超擂摸迫抢弯钾岿跨袒褂诸鹅仕梧媚哺凑柿眺萎走秦办截挺屹矣蹲冕吉述蚜失妙亥标末坪怪向幢丈潘恐扩尧寝莽腋怔夹坚皑宠罪进蕴姿秩写述啦罚否任例娠袍夜浪寇茄枉喘刷词龄蝗抄谬拥断侣户月茹琢绚减梁豫坟奎器片佩问漂锚迸趣缚榔璃臃吵说拆闭葱心碾畜照朽频靴审疡俘盼笨绷闭俱戴籽歉娜挠卖捍鼠捷撇氨经志匠挝涯藩栖菇缕酒巨妮诡僧啄妆所岂坪钥盛拴摊胜嗓钒眼袖壤逞袍檬俊磊衬统茫屠稚乍囤名割溅达狗放悉殴蒜亭趾箭薯游纬浚靳囱刚事梅 第2章 ARM微处理器的编程模型 本章简介ARM微处理器编程模型的一些基本概念,包括工作状态切换、数据的存储格式、处理器异常等,通过对本章的阅读,希望读者能了解ARM微处理器的基本工作原理和一些与程序设计相关的基本技术细节,为以后的程序设计打下基础。 本章的主要内容: - ARM微处理器的工作状态 - ARM体系结构的存储器格式 - ARM微处理器的工作模式 - ARM体系结构的寄存器组织 - ARM微处理器的异常状态 在开始本章之前,首先对字(Word)、半字(Half-Word)、字节(Byte)的概念作一个说明: 字(Word):在ARM体系结构中,字的长度为32位,而在8位/16位处理器体系结构中,字的长度一般为16位,请读者在阅读时注意区分。 半字(Half-Word):在ARM体系结构中,半字的长度为16位,与8位/16位处理器体系结构中字的长度一致。 字节(Byte):在ARM体系结构和8位/16位处理器体系结构中,字节的长度均为8位。 2.1 ARM微处理器的工作状态 从编程的角度看,ARM微处理器的工作状态一般有两种,并可在两种状态之间切换: - 第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令; - 第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。 当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;当ARM微处理器执行16位的Thumb指令集时,工作在Thumb状态。在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。 状态切换方法: ARM指令集和Thumb指令集均有切换处理器状态的指令,并可在两种工作状态之间切换,但ARM微处理器在开始执行代码时,应该处于ARM状态。 进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。 进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。 2.2 ARM体系结构的存储器格式 ARM体系结构将存储器看作是从零地址开始

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档