LPC21xx启动代码的分析知识.pdfVIP

  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文档。上传文档
查看更多
LPC21xx 启动代码的分析 注:下文中红色标记的部分是源码,黑色部分是解释文字 让我们从头开始……………… 以下定义了几个常数, 这些常数定义了五种模式下堆栈的大小以及各种模式对应的状态 字,所谓的状态字是 CPSR 寄存器的低 5 位,处理器根据该值确定状态或者切换状态。 每种模式都对应独立的堆栈 SVC_STACK_LEGTH EQU 0 FIQ_STACK_LEGTH EQU 0 IRQ_STACK_LEGTH EQU 256 ABT_STACK_LEGTH EQU 0 UND_STACK_LEGTH EQU 0 定义向量中断 IRQ 以及快速中断掩码 CPSR 寄存器结构: N Z C V ………… I F T M4 M3 M2 M1 M0 NoInt EQU 0x80 X X X X ………… 1 0 X X X X X X NoFIQ EQU 0x40 X X X X ………… 0 1 X X X X X X 定义各种工作模式的状态字 CPSR 寄存器结构: N Z C V ………… I F T M4 M3 M2 M1 M0 USR32Mode EQU 0x10 X X X X ………… X X X 1 0 0 0 0 SVC32Mode EQU 0x13 X X X X ………… X X X 1 0 0 1 1 SYS32Mode EQU 0x1f X X X X ………… X X X 1 1 1 1 1 IRQ32Mode EQU 0x12 FIQ32Mode EQU 0x11 上面几行代码, 不用过多分析 , 定义几个符号而已 , 把 EQU 想像成 C 中的#define 就可以了 . 具体定义的数值,下面的代码用到我再解释 . IMPORT __use_no_semihosting_swi 上面这一句的作用是在代码中禁用 semihosting 机制 . 到底什么是 semihostiong 这里不多说 , 网上有很多 . 这里只说明 Semihosting 主要用来调试 , 在 release 版本的代码中一般是要禁用 的. IMPORT FIQ_Exception IMPORT __main IMPORT TargetResetInit 上面三行是把要引入的外部标号声明一下,以便下面使用,这些标号可以是其他 C 文件里 的,也可以是其他的汇编文件里的。 EXPORT bottom_of_heap EXPORT StackUsr EXPORT Reset EXPORT __user_initial_stackheap 上面四行是把本文件里面的函数或者变量输出为外部标号,给其他文件里程序使用。 AREA vectors,CODE,READONLY ENTRY 上面这一行声明汇编文件的入口 , 整个文件是从这里开始执行的, 一个文件里可以有多 个 ENTRY ,该标号只是表示这是该程序段的入口, 至于哪个 ENTRY 作为整个程序的入口, 应该在程序编译的时候指定。每个入口都有一个名字,改名字可以是任意合法的字符串。 Reset LDR PC, ResetAddr LDR PC, UndefinedAddr LDR PC, SWI_Addr LDR PC, Pre

文档评论(0)

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

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

1亿VIP精品文档

相关文档