管理信息化代码分析报告

上传人:管****问 文档编号:137841319 上传时间:2020-07-12 格式:DOCX 页数:25 大小:32.16KB
返回 下载 相关 举报
管理信息化代码分析报告_第1页
第1页 / 共25页
管理信息化代码分析报告_第2页
第2页 / 共25页
管理信息化代码分析报告_第3页
第3页 / 共25页
管理信息化代码分析报告_第4页
第4页 / 共25页
管理信息化代码分析报告_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《管理信息化代码分析报告》由会员分享,可在线阅读,更多相关《管理信息化代码分析报告(25页珍藏版)》请在金锄头文库上搜索。

1、Bootloader代码分析报告徐 凯2007-8-3Bootloader代码分析报告11.启动代码分析11.1.vector.s代码分析11.1.1.宏定义51.1.3.判断是否是thumb指令61.1.4.定义新程序、引入新符号61.1.5.定义新程序、引入新符号71.1.6.定义系统异常向量表71.1.7.程序跳转宏定义71.1.8.异常处理程序定义71.1.9.声明C主函数程序入口101.1.10.定义vector.s中需要用到的连接器变量101.1.11.定义从FLASH启动程序的函数111.2.sysinit.s代码分析111.2.1.引入S3C4510相关系统配置寄存器的地址18

2、1.2.2.定义用于配置ROM和RAM的宏181.2.3.定义用于配置SYSCFG的宏181.2.4.定义用于初始化内存的函数InitMemory181.2.5.定义用于初始化内存的函数InitMemory201.2.6.定义内存重设置函数ResetMemSet211.2.7.初始化21种中断源响应函数InitInterrupt211.2.8.初始化18个外部I/O端口函数InitPort211.2.9.初始化2个计时器的函数InitTimer221.2.10.初始化2个串口函数InitUart221.2.11.初始化栈函数InitStack231.2.12.系统初始化函数InitSystem

3、241. 启动代码分析1.1. vector.s代码分析由于连接器参数中有-first vector.o,所以先从这个文件开始分析。首先,列出源代码:1 ModeMask EQU0x1F2 SVC32ModeEQU0x133 IRQ32ModeEQU0x124 FIQ32ModeEQU0x115 User32ModeEQU0x106 Abort32ModeEQU0x177 Undef32ModeEQU0x1B8 IRQ_BITEQU0x809 FIQ_BITEQU0x4010 ;RomBaseAddrEQU011 RamBaseAddrEQU&10012 ;RamEndAddr EQU&200

4、13 GBLSMainEntry14 MainEntrySETSmain15 IMPORT$MainEntry16 ;*17 ;鯡tasm.exe默18 GBLL THUMBCODE19 CONFIG = 1620 THUMBCODE SETLTRUE21 CODE3222 | 23 THUMBCODE SETLFALSE24 2526 THUMBCODE27 CODE32 ;for start-up code for Thumb mode28 2930 ;*31 AREASelfBoot,CODE,READONLY3233 IMPORTUDF_INS_VECTOR34 IMPORTSWI_S

5、VC_VECTOR35 IMPORTINS_ABT_VECTOR36 IMPORTDAT_ABT_VECTOR37 IMPORTIRQ_SVC_VECTOR38 IMPORTFIQ_SVC_VECTOR3940 ENTRY41 IF :DEF: |ads$version|42 ELSE43 EXPORT_main44 _main45 ENDIF46 ResetEntry47 bSYS_RST_HANDLER48 bUDF_INS_HANDLER49 bSWI_SVC_HANDLER50 bINS_ABT_HANDLER51 bDAT_ABT_HANDLER52 b.53 bIRQ_SVC_HA

6、NDLER54 bFIQ_SVC_HANDLER5556 ;*57 MACRO58 $LabelHANDLER$Vector59 $Label60 sublr, lr, #461 stmfdsp!, r0-r3, lr62 ldrr0, =$Vector63 ldrpc, r064 ldmfdsp!, r0-r3, pc65 MEND6667 UDF_INS_HANDLER68 stmfdsp!, r0-r3, lr69 ldrr0, =UDF_INS_VECTOR70 movlr, pc71 ldrpc, r072 ldmfdsp!, r0-r3, pc73 SWI_SVC_HANDLER7

7、4 stmfdsp!, r0-r3, lr75 ldrr0, =SWI_SVC_VECTOR76 movlr, pc77 ldrpc, r078 ldmfdsp!, r0-r3, pc79 INS_ABT_HANDLER80 sublr, lr, #481 stmfdsp!, r0-r3, lr82 ldrr0, =INS_ABT_VECTOR83 movlr, pc84 ldrpc, r085 ldmfdsp!, r0-r3, pc86 DAT_ABT_HANDLER87 sublr, lr, #488 stmfdsp!, r0-r3, lr89 ldrr0, =DAT_ABT_VECTOR

8、90 movlr, pc91 ldrpc, r092 ldmfdsp!, r0-r3, pc93 IRQ_SVC_HANDLER94 sublr, lr, #495 stmfdsp!, r0-r12, lr96 mrsr0, spsr97 stmfdsp!, r098 ldrr0, =IRQ_SVC_VECTOR99 ldrpc, r0100 FIQ_SVC_HANDLER101 sublr, lr, #4102 stmfdsp!, r0-r12, lr103 mrsr0, spsr104 stmfdsp!, r0105 ldrr0, =IRQ_SVC_VECTOR106 ldrpc, r01

9、07108 ;*109 SYS_RST_HANDLER110 mrsr0, cpsr;enter svc mode and disable irq,fiq111 bicr0, r0, #ModeMask112 orrr0, r0, #(SVC32Mode :OR: IRQ_BIT :OR: FIQ_BIT)113 msrcpsr_c, r0114115 IMPORTInitSystem116 blInitSystem117118 adrr0, ResetEntry119 movr3, #(RamBaseAddr16)120 ldrr1, BaseOfROM121 ldrr2, TopOfROM

10、122 addr1, r1, r3123 addr2, r2, r3124 0125 ldmiar0!, r4-r11126 stmiar1!, r4-r11127 cmpr1, r2128 bcc%B0129130 subr1, r1, r2131 subr0, r0, r1132 ldrr1, BaseOfBSS133 ldrr2, BaseOfZero134 addr1, r1, r3135 addr2, r2, r3136 1137 cmpr1,r2138 ldrccr4, r0, #4139 strccr4, r1, #4140 bcc%B1141142 movr0,#0143 ld

11、rr2,EndOfBSS144 addr2, r2, r3145 3146 cmpr1,r2147 strccr0, r1, #4148 bcc%B3149150 IMPORTRemapMemory151152 adrr0, ResetEntry153 ldrr1, =RemapMemory154 ldrr2, BaseOfROM155 subr2, r1, r2156 addr0, r0, r2157 addr1, r2, r3158 movr2,#32159 0160 ldrr3, r0, #4161 strr3, r1, #4162 subsr2, r2,#1163 bne%B01641

12、65 ldrlr,GotoMain 166 bRemapMemory 167168 GotoMainDCD$MainEntry169170 ;*171 IMPORT|Image$RO$Base|; ROM code start172 IMPORT|Image$RO$Limit|; RAM data starts after ROM program173 IMPORT|Image$RW$Base|; Pre-initialised variables174 IMPORT|Image$ZI$Base|; uninitialised variables175 IMPORT|Image$ZI$Limit|; End of variable RAM space176177 BaseOfROMDCD|Image$RO$Base|178 TopOfROMDCD|Image$RO$Limit|179 BaseOfBSSDCD|Image$RW$Base|180 BaseOfZeroDCD|Image$ZI$Base|181 EndOfBSSDCD|Image$ZI$Limit|182183 ;*184 TIP_SIZEEQU256185186 IMPORTRes

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号