- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM启动代码分析
ARM启动代码分析-philips的LPC2xxx系列
/**********************************************************************************
*File: startup.s
*Author: Embest w.h.xie 2005.02.21
*Desc:lpc22xx\lpc212x\lpc211x\lpc210x startup code
*History:
* note modify: cui jian jie 2006-4-25
*comment:
**********************************************************************************/
#处理器的七种工作方式的常量定义
.EQU Mode_USR, 0x10 #用户模式
.EQU Mode_FIQ, 0x11 #FIQ模式
.EQU Mode_IRQ, 0x12 #IRQ模式
.EQU Mode_SVC, 0x13 #超级用户模式
.EQU Mode_ABT, 0x17 #终止模式
.EQU Mode_UND, 0x1B #未定义模式
.EQU Mode_SYS, 0x1F #系统模式
#中断屏蔽位
.EQU I_Bit, 0x80 //IRQ中断控制位,当被置位时,IRQ中断被禁止
.EQU F_Bit, 0x40 //FIQ中断控制位,当被置位时,FIQ中断被禁止
#状态屏蔽位
.EQU T_bit, 0x20 //T位,置位时在Thumb模式下运行,清零时在ARM下运行
# 定义程序入口点
.globl _start
.code 32
.TEXT
_start:
#中断向量表
Vectors:
LDR PC, Reset_Addr //把Reset_Addr地址处的内容放入PC中
LDR PC, Undef_Addr
LDR PC, SWI_Addr
LDR PC, PAbt_Addr
LDR PC, DAbt_Addr
.long 0xb9205f80 @ keep interrupt vectors sum is 0
LDR PC, [PC, #-0xff0] //当前PC值减去0xFF0等于IRQ中断入口地址
LDR PC, FIQ_Addr
#地址表:
Reset_Addr: #该地址标号存放Reset_Handler程序段的入口地址
.long Reset_Handler
Undef_Addr: #该地址标号存放Undef_Handler程序段的入口地址
.long Undef_Handler
SWI_Addr: #该地址标号存放SWI_Handler程序段的入口地址
.long SWI_Handler
PAbt_Addr: #该地址标号存放PAbt_Handler程序段的入口地址
.long PAbt_Handler
DAbt_Addr:
.long DAbt_Handler
.long 0
IRQ_Addr: #地址标号处存放一个无效的数据
.long 0
FIQ_Addr: #该地址标号存放FIQ_Handler程序段的入口地址
.long FIQ_Handler
Undef_Handler:
B Undef_Handler
PAbt_Handler:
B PAbt_Handler
DAbt_Handler:
B DAbt_Handler
#软中断的中断服务子程序入口地址
SWI_Handler:
STMFD sp!, {r0-r3
文档评论(0)