?? framework.lst
字號:
ARM GAS /cygdrive/c/DOCUME~1/HOWARD~1/LOCALS~1/Temp/ccP8AgD9.s page 1 1 .file "framework.c" 2 .section .debug_abbrev,"",%progbits 3 .Ldebug_abbrev0: 4 .section .debug_info,"",%progbits 5 .Ldebug_info0: 6 .section .debug_line,"",%progbits 7 .Ldebug_line0: 8 0000 91000000 .text 8 02001F00 8 00000201 8 FB0E0A00 8 01010101 9 .Ltext0: 10 .section .rodata.str1.4,"aMS",%progbits,1 11 .align 2 12 .LC0: 13 0000 556E6465 .ascii "Undefined instruction exception !!!\012Address: 0x\000" 13 66696E65 13 6420696E 13 73747275 13 6374696F 14 .text 15 .align 2 16 .type exceptionHandlerUndef, %function 17 exceptionHandlerUndef: 18 .LFB2: 19 .file 1 "framework.c" 1:framework.c **** /******************************************************************************
2:framework.c **** *
3:framework.c **** * Copyright:
4:framework.c **** * (C) 2000 - 2005 Embedded Artists AB
5:framework.c **** *
6:framework.c **** * Description:
7:framework.c **** * Framework for ARM7 processor
8:framework.c **** *
9:framework.c **** *****************************************************************************/
10:framework.c ****
11:framework.c **** /******************************************************************************
12:framework.c **** * Includes
13:framework.c **** *****************************************************************************/
14:framework.c **** #include "lpc2xxx.h" /* LPC2xxx definitions */
15:framework.c **** #include "config.h"
16:framework.c **** #include "framework.h"
17:framework.c **** #include "consol.h"
18:framework.c ****
19:framework.c **** /******************************************************************************
20:framework.c **** * Defines, macros, and typedefs
21:framework.c **** *****************************************************************************/
22:framework.c ****
23:framework.c ****
24:framework.c **** /******************************************************************************
25:framework.c **** * External variables
26:framework.c **** *****************************************************************************/
27:framework.c **** extern char end asm ("end"); //the symbol "end" is defined by the linker script
28:framework.c ****
29:framework.c ****
30:framework.c **** /******************************************************************************
ARM GAS /cygdrive/c/DOCUME~1/HOWARD~1/LOCALS~1/Temp/ccP8AgD9.s page 2 31:framework.c **** * Public variables
32:framework.c **** *****************************************************************************/
33:framework.c **** unsigned char *pHeapStart;
34:framework.c **** unsigned char *pHeapEnd;
35:framework.c ****
36:framework.c ****
37:framework.c **** /******************************************************************************
38:framework.c **** * External functions
39:framework.c **** *****************************************************************************/
40:framework.c ****
41:framework.c ****
42:framework.c **** /******************************************************************************
43:framework.c **** * Public functions
44:framework.c **** *****************************************************************************/
45:framework.c **** void lowLevelInit(void);
46:framework.c **** void eaInit(void);
47:framework.c **** void exceptionHandlerInit(void);
48:framework.c ****
49:framework.c **** /******************************************************************************
50:framework.c **** * Implementation of local functions
51:framework.c **** *****************************************************************************/
52:framework.c ****
53:framework.c **** /*****************************************************************************
54:framework.c **** *
55:framework.c **** * Description:
56:framework.c **** * Default exception handler for undefined instruction.
57:framework.c **** * Prints information and halt. Observe that code execture in exception
58:framework.c **** * mode (as opposed to supervisor mode, which is the normal execution mode).
59:framework.c **** *
60:framework.c **** ****************************************************************************/
61:framework.c **** static void
62:framework.c **** exceptionHandlerUndef(void)
63:framework.c **** {
20 .loc 1 63 0 21 @ Function supports interworking. 22 @ args = 0, pretend = 0, frame = 0 23 @ frame_needed = 0, uses_anonymous_args = 0 24 .LVL0: 25 0000 04E02DE5 str lr, [sp, #-4]! 26 .LCFI0: 64:framework.c **** register unsigned int programCounter asm ("lr");
65:framework.c **** unsigned int value = programCounter - (unsigned int)0x04;
66:framework.c ****
67:framework.c **** consolSendString("Undefined instruction exception !!!\nAddress: 0x");
27 .loc 1 67 0 28 0004 24009FE5 ldr r0, .L4 29 .loc 1 63 0 30 0008 04D04DE2 sub sp, sp, #4 31 .LCFI1: 32 .LVL1: 33 .loc 1 67 0 34 000c FEFFFFEB bl consolSendString 68:framework.c **** consolSendNumber(16, 8, 0, '0', value);
35 .loc 1 68 0 36 0010 1000A0E3 mov r0, #16 37 .LVL2: 38 0014 04E04EE2 sub lr, lr, #4ARM GAS /cygdrive/c/DOCUME~1/HOWARD~1/LOCALS~1/Temp/ccP8AgD9.s page 3 39 .LVL3: 40 0018 0810A0E3 mov r1, #8 41 001c 0020A0E3 mov r2, #0 42 0020 3030A0E3 mov r3, #48 43 0024 00E08DE5 str lr, [sp, #0] 44 0028 FEFFFFEB bl consolSendNumber 45 .L2: 46 002c 090000EA b .L2 47 .L5: 48 .align 2 49 .L4: 50 0030 00000000 .word .LC0 51 .LFE2: 52 .size exceptionHandlerUndef, .-exceptionHandlerUndef 53 .section .rodata.str1.4 54 .align 2 55 .LC1: 56 0030 53574920 .ascii "SWI exception !!!\012Address: 0x\000" 56 65786365 56 7074696F 56 6E202121 56 210A4164 57 .text 58 .align 2 59 .type exceptionHandlerSwi, %function 60 exceptionHandlerSwi: 61 .LFB3: 69:framework.c **** while(1)
70:framework.c **** ;
71:framework.c **** }
72:framework.c ****
73:framework.c **** /*****************************************************************************
74:framework.c **** *
75:framework.c **** * Description:
76:framework.c **** * Default exception handler for software interrupt.
77:framework.c **** * Prints information and halt. Observe that code execture in exception
78:framework.c **** * mode (as opposed to supervisor mode, which is the normal execution mode).
79:framework.c **** *
80:framework.c **** ****************************************************************************/
81:framework.c **** static void
82:framework.c **** exceptionHandlerSwi(void)
83:framework.c **** {
62 .loc 1 83 0 63 @ Function supports interworking. 64 @ args = 0, pretend = 0, frame = 0 65 @ frame_needed = 0, uses_anonymous_args = 0 66 .LVL4: 67 0034 04E02DE5 str lr, [sp, #-4]! 68 .LCFI2: 84:framework.c **** register unsigned int programCounter asm ("lr");
85:framework.c **** unsigned int value = programCounter - (unsigned int)0x04;
86:framework.c ****
87:framework.c **** consolSendString("SWI exception !!!\nAddress: 0x");
69 .loc 1 87 0 70 0038 24009FE5 ldr r0, .L9 71 .loc 1 83 0 72 003c 04D04DE2 sub sp, sp, #4ARM GAS /cygdrive/c/DOCUME~1/HOWARD~1/LOCALS~1/Temp/ccP8AgD9.s page 4 73 .LCFI3: 74 .LVL5: 75 .loc 1 87 0 76 0040 FEFFFFEB bl consolSendString 88:framework.c **** consolSendNumber(16, 8, 0, '0', value);
77 .loc 1 88 0 78 0044 1000A0E3 mov r0, #16 79 .LVL6: 80 0048 04E04EE2 sub lr, lr, #4 81 .LVL7: 82 004c 0810A0E3 mov r1, #8 83 0050 0020A0E3 mov r2, #0 84 0054 3030A0E3 mov r3, #48 85 0058 00E08DE5 str lr, [sp, #0] 86 005c FEFFFFEB bl consolSendNumber 87 .L7: 88 0060 160000EA b .L7 89 .L10: 90 .align 2 91 .L9: 92 0064 30000000 .word .LC1 93 .LFE3: 94 .size exceptionHandlerSwi, .-exceptionHandlerSwi 95 .section .rodata.str1.4 96 004e 0000 .align 2 97 .LC2: 98 0050 5061626F .ascii "Pabort exception !!!\012Address: 0x\000" 98 72742065 98 78636570 98 74696F6E 98 20212121 99 .text 100 .align 2 101 .type exceptionHandlerPabort, %function 102 exceptionHandlerPabort: 103 .LFB4: 89:framework.c **** while(1)
90:framework.c **** ;
91:framework.c **** }
92:framework.c ****
93:framework.c **** /*****************************************************************************
94:framework.c **** *
95:framework.c **** * Description:
96:framework.c **** * Default exception handler for invalid program fetch.
97:framework.c **** * Prints information and halt. Observe that code execture in exception
98:framework.c **** * mode (as opposed to supervisor mode, which is the normal execution mode).
99:framework.c **** *
100:framework.c **** ****************************************************************************/
101:framework.c **** static void
102:framework.c **** exceptionHandlerPabort()
103:framework.c **** {
104 .loc 1 103 0 105 @ Function supports interworking. 106 @ args = 0, pretend = 0, frame = 0 107 @ frame_needed = 0, uses_anonymous_args = 0 108 .LVL8: 109 0068 04E02DE5 str lr, [sp, #-4]!ARM GAS /cygdrive/c/DOCUME~1/HOWARD~1/LOCALS~1/Temp/ccP8AgD9.s page 5 110 .LCFI4: 104:framework.c **** register unsigned int programCounter asm ("lr");
105:framework.c **** unsigned int value = programCounter - (unsigned int)0x04;
106:framework.c ****
107:framework.c **** consolSendString("Pabort exception !!!\nAddress: 0x");
111 .loc 1 107 0 112 006c 24009FE5 ldr r0, .L14 113 .loc 1 103 0 114 0070 04D04DE2 sub sp, sp, #4 115 .LCFI5: 116 .LVL9: 117 .loc 1 107 0 118 0074 FEFFFFEB bl consolSendString 108:framework.c **** consolSendNumber(16, 8, 0, '0', value);
119 .loc 1 108 0 120 0078 1000A0E3 mov r0, #16 121 .LVL10: 122 007c 04E04EE2 sub lr, lr, #4 123 .LVL11: 124 0080 0810A0E3 mov r1, #8 125 0084 0020A0E3 mov r2, #0 126 0088 3030A0E3 mov r3, #48 127 008c 00E08DE5 str lr, [sp, #0] 128 0090 FEFFFFEB bl consolSendNumber 129 .L12: 130 0094 230000EA b .L12 131 .L15: 132 .align 2 133 .L14: 134 0098 50000000 .word .LC2 135 .LFE4: 136 .size exceptionHandlerPabort, .-exceptionHandlerPabort 137 .section .rodata.str1.4 138 0071 000000 .align 2 139 .LC3: 140 0074 4461626F .ascii "Dabort exception !!!\012Address: 0x\000" 140 72742065 140 78636570 140 74696F6E 140 20212121 141 .text 142 .align 2 143 .type exceptionHandlerDabort, %function 144 exceptionHandlerDabort: 145 .LFB5: 109:framework.c **** while(1)
110:framework.c **** ;
111:framework.c **** }
112:framework.c ****
113:framework.c **** /*****************************************************************************
114:framework.c **** *
115:framework.c **** * Description:
116:framework.c **** * Default exception handler for invalid data access.
117:framework.c **** * Prints information and halt. Observe that code execture in exception
118:framework.c **** * mode (as opposed to supervisor mode, which is the normal execution mode).
119:framework.c **** *
120:framework.c **** ****************************************************************************/
ARM GAS /cygdrive/c/DOCUME~1/HOWARD~1/LOCALS~1/Temp/ccP8AgD9.s page 6 121:framework.c **** static void
122:framework.c **** exceptionHandlerDabort(void)
123:framework.c **** {
146 .loc 1 123 0 147 @ Function supports interworking. 148 @ args = 0, pretend = 0, frame = 0 149 @ frame_needed = 0, uses_anonymous_args = 0 150 .LVL12: 151 009c 04E02DE5 str lr, [sp, #-4]! 152 .LCFI6: 124:framework.c **** register unsigned int programCounter asm ("lr");
125:framework.c **** unsigned int value = programCounter - (unsigned int)0x08;
126:framework.c ****
127:framework.c **** consolSendString("Dabort exception !!!\nAddress: 0x");
153 .loc 1 127 0 154 00a0 24009FE5 ldr r0, .L19 155 .loc 1 123 0 156 00a4 04D04DE2 sub sp, sp, #4 157 .LCFI7: 158 .LVL13: 159 .loc 1 127 0 160 00a8 FEFFFFEB bl consolSendString 128:framework.c **** consolSendNumber(16, 8, 0, '0', value);
161 .loc 1 128 0 162 00ac 1000A0E3 mov r0, #16 163 .LVL14: 164 00b0 08E04EE2 sub lr, lr, #8 165 .LVL15: 166 00b4 0810A0E3 mov r1, #8 167 00b8 0020A0E3 mov r2, #0 168 00bc 3030A0E3 mov r3, #48 169 00c0 00E08DE5 str lr, [sp, #0] 170 00c4 FEFFFFEB bl consolSendNumber 171 .L17: 172 00c8 300000EA b .L17 173 .L20: 174 .align 2 175 .L19: 176 00cc 74000000 .word .LC3 177 .LFE5: 178 .size exceptionHandlerDabort, .-exceptionHandlerDabort 179 .section .rodata.str1.4 180 0095 000000 .align 2 181 .LC4: 182 0098 46495120 .ascii "FIQ exception !!!\012Address: 0x\000" 182 65786365 182 7074696F 182 6E202121 182 210A4164 183 00b6 0000 .text 184 .align 2 185 .type exceptionHandlerFiq, %function 186 exceptionHandlerFiq: 187 .LFB6: 129:framework.c **** while(1)
130:framework.c **** ;
131:framework.c **** }
ARM GAS /cygdrive/c/DOCUME~1/HOWARD~1/LOCALS~1/Temp/ccP8AgD9.s page 7 132:framework.c ****
133:framework.c **** /*****************************************************************************
134:framework.c **** *
135:framework.c **** * Description:
136:framework.c **** * Default exception handler for fast interrupts.
137:framework.c **** * Prints information and halt. Observe that code execture in exception
138:framework.c **** * mode (as opposed to supervisor mode, which is the normal execution mode).
139:framework.c **** *
140:framework.c **** ****************************************************************************/
141:framework.c **** static void
142:framework.c **** exceptionHandlerFiq(void)
143:framework.c **** {
188 .loc 1 143 0 189 @ Function supports interworking. 190 @ args = 0, pretend = 0, frame = 0 191 @ frame_needed = 0, uses_anonymous_args = 0 192 .LVL16: 193 00d0 04E02DE5 str lr, [sp, #-4]! 194 .LCFI8: 144:framework.c **** register unsigned int programCounter asm ("lr");
145:framework.c **** unsigned int value = programCounter - (unsigned int)0x04;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -