📄 sys_init.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 902] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\obj\sys_init.o --depend=.\obj\sys_init.d --device=DARMSS9 --apcs=interwork -I..\common\inc -IC:\Keil\ARM\INC\Samsung --omf_browse=.\obj\sys_init.crf ..\common\src\sys_init.c]
ARM
AREA ||.text||, CODE, READONLY, ALIGN=2
break_point PROC
;;;41 void break_point(void)
;;;42 {
000000 e92d4070 PUSH {r4-r6,lr}
;;;43 int i;
;;;44 char m = 200;
000004 e3a050c8 MOV r5,#0xc8
;;;45 uart_printf("!!!Enter break point.");
000008 e28f0f9d ADR r0,|L1.644|
00000c ebfffffe BL uart_printf
;;;46
;;;47 rGPFCON=0x5500; //PORTF7/6/5/4 OUTPUT
000010 e3a00c55 MOV r0,#0x5500
000014 e3a01456 MOV r1,#0x56000000
000018 e5810050 STR r0,[r1,#0x50]
;;;48 rGPFUP=0; //PULL-UP ENABLE
00001c e3a00000 MOV r0,#0
000020 e5810058 STR r0,[r1,#0x58]
;;;49 while(m) {
000024 ea000017 B |L1.136|
|L1.40|
;;;50 rGPFDAT=0;
000028 e3a00000 MOV r0,#0
00002c e3a01456 MOV r1,#0x56000000
000030 e5810054 STR r0,[r1,#0x54]
;;;51 beep(1);
000034 e3a00001 MOV r0,#1
000038 ebfffffe BL beep
;;;52 for(i=0;i<20000;i++);
00003c e3a04000 MOV r4,#0
000040 ea000000 B |L1.72|
|L1.68|
000044 e2844001 ADD r4,r4,#1
|L1.72|
000048 e59f024c LDR r0,|L1.668|
00004c e1540000 CMP r4,r0
000050 bafffffb BLT |L1.68|
;;;53 rGPFDAT=0xF0;
000054 e3a000f0 MOV r0,#0xf0
000058 e3a01456 MOV r1,#0x56000000
00005c e5810054 STR r0,[r1,#0x54]
;;;54 beep(0);
000060 e3a00000 MOV r0,#0
000064 ebfffffe BL beep
;;;55 for(i=0;i<20000;i++);
000068 e3a04000 MOV r4,#0
00006c ea000000 B |L1.116|
|L1.112|
000070 e2844001 ADD r4,r4,#1
|L1.116|
000074 e59f0220 LDR r0,|L1.668|
000078 e1540000 CMP r4,r0
00007c bafffffb BLT |L1.112|
;;;56 m--;
000080 e2450001 SUB r0,r5,#1
000084 e20050ff AND r5,r0,#0xff
|L1.136|
000088 e3550000 CMP r5,#0
00008c 1affffe5 BNE |L1.40|
;;;57 }
;;;58 }
000090 e8bd4070 POP {r4-r6,lr}
000094 e12fff1e BX lr
ENDP
debug_undef PROC
;;;60 void debug_undef(void)
;;;61 {
000098 e92d4010 PUSH {r4,lr}
;;;62 uart_printf("!!!Enter UNDEFINED exception. %d\r\n", nCNT+=1);
00009c e59f01fc LDR r0,|L1.672|
0000a0 e5900000 LDR r0,[r0,#0] ; nCNT
0000a4 e2800001 ADD r0,r0,#1
0000a8 e59f21f0 LDR r2,|L1.672|
0000ac e5820000 STR r0,[r2,#0] ; nCNT
0000b0 e1a01000 MOV r1,r0
0000b4 e28f0f7a ADR r0,|L1.676|
0000b8 ebfffffe BL uart_printf
;;;63 break_point();
0000bc ebfffffe BL break_point
;;;64 }
0000c0 e8bd4010 POP {r4,lr}
0000c4 e12fff1e BX lr
ENDP
debug_swi PROC
;;;66 void debug_swi(void)
;;;67 {
0000c8 e92d4010 PUSH {r4,lr}
;;;68 uart_printf("!!!Enter SWI exception. %d\r\n", nCNT+=1);
0000cc e59f01cc LDR r0,|L1.672|
0000d0 e5900000 LDR r0,[r0,#0] ; nCNT
0000d4 e2800001 ADD r0,r0,#1
0000d8 e59f21c0 LDR r2,|L1.672|
0000dc e5820000 STR r0,[r2,#0] ; nCNT
0000e0 e1a01000 MOV r1,r0
0000e4 e28f0f77 ADR r0,|L1.712|
0000e8 ebfffffe BL uart_printf
;;;69 break_point();
0000ec ebfffffe BL break_point
;;;70 }
0000f0 e8bd4010 POP {r4,lr}
0000f4 e12fff1e BX lr
ENDP
debug_abort_d PROC
;;;72 void debug_abort_d(void)
;;;73 {
0000f8 e92d4010 PUSH {r4,lr}
;;;74 uart_printf("!!!Enter Data ABORT exception. %d\r\n", nCNT+=1);
0000fc e59f019c LDR r0,|L1.672|
000100 e5900000 LDR r0,[r0,#0] ; nCNT
000104 e2800001 ADD r0,r0,#1
000108 e59f2190 LDR r2,|L1.672|
00010c e5820000 STR r0,[r2,#0] ; nCNT
000110 e1a01000 MOV r1,r0
000114 e28f0f73 ADR r0,|L1.744|
000118 ebfffffe BL uart_printf
;;;75 break_point();
00011c ebfffffe BL break_point
;;;76 }
000120 e8bd4010 POP {r4,lr}
000124 e12fff1e BX lr
ENDP
debug_abort_p PROC
;;;78 void debug_abort_p(void)
;;;79 {
000128 e92d4010 PUSH {r4,lr}
;;;80 uart_printf("!!!Enter Prefetch ABORT exception. %d\r\n", nCNT+=1);
00012c e59f016c LDR r0,|L1.672|
000130 e5900000 LDR r0,[r0,#0] ; nCNT
000134 e2800001 ADD r0,r0,#1
000138 e59f2160 LDR r2,|L1.672|
00013c e5820000 STR r0,[r2,#0] ; nCNT
000140 e1a01000 MOV r1,r0
000144 e28f0d07 ADR r0,|L1.780|
000148 ebfffffe BL uart_printf
;;;81 break_point();
00014c ebfffffe BL break_point
;;;82 }
000150 e8bd4010 POP {r4,lr}
000154 e12fff1e BX lr
ENDP
debug_fiq PROC
;;;84 void debug_fiq(void)
;;;85 {
000158 e92d4010 PUSH {r4,lr}
;;;86 uart_printf("!!!Enter FIQ exception. %d\r\n", nCNT+=1);
00015c e59f013c LDR r0,|L1.672|
000160 e5900000 LDR r0,[r0,#0] ; nCNT
000164 e2800001 ADD r0,r0,#1
000168 e59f2130 LDR r2,|L1.672|
00016c e5820000 STR r0,[r2,#0] ; nCNT
000170 e1a01000 MOV r1,r0
000174 e28f0f6e ADR r0,|L1.820|
000178 ebfffffe BL uart_printf
;;;87 break_point();
00017c ebfffffe BL break_point
;;;88 }
000180 e8bd4010 POP {r4,lr}
000184 e12fff1e BX lr
ENDP
interrupts_init PROC
;;;99 {
;;;100 rINTMOD = 0x0; // All=IRQ mode
000188 e3a00000 MOV r0,#0
00018c e3a0144a MOV r1,#0x4a000000
000190 e5810004 STR r0,[r1,#4]
;;;101 rSRCPND = rSRCPND; // clear all interrupt
000194 e3a0044a MOV r0,#0x4a000000
000198 e5900000 LDR r0,[r0,#0]
00019c e5810000 STR r0,[r1,#0]
;;;102 rINTPND = rINTPND; // clear all interrupt
0001a0 e3a0044a MOV r0,#0x4a000000
0001a4 e5900010 LDR r0,[r0,#0x10]
0001a8 e5810010 STR r0,[r1,#0x10]
;;;103 rINTMSK = BIT_ALLMSK; // All interrupt is masked.
0001ac e3e00000 MVN r0,#0
0001b0 e5810008 STR r0,[r1,#8]
;;;104 rINTSUBMSK = BIT_SUB_ALLMSK; // All sub-interrupt is masked.
0001b4 e1a00aa0 LSR r0,r0,#21
0001b8 e581001c STR r0,[r1,#0x1c]
;;;105
;;;106 // External interrupt will be falling edge triggered.
;;;107 rEXTINT0 = 0x22222222; // EINT[7:0]
0001bc e59f0190 LDR r0,|L1.852|
0001c0 e3a01456 MOV r1,#0x56000000
0001c4 e5810088 STR r0,[r1,#0x88]
;;;108 rEXTINT1 = 0x22222222; // EINT[15:8]
0001c8 e581008c STR r0,[r1,#0x8c]
;;;109 rEXTINT2 = 0x22222222; // EINT[23:16]
0001cc e5810090 STR r0,[r1,#0x90]
;;;110
;;;111 // pISR_RESET //reserved
;;;112 pISR_UNDEF = (unsigned) debug_undef;
0001d0 e24f0d05 ADR r0,debug_undef
0001d4 e59f117c LDR r1,|L1.856|
0001d8 e5810f04 STR r0,[r1,#0xf04]
;;;113 pISR_SWI = (unsigned) debug_swi;
0001dc e24f0f47 ADR r0,debug_swi
0001e0 e5810f08 STR r0,[r1,#0xf08]
;;;114 pISR_PABORT = (unsigned) debug_abort_d;
0001e4 e24f00f4 ADR r0,debug_abort_d
0001e8 e5810f0c STR r0,[r1,#0xf0c]
;;;115 pISR_DABORT = (unsigned) debug_abort_d;
0001ec e5810f10 STR r0,[r1,#0xf10]
;;;116 // pISR_RESERVED //not used
;;;117 // pISR_IRQ = (unsigned) 0; //reserved
;;;118 pISR_FIQ = (unsigned) debug_fiq;
0001f0 e24f00a0 ADR r0,debug_fiq
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -