⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sys_init.txt

📁 此源码是sc3c2410串口测试程序
💻 TXT
📖 第 1 页 / 共 2 页
字号:
; 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 + -