📄 modemif.txt
字号:
000900 e5810034 STR r0,[r1,#0x34]
;;;282
;;;283 Uart_Printf("[ MODEM Rx End]\n");
000904 e28f0068 ADR r0,|L1.2420|
000908 ebfffffe BL _printf
;;;284
;;;285 rxdata = (unsigned char *)(_MEM_MDM_RX_Buffer);
00090c e51f536c LDR r5,|L1.1448|
;;;286 for(i=0;i<_DPSRAM_TXRX_BUFLEN;i++)
000910 e3a04000 MOV r4,#0
|L1.2324|
000914 e254cfc0 SUBS r12,r4,#0x300
000918 225cc0ff SUBCSS r12,r12,#0xff
00091c 2a000005 BCS |L1.2360|
000920 ea000001 B |L1.2348|
|L1.2340|
000924 e2844001 ADD r4,r4,#1
000928 eafffff9 B |L1.2324|
;;;287 Uart_Printf(".");
|L1.2348|
00092c e28f0054 ADR r0,|L1.2440|
000930 ebfffffe BL _printf
000934 eafffffa B |L1.2340|
;;;288 //Uart_Printf("0x%x=%03x ",(rxdata+i),*(rxdata+i));
;;;289
;;;290 }
|L1.2360|
000938 e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.2364|
00093c 4f4d205b DCB "[ MO"
000940 204d4544 DCB "DEM "
000944 74207852 DCB "Rx t"
000948 20747365 DCB "est "
00094c 6e697375 DCB "usin"
000950 6f4d2067 DCB "g Mo"
000954 206d6564 DCB "dem "
000958 20462f49 DCB "I/F "
00095c 00000a5d DCB "]\n\0\0"
|L1.2400|
000960 4f4d205b DCB "[ MO"
000964 204d4544 DCB "DEM "
000968 53205852 DCB "RX S"
00096c 74726174 DCB "tart"
000970 00000a5d DCB "]\n\0\0"
|L1.2420|
000974 4f4d205b DCB "[ MO"
000978 204d4544 DCB "DEM "
00097c 45207852 DCB "Rx E"
000980 0a5d646e DCB "nd]\n"
000984 00000000 DCB "\0\0\0\0"
|L1.2440|
000988 0000002e DCB ".\0\0\0"
ENDP
MODEM_IRQ_Init PROC
;;;187 void MODEM_IRQ_Init(void)
;;;188 {
00098c e92d4008 STMFD sp!,{r3,lr}
;;;189 rINT2AP=0x3ff;
000990 e51f0620 LDR r0,|L1.888|
000994 e51f1620 LDR r1,|L1.892|
000998 e5810000 STR r0,[r1,#0]
;;;190 rINT2MDM=0x7ff;
00099c e1800080 ORR r0,r0,r0,LSL #1
0009a0 e1c11000 BIC r1,r1,r0
0009a4 e5810004 STR r0,[r1,#4]
;;;191 Uart_Printf("rINT2AP,rINT2MDM 0x%3x 0x%3x\n",rINT2AP,rINT2MDM);
0009a8 e1c10000 BIC r0,r1,r0
0009ac e5900004 LDR r0,[r0,#4]
0009b0 e1a02000 MOV r2,r0
0009b4 e1a00001 MOV r0,r1
0009b8 e5900000 LDR r0,[r0,#0]
0009bc e1a01000 MOV r1,r0
0009c0 e59f013c LDR r0,|L1.2820|
0009c4 ebfffffe BL _printf
;;;192 //programmable IRQ port address
;;;193 /*
;;;194 rEXTINTCR1=rEXTINTCR1&~(7<<4)|(2<<4);
;;;195 //EINT12(GP12)=MODEM_INT=falling edge
;;;196 */
;;;197 rEXTINTC2=rEXTINTC2&~(7<<4)|(2<<4);
0009c8 e51f0480 LDR r0,|L1.1360|
0009cc e5900020 LDR r0,[r0,#0x20]
0009d0 e3c00070 BIC r0,r0,#0x70
0009d4 e3800020 ORR r0,r0,#0x20
0009d8 e51f1490 LDR r1,|L1.1360|
0009dc e5810020 STR r0,[r1,#0x20]
;;;198 //EINT12(GP12)=MODEM_INT=falling edge
;;;199
;;;200 ClearPending(BIT_EINT11_14);//to clear the previous pending states
0009e0 e3a00008 MOV r0,#8
0009e4 e2411646 SUB r1,r1,#0x4600000
0009e8 e5810000 STR r0,[r1,#0]
0009ec e1c10000 BIC r0,r1,r0
0009f0 e5900010 LDR r0,[r0,#0x10]
0009f4 e5810010 STR r0,[r1,#0x10]
0009f8 e1a00001 MOV r0,r1
0009fc e5900010 LDR r0,[r0,#0x10]
;;;201
;;;202 pISR_EINT11_14= (unsigned)MODEM_Int_Rx;//MODEM_INT
000a00 e51f021c LDR r0,|L1.2028|
000a04 e51f1668 LDR r1,|L1.932|
000a08 e5810f2c STR r0,[r1,#0xf2c]
;;;203 rINTMSK=~(BIT_EINT11_14);
000a0c e3e00008 MVN r0,#8
000a10 e51f1910 LDR r1,|L1.264|
000a14 e5810008 STR r0,[r1,#8]
;;;204 rEINTMASK=rEINTMASK&~(1<<12)|(0<<12); //EINTMASK[12]=enable interrupt.
000a18 e2810646 ADD r0,r1,#0x4600000
000a1c e5900034 LDR r0,[r0,#0x34]
000a20 e3c00d40 BIC r0,r0,#0x1000
000a24 e2811646 ADD r1,r1,#0x4600000
000a28 e5810034 STR r0,[r1,#0x34]
;;;205 }
000a2c e8bd8008 LDMFD sp!,{r3,pc}
ENDP
AP_Rx PROC
;;;391 void AP_Rx(void)
;;;392 {
000a30 e92d4038 STMFD sp!,{r3-r5,lr}
;;;393
;;;394 unsigned int i;
;;;395 unsigned char *rxdata;
;;;396
;;;397 Rx_Done_Flag = 0;
000a34 e3a00000 MOV r0,#0
000a38 e51f18d0 LDR r1,|L1.368|
000a3c e5810000 STR r0,[r1,#0] ; Rx_Done_Flag
;;;398 Start_Detect = 0;
000a40 e3a00000 MOV r0,#0
000a44 e51f1940 LDR r1,|L1.268|
000a48 e5810000 STR r0,[r1,#0] ; Start_Detect
;;;399 End_Detect = 0;
000a4c e3a00000 MOV r0,#0
000a50 e51f1928 LDR r1,|L1.304|
000a54 e5810000 STR r0,[r1,#0] ; End_Detect
;;;400 Uart_TxEmpty(0);
000a58 e3a00000 MOV r0,#0
000a5c ebfffffe BL Uart_TxEmpty
;;;401
;;;402 Uart_Printf("[ AP Rx test using Modem I/F ]\n");
000a60 e28f00a0 ADR r0,|L1.2824|
000a64 ebfffffe BL _printf
;;;403
;;;404 // Zero Initialize RX Buffer ----------------INIT
;;;405 rxdata = (unsigned char *)(_MEM_AP_RX_Buffer );
000a68 e3a05544 MOV r5,#0x11000000
;;;406 for(i=0;i<_DPSRAM_TXRX_BUFLEN;i++)
000a6c e3a04000 MOV r4,#0
|L1.2672|
000a70 e254cfc0 SUBS r12,r4,#0x300
000a74 225cc0ff SUBCSS r12,r12,#0xff
000a78 2a000005 BCS |L1.2708|
000a7c ea000001 B |L1.2696|
|L1.2688|
000a80 e2844001 ADD r4,r4,#1
000a84 eafffff9 B |L1.2672|
;;;407 *(rxdata+i) = 0x0;
|L1.2696|
000a88 e3a00000 MOV r0,#0
000a8c e7c50004 STRB r0,[r5,r4]
000a90 eafffffa B |L1.2688|
;;;408 rxdata = (unsigned char *)(_MEM_AP_RX_Buffer );
|L1.2708|
000a94 e3a05544 MOV r5,#0x11000000
;;;409
;;;410
;;;411 Uart_Printf("[ AP RX Start]\n");
000a98 e28f0088 ADR r0,|L1.2856|
000a9c ebfffffe BL _printf
;;;412 Uart_Getch();
000aa0 ebfffffe BL Uart_Getch
;;;413
;;;414 while(!Rx_Done_Flag);
000aa4 e1a00000 NOP
|L1.2728|
000aa8 e51f0940 LDR r0,|L1.368|
000aac e5900000 LDR r0,[r0,#0] ; Rx_Done_Flag
000ab0 e3500000 CMP r0,#0
000ab4 0afffffb BEQ |L1.2728|
;;;415 rINTMSK|=(BIT_MODEM);
000ab8 e51f09b8 LDR r0,|L1.264|
000abc e5900008 LDR r0,[r0,#8]
000ac0 e3800a80 ORR r0,r0,#0x80000
000ac4 e51f19c4 LDR r1,|L1.264|
000ac8 e5810008 STR r0,[r1,#8]
;;;416 Uart_Printf("[ AP Rx End]\n");
000acc e28f0064 ADR r0,|L1.2872|
000ad0 ebfffffe BL _printf
;;;417
;;;418 rxdata = (unsigned char *)(_MEM_AP_RX_Buffer );
000ad4 e3a05544 MOV r5,#0x11000000
;;;419 for(i=0;i<_DPSRAM_TXRX_BUFLEN;i++)
000ad8 e3a04000 MOV r4,#0
|L1.2780|
000adc e254cfc0 SUBS r12,r4,#0x300
000ae0 225cc0ff SUBCSS r12,r12,#0xff
000ae4 2a000005 BCS |L1.2816|
000ae8 ea000001 B |L1.2804|
|L1.2796|
000aec e2844001 ADD r4,r4,#1
000af0 eafffff9 B |L1.2780|
;;;420 Uart_Printf(".");
|L1.2804|
000af4 e24f0f5d ADR r0,|L1.2440|
000af8 ebfffffe BL _printf
000afc eafffffa B |L1.2796|
;;;421 //Uart_Printf("0x%x=%03x ",(rxdata+i),*(rxdata+i));
;;;422
;;;423 }
|L1.2816|
000b00 e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.2820|
000b04 00000000 DCD |L1.896|
|L1.2824|
000b08 5041205b DCB "[ AP"
000b0c 20785220 DCB " Rx "
000b10 74736574 DCB "test"
000b14 69737520 DCB " usi"
000b18 4d20676e DCB "ng M"
000b1c 6d65646f DCB "odem"
000b20 462f4920 DCB " I/F"
000b24 000a5d20 DCB " ]\n\0"
|L1.2856|
000b28 5041205b DCB "[ AP"
000b2c 20585220 DCB " RX "
000b30 72617453 DCB "Star"
000b34 000a5d74 DCB "t]\n\0"
|L1.2872|
000b38 5041205b DCB "[ AP"
000b3c 20785220 DCB " Rx "
000b40 5d646e45 DCB "End]"
|L1.2884|
000b44 0000000a DCB "\n\0\0\0"
ENDP
AP_IRQ_Init PROC
;;;173 void AP_IRQ_Init(void)
;;;174 {
000b48 e92d4008 STMFD sp!,{r3,lr}
;;;175 rINT2AP=0x3ff;
000b4c e51f07dc LDR r0,|L1.888|
000b50 e51f17dc LDR r1,|L1.892|
000b54 e5810000 STR r0,[r1,#0]
;;;176 rINT2MDM=0x7ff;
000b58 e1800080 ORR r0,r0,r0,LSL #1
000b5c e1c11000 BIC r1,r1,r0
000b60 e5810004 STR r0,[r1,#4]
;;;177 Uart_Printf("rINT2AP,rINT2MDM 0x%3x 0x%3x\n",rINT2AP,rINT2MDM);
000b64 e1c10000 BIC r0,r1,r0
000b68 e5900004 LDR r0,[r0,#4]
000b6c e1a02000 MOV r2,r0
000b70 e1a00001 MOV r0,r1
000b74 e5900000 LDR r0,[r0,#0]
000b78 e1a01000 MOV r1,r0
000b7c e51f0080 LDR r0,|L1.2820|
000b80 ebfffffe BL _printf
;;;178 //programmable IRQ port address
;;;179
;;;180 ClearPending(BIT_MODEM);//to clear the previous pending states
000b84 e3a00a80 MOV r0,#0x80000
000b88 e51f1a88 LDR r1,|L1.264|
000b8c e5810000 STR r0,[r1,#0]
000b90 e1c10000 BIC r0,r1,r0
000b94 e5900010 LDR r0,[r0,#0x10]
000b98 e5810010 STR r0,[r1,#0x10]
000b9c e1a00001 MOV r0,r1
000ba0 e5900010 LDR r0,[r0,#0x10]
;;;181
;;;182 pISR_MODEM= (unsigned)AP_Int_Rx;//MODEM_INT
000ba4 e51f080c LDR r0,|L1.928|
000ba8 e51f180c LDR r1,|L1.932|
000bac e5810f6c STR r0,[r1,#0xf6c]
;;;183 rINTMSK=~(BIT_MODEM);
000bb0 e3e00a80 MVN r0,#0x80000
000bb4 e51f1ab4 LDR r1,|L1.264|
000bb8 e5810008 STR r0,[r1,#8]
;;;184
;;;185 }
000bbc e8bd8008 LDMFD sp!,{r3,pc}
ENDP
MODEM_Tx PROC
;;;341 void MODEM_Tx(void)
;;;342 {
000bc0 e92d4038 STMFD sp!,{r3-r5,lr}
;;;343
;;;344 unsigned int i;
;;;345 unsigned char *txdata;
;;;346
;;;347 Tx_Done_Flag = 0;
000bc4 e3a00000 MOV r0,#0
000bc8 e51f1888 LDR r1,|L1.840|
000bcc e5810000 STR r0,[r1,#0] ; Tx_Done_Flag
;;;348
;;;349 Uart_TxEmpty(0);
000bd0 e3a00000 MOV r0,#0
000bd4 ebfffffe BL Uart_TxEmpty
;;;350 Uart_Printf("[ MODEM Tx test using Modem I/F ]\n");
000bd8 e28f00c8 ADR r0,|L1.3240|
000bdc ebfffffe BL _printf
;;;351
;;;352 // Initialize TX Buffer ----------------INIT
;;;353 txdata = (unsigned char *)(_MEM_MDM_TX_Buffer);
000be0 e51f5840 LDR r5,|L1.936|
;;;354 for(i=0;i<_DPSRAM_TXRX_BUFLEN;i++)
000be4 e3a04000 MOV r4,#0
|L1.3048|
000be8 e254cfc0 SUBS r12,r4,#0x300
000bec 225cc0ff SUBCSS r12,r12,#0xff
000bf0 2a000004 BCS |L1.3080|
000bf4 ea000001 B |L1.3072|
|L1.3064|
000bf8 e2844001 ADD r4,r4,#1
000bfc eafffff9 B |L1.3048|
;;;355 *(txdata+i) = i;
|L1.3072|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -