init.s文件分析
来源:互联网 发布:香港网络电视 编辑:程序博客网 时间:2024/05/16 01:55
ASSERT :DEF:ENDIAN_CHANGE 判断ENDIAN_CHANGE是否已定义
[ ENDIAN_CHANGE 如果已经定义了ENDIAN_CHANGE,则判断ENDIAN_CHANGE 真值,如果为真
[ ENTRY_BUS_WIDTH=32
b ChangeBigEndian ;DCD 0xea000007 0xea000007 是 b ChangeBigEndian的机器码
]
;在bigendian中,地址为A的字单元包括字节单元A,A+1,A+2,A+3,字节单元由高位到低位为A,A+1,A+2,A+3
; 地址为A的字单元包括半字单元A,A+2,半字单元由高位到低位为A,A+2
[ ENTRY_BUS_WIDTH=16
andeq r14,r7,r0,lsl #20 ;DCD 0x0007ea00 如果是半字对齐,则先取A+2 ea00 后A 0007
]
[ ENTRY_BUS_WIDTH=8
streq r0,[r0,-r10,ror #1] ;DCD 0x070000ea
]
|
b ResetHandler //如果没有改变小端模式,则直接跳转 条件编译,所以这个是编译成第一个机器指令,占一个字 0x0--0x04
]
b HandlerUndef ;handler for Undefined mode ox04 这些是中断入口
b HandlerSWI ;handler for SWI interrupt
b HandlerPabort ;handler for PAbort
b HandlerDabort ;handler for DAbort
b . ;reserved
b HandlerIRQ ;handler for IRQ interrupt
b HandlerFIQ ;handler for FIQ interrupt
;@0x20
b EnterPWDN ; Must be @0x20. W
ChangeBigEndian
;@0x24
[ ENTRY_BUS_WIDTH=32 c
DCD 0xee110f10 ;0xee110f10 => mrc p15,0,r0,c1,c0,0
DCD 0xe3800080 ;0xe3800080 => orr r0,r0,#0x80; //Big-endian
DCD 0xee010f10 ;0xee010f10 => mcr p15,0,r0,c1,c0,0
]
[ ENTRY_BUS_WIDTH=16
DCD 0x0f10ee11
DCD 0x0080e380
DCD 0x0f10ee01
]
[ ENTRY_BUS_WIDTH=8
DCD 0x100f11ee
DCD 0x800080e3
DCD 0x100f01ee
]
DCD 0xffffffff ;swinv 0xffffff is similar with NOP and run well in both endian mode.
DCD 0xffffffff
DCD 0xffffffff
DCD 0xffffffff
DCD 0xffffffff
b ResetHandler
- init.s文件分析
- 2440init.s文件分析
- 2440init.s文件分析
- 【ARM】2440init.s文件分析(1)
- 【ARM】2440init.s文件分析(3)
- arm启动文件2440init.s分析
- ARM启动文件2440init.s分析
- ARM启动文件2440init.s分析
- 2410Init.s分析
- 2410init.s分析
- 2440init.s分析
- 关于头文件 2410Init.s的详细注释分析
- 【ARM】2440init.s文件分析(2)
- 关于头文件 2410Init.s的详细注释分析
- 模版文件 2440INIT.S
- s3c2440的2440init.s的分析。
- 2440init.s 汇编代码分析
- 2440init.s 汇编代码分析
- Linux下HTTP服务器的搭建
- Speex手册----Speex 简介
- Google搜pdf两个方法
- 上传PowerPoint并将其转换成网页形式(vs2005)
- Speex手册----编解码介绍
- init.s文件分析
- 社会会淘汰的八种人
- 计算几何基础
- Java语言(一)
- 活用Ping命令 轻松获取网络连接与系统信息
- How the PCI bus works
- 工龄计算
- 传说中比google和百度牛的十佳搜索类网站
- 分享动态生成文字图片解决方案