📄 extdmam.txt
字号:
ENDP
Intro PROC
;;;25 void Intro(void)
;;;26 {
000578 e92d4010 STMFD sp!,{r4,lr}
;;;27 unsigned char c;
;;;28 ExtdmaDone=0;
00057c e3a00000 MOV r0,#0
000580 e51f1538 LDR r1,|L1.80|
000584 e5810000 STR r0,[r1,#0] ; ExtdmaDone
;;;29
;;;30 rGPCON_U=(rGPCON_U&~(0xcc00))|(2<<14)|(2<<10);//ch-0
000588 e59f01c4 LDR r0,|L1.1876|
00058c e5900000 LDR r0,[r0,#0]
000590 e3c00ccc BIC r0,r0,#0xcc00
000594 e3800c88 ORR r0,r0,#0x8800
000598 e59f11b4 LDR r1,|L1.1876|
00059c e5810000 STR r0,[r1,#0]
;;;31 //rGPCON_U=(rGPCON_U&~(0x33000))|(2<<16)|(2<<12);//ch-1
;;;32 Uart_Printf("1.byte single\n2.halfword single\n3.word single\n4.byte extDMAburst\n5.halfword extDMAburst\n6.word extDMAburst\n");
0005a0 e59f01b0 LDR r0,|L1.1880|
0005a4 ebfffffe BL _printf
;;;33 Uart_Printf("select mode: ");
0005a8 e28f0f6b ADR r0,|L1.1884|
0005ac ebfffffe BL _printf
;;;34 c = Uart_Getch();
0005b0 ebfffffe BL Uart_Getch
0005b4 e1a04000 MOV r4,r0
;;;35
;;;36 switch(c)
0005b8 e2440031 SUB r0,r4,#0x31
0005bc e3500005 CMP r0,#5
0005c0 908ff100 ADDLS pc,pc,r0,LSL #2
0005c4 ea00005f B |L1.1864|
0005c8 ea000004 B |L1.1504|
0005cc ea000012 B |L1.1564|
0005d0 ea000020 B |L1.1624|
0005d4 ea00002e B |L1.1684|
0005d8 ea00003c B |L1.1744|
0005dc ea00004a B |L1.1804|
;;;37 {
;;;38 case '1':
;;;39 Uart_Printf("byte single transfer\n");
|L1.1504|
0005e0 e28f0f61 ADR r0,|L1.1900|
0005e4 ebfffffe BL _printf
;;;40 Uart_Printf("ack_count=32\n");
0005e8 e28f0f65 ADR r0,|L1.1924|
0005ec ebfffffe BL _printf
;;;41 extDMAburst=0, extDMAdsz=0, extDMAtc=0x20;
0005f0 e3a00000 MOV r0,#0
0005f4 e51f1120 LDR r1,|L1.1244|
0005f8 e5810000 STR r0,[r1,#0] ; extDMAburst
0005fc e3a00000 MOV r0,#0
000600 e51f1130 LDR r1,|L1.1240|
000604 e5810000 STR r0,[r1,#0] ; extDMAdsz
000608 e3a00020 MOV r0,#0x20
00060c e51f1134 LDR r1,|L1.1248|
000610 e5810000 STR r0,[r1,#0] ; extDMAtc
;;;42 //extDMAburst=0, extDMAdsz=0, extDMAtc=0xfffff;
;;;43 //extDMAburst=0, extDMAdsz=0, extDMAtc=0x8;
;;;44 Test_extDMA();
000614 ebfffffe BL Test_extDMA
;;;45 break;
000618 ea00004b B |L1.1868|
;;;46 case '2':
;;;47 Uart_Printf("halfword single transfer\n");
|L1.1564|
00061c e28f0f5c ADR r0,|L1.1940|
000620 ebfffffe BL _printf
;;;48 Uart_Printf("ack_count=16\n");
000624 e28f0f61 ADR r0,|L1.1968|
000628 ebfffffe BL _printf
;;;49 extDMAburst=0, extDMAdsz=1, extDMAtc=0x10;
00062c e3a00000 MOV r0,#0
000630 e51f115c LDR r1,|L1.1244|
000634 e5810000 STR r0,[r1,#0] ; extDMAburst
000638 e3a00001 MOV r0,#1
00063c e51f116c LDR r1,|L1.1240|
000640 e5810000 STR r0,[r1,#0] ; extDMAdsz
000644 e3a00010 MOV r0,#0x10
000648 e51f1170 LDR r1,|L1.1248|
00064c e5810000 STR r0,[r1,#0] ; extDMAtc
;;;50 //extDMAburst=0, extDMAdsz=1, extDMAtc=0xfffff;
;;;51 Test_extDMA();
000650 ebfffffe BL Test_extDMA
;;;52 break;
000654 ea00003c B |L1.1868|
;;;53 case '3':
;;;54 Uart_Printf("word single transfer\n");
|L1.1624|
000658 e28f0f4e ADR r0,|L1.1944|
00065c ebfffffe BL _printf
;;;55 Uart_Printf("ack_count=8\n");
000660 e28f0f56 ADR r0,|L1.1984|
000664 ebfffffe BL _printf
;;;56 extDMAburst=0, extDMAdsz=2, extDMAtc=0x8;
000668 e3a00000 MOV r0,#0
00066c e51f1198 LDR r1,|L1.1244|
000670 e5810000 STR r0,[r1,#0] ; extDMAburst
000674 e3a00002 MOV r0,#2
000678 e51f11a8 LDR r1,|L1.1240|
00067c e5810000 STR r0,[r1,#0] ; extDMAdsz
000680 e3a00008 MOV r0,#8
000684 e51f11ac LDR r1,|L1.1248|
000688 e5810000 STR r0,[r1,#0] ; extDMAtc
;;;57 //extDMAburst=0, extDMAdsz=2, extDMAtc=0xfffff;
;;;58 Test_extDMA();
00068c ebfffffe BL Test_extDMA
;;;59 break;
000690 ea00002d B |L1.1868|
;;;60 case '4':
;;;61 Uart_Printf("byte extDMAburst transfer\n");
|L1.1684|
000694 e28f0f4d ADR r0,|L1.2000|
000698 ebfffffe BL _printf
;;;62 Uart_Printf("ack_count=8\n");
00069c e28f0f47 ADR r0,|L1.1984|
0006a0 ebfffffe BL _printf
;;;63 extDMAburst=1, extDMAdsz=0, extDMAtc=0x8;
0006a4 e3a00001 MOV r0,#1
0006a8 e51f11d4 LDR r1,|L1.1244|
0006ac e5810000 STR r0,[r1,#0] ; extDMAburst
0006b0 e3a00000 MOV r0,#0
0006b4 e51f11e4 LDR r1,|L1.1240|
0006b8 e5810000 STR r0,[r1,#0] ; extDMAdsz
0006bc e3a00008 MOV r0,#8
0006c0 e51f11e8 LDR r1,|L1.1248|
0006c4 e5810000 STR r0,[r1,#0] ; extDMAtc
;;;64 //extDMAburst=1, extDMAdsz=0, extDMAtc=0xfffff;
;;;65 Test_extDMA();
0006c8 ebfffffe BL Test_extDMA
;;;66 break;
0006cc ea00001e B |L1.1868|
;;;67 case '5':
;;;68 Uart_Printf("halfword extDMAburst transfer\n");
|L1.1744|
0006d0 e28f0f45 ADR r0,|L1.2028|
0006d4 ebfffffe BL _printf
;;;69 Uart_Printf("ack_count=4\n");
0006d8 e28f0f4b ADR r0,|L1.2060|
0006dc ebfffffe BL _printf
;;;70 extDMAburst=1, extDMAdsz=1, extDMAtc=0x4;
0006e0 e3a00001 MOV r0,#1
0006e4 e51f1210 LDR r1,|L1.1244|
0006e8 e5810000 STR r0,[r1,#0] ; extDMAburst
0006ec e3a00001 MOV r0,#1
0006f0 e51f1220 LDR r1,|L1.1240|
0006f4 e5810000 STR r0,[r1,#0] ; extDMAdsz
0006f8 e3a00004 MOV r0,#4
0006fc e51f1224 LDR r1,|L1.1248|
000700 e5810000 STR r0,[r1,#0] ; extDMAtc
;;;71 Test_extDMA();
000704 ebfffffe BL Test_extDMA
;;;72 break;
000708 ea00000f B |L1.1868|
;;;73 case '6':
;;;74 Uart_Printf("word extDMAburst transfer\n");
|L1.1804|
00070c e28f00dc ADR r0,|L1.2032|
000710 ebfffffe BL _printf
;;;75 Uart_Printf("ack_count=2\n");
000714 e28f0f40 ADR r0,|L1.2076|
000718 ebfffffe BL _printf
;;;76 extDMAburst=1, extDMAdsz=2, extDMAtc=0x2;
00071c e3a00001 MOV r0,#1
000720 e51f124c LDR r1,|L1.1244|
000724 e5810000 STR r0,[r1,#0] ; extDMAburst
000728 e3a00002 MOV r0,#2
00072c e51f125c LDR r1,|L1.1240|
000730 e5810000 STR r0,[r1,#0] ; extDMAdsz
000734 e3a00002 MOV r0,#2
000738 e51f1260 LDR r1,|L1.1248|
00073c e5810000 STR r0,[r1,#0] ; extDMAtc
;;;77 Test_extDMA();
000740 ebfffffe BL Test_extDMA
;;;78 break;
000744 ea000000 B |L1.1868|
;;;79 default:
;;;80 break;
|L1.1864|
000748 e1a00000 NOP
;;;81 }
;;;82 }
|L1.1868|
00074c e8bd8010 LDMFD sp!,{r4,pc}
|L1.1872|
000750 11080000 DCD 0x11080000
|L1.1876|
000754 44800000 DCD 0x44800000
|L1.1880|
000758 00000000 DCD ||.constdata$1||
|L1.1884|
00075c 656c6573 DCB "sele"
000760 6d207463 DCB "ct m"
000764 3a65646f DCB "ode:"
000768 00000020 DCB " \0\0\0"
|L1.1900|
00076c 65747962 DCB "byte"
000770 6e697320 DCB " sin"
000774 20656c67 DCB "gle "
000778 6e617274 DCB "tran"
00077c 72656673 DCB "sfer"
000780 0000000a DCB "\n\0\0\0"
|L1.1924|
000784 5f6b6361 DCB "ack_"
000788 6e756f63 DCB "coun"
00078c 32333d74 DCB "t=32"
000790 0000000a DCB "\n\0\0\0"
|L1.1940|
000794 666c6168 DCB "half"
|L1.1944|
000798 64726f77 DCB "word"
00079c 6e697320 DCB " sin"
0007a0 20656c67 DCB "gle "
0007a4 6e617274 DCB "tran"
0007a8 72656673 DCB "sfer"
0007ac 0000000a DCB "\n\0\0\0"
|L1.1968|
0007b0 5f6b6361 DCB "ack_"
0007b4 6e756f63 DCB "coun"
0007b8 36313d74 DCB "t=16"
0007bc 0000000a DCB "\n\0\0\0"
|L1.1984|
0007c0 5f6b6361 DCB "ack_"
0007c4 6e756f63 DCB "coun"
0007c8 0a383d74 DCB "t=8\n"
0007cc 00000000 DCB "\0\0\0\0"
|L1.2000|
0007d0 65747962 DCB "byte"
0007d4 74786520 DCB " ext"
0007d8 62414d44 DCB "DMAb"
0007dc 74737275 DCB "urst"
0007e0 61727420 DCB " tra"
0007e4 6566736e DCB "nsfe"
0007e8 00000a72 DCB "r\n\0\0"
|L1.2028|
0007ec 666c6168 DCB "half"
|L1.2032|
0007f0 64726f77 DCB "word"
0007f4 74786520 DCB " ext"
0007f8 62414d44 DCB "DMAb"
0007fc 74737275 DCB "urst"
000800 61727420 DCB " tra"
000804 6566736e DCB "nsfe"
000808 00000a72 DCB "r\n\0\0"
|L1.2060|
00080c 5f6b6361 DCB "ack_"
000810 6e756f63 DCB "coun"
000814 0a343d74 DCB "t=4\n"
000818 00000000 DCB "\0\0\0\0"
|L1.2076|
00081c 5f6b6361 DCB "ack_"
000820 6e756f63 DCB "coun"
000824 0a323d74 DCB "t=2\n"
000828 00000000 DCB "\0\0\0\0"
ENDP
AREA ||.constdata||, DATA, READONLY, ALIGN=2
||.constdata$1||
DCB 0x31,0x2e,0x62,0x79
DCB 0x74,0x65,0x20,0x73
DCB 0x69,0x6e,0x67,0x6c
DCB 0x65,0x0a,0x32,0x2e
DCB 0x68,0x61,0x6c,0x66
DCB 0x77,0x6f,0x72,0x64
DCB 0x20,0x73,0x69,0x6e
DCB 0x67,0x6c,0x65,0x0a
DCB 0x33,0x2e,0x77,0x6f
DCB 0x72,0x64,0x20,0x73
DCB 0x69,0x6e,0x67,0x6c
DCB 0x65,0x0a,0x34,0x2e
DCB 0x62,0x79,0x74,0x65
DCB 0x20,0x65,0x78,0x74
DCB 0x44,0x4d,0x41,0x62
DCB 0x75,0x72,0x73,0x74
DCB 0x0a,0x35,0x2e,0x68
DCB 0x61,0x6c,0x66,0x77
DCB 0x6f,0x72,0x64,0x20
DCB 0x65,0x78,0x74,0x44
DCB 0x4d,0x41,0x62,0x75
DCB 0x72,0x73,0x74,0x0a
DCB 0x36,0x2e,0x77,0x6f
DCB 0x72,0x64,0x20,0x65
DCB 0x78,0x74,0x44,0x4d
DCB 0x41,0x62,0x75,0x72
DCB 0x73,0x74,0x0a,0x00
AREA ||.bss||, NOINIT, ALIGN=2
extDMAburst
||.bss$2||
% 4
extDMAdsz
% 4
extDMAtc
% 4
ExtdmaDone
% 4
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -