📄 modemif.txt
字号:
000c00 e7c54004 STRB r4,[r5,r4]
000c04 eafffffb B |L1.3064|
;;;356 txdata = (unsigned char *)(_MEM_MDM_TX_Buffer);
|L1.3080|
000c08 e51f5868 LDR r5,|L1.936|
;;;357
;;;358 Uart_Printf("[ AP RX first, then start any key]\n");
000c0c e28f00b8 ADR r0,|L1.3276|
000c10 ebfffffe BL _printf
;;;359 Uart_Getch();
000c14 ebfffffe BL Uart_Getch
;;;360
;;;361
;;;362 //Request irq to AP--------------START
;;;363 Uart_Printf("[ MODEM Tx Start]\n");
000c18 e28f00d0 ADR r0,|L1.3312|
000c1c ebfffffe BL _printf
;;;364 *(unsigned char *)(_MDM_TX_Queue_Irq_Port)=0xff;
000c20 e3a000ff MOV r0,#0xff
000c24 e3a01660 MOV r1,#0x6000000
000c28 e5c103ff STRB r0,[r1,#0x3ff]
;;;365
;;;366
;;;367
;;;368 // Write data into DPSRAM
;;;369 Uart_Printf("[ MODEM Writing.......]\n");
000c2c e59f00d0 LDR r0,|L1.3332|
000c30 ebfffffe BL _printf
;;;370 for(i=0;i<_DPSRAM_TXRX_BUFLEN;i++)
000c34 e3a04000 MOV r4,#0
|L1.3128|
000c38 e254cfc0 SUBS r12,r4,#0x300
000c3c 225cc0ff SUBCSS r12,r12,#0xff
000c40 2a00000b BCS |L1.3188|
000c44 ea000001 B |L1.3152|
|L1.3144|
000c48 e2844001 ADD r4,r4,#1
000c4c eafffff9 B |L1.3128|
;;;371 {
;;;372 *(unsigned char *)(_MDM_TX_Queue+i) = *(txdata+i); // push data into DPSRAM
|L1.3152|
000c50 e7d50004 LDRB r0,[r5,r4]
000c54 e3a01660 MOV r1,#0x6000000
000c58 e7c10004 STRB r0,[r1,r4]
;;;373 Tx_Done_Flag++;
000c5c e51f091c LDR r0,|L1.840|
000c60 e5900000 LDR r0,[r0,#0] ; Tx_Done_Flag
000c64 e2800001 ADD r0,r0,#1
000c68 e51f1928 LDR r1,|L1.840|
000c6c e5810000 STR r0,[r1,#0] ; Tx_Done_Flag
;;;374 // if(Tx_Done_Flag == _DPSRAM_TXRX_BUFLEN)
;;;375 // {
;;;376 // txdata = (unsigned char *)(_MEM_MDM_TX_Buffer);
;;;377 // }
;;;378 }
000c70 eafffff4 B |L1.3144|
;;;379
;;;380 //Request irq to AP---------------STOP
;;;381 Uart_Printf("[ MODEM Tx Stop]\n");
|L1.3188|
000c74 e59f008c LDR r0,|L1.3336|
000c78 ebfffffe BL _printf
;;;382 *(unsigned char *)(_MDM_TX_Queue_Irq_Port)=0x00;
000c7c e3a00000 MOV r0,#0
000c80 e3a01660 MOV r1,#0x6000000
000c84 e5c103ff STRB r0,[r1,#0x3ff]
;;;383
;;;384
;;;385 txdata = (unsigned char *)(_MEM_MDM_TX_Buffer);
000c88 e51f58e8 LDR r5,|L1.936|
;;;386 for(i=0;i<_DPSRAM_TXRX_BUFLEN;i++);
000c8c e3a04000 MOV r4,#0
|L1.3216|
000c90 e254cfc0 SUBS r12,r4,#0x300
000c94 225cc0ff SUBCSS r12,r12,#0xff
000c98 2a000001 BCS |L1.3236|
000c9c e2844001 ADD r4,r4,#1
000ca0 eafffffa B |L1.3216|
;;;387 //Uart_Printf("0x%x=%03x ",(txdata+i),*(txdata+i));
;;;388
;;;389 }
|L1.3236|
000ca4 e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.3240|
000ca8 4f4d205b DCB "[ MO"
000cac 204d4544 DCB "DEM "
000cb0 74207854 DCB "Tx t"
000cb4 20747365 DCB "est "
000cb8 6e697375 DCB "usin"
000cbc 6f4d2067 DCB "g Mo"
000cc0 206d6564 DCB "dem "
000cc4 20462f49 DCB "I/F "
000cc8 00000a5d DCB "]\n\0\0"
|L1.3276|
000ccc 5041205b DCB "[ AP"
000cd0 20585220 DCB " RX "
000cd4 73726966 DCB "firs"
000cd8 74202c74 DCB "t, t"
000cdc 206e6568 DCB "hen "
000ce0 72617473 DCB "star"
000ce4 6e612074 DCB "t an"
000ce8 656b2079 DCB "y ke"
000cec 000a5d79 DCB "y]\n\0"
|L1.3312|
000cf0 4f4d205b DCB "[ MO"
000cf4 204d4544 DCB "DEM "
000cf8 53207854 DCB "Tx S"
000cfc 74726174 DCB "tart"
000d00 00000a5d DCB "]\n\0\0"
|L1.3332|
000d04 00000000 DCD |L1.964|
|L1.3336|
000d08 00000000 DCD |L1.992|
ENDP
AP_Tx PROC
;;;208 void AP_Tx(void)
;;;209 {
000d0c e92d4038 STMFD sp!,{r3-r5,lr}
;;;210
;;;211 unsigned int i;
;;;212 unsigned char *txdata;
;;;213
;;;214 Tx_Done_Flag = 0;
000d10 e3a00000 MOV r0,#0
000d14 e51f19d4 LDR r1,|L1.840|
000d18 e5810000 STR r0,[r1,#0] ; Tx_Done_Flag
;;;215
;;;216 Uart_TxEmpty(0);
000d1c e3a00000 MOV r0,#0
000d20 ebfffffe BL Uart_TxEmpty
;;;217 Uart_Printf("[ AP Tx test using Modem I/F ]\n");
000d24 e28f00ac ADR r0,|L1.3544|
000d28 ebfffffe BL _printf
;;;218
;;;219 // Initialize TX Buffer ----------------INIT
;;;220 txdata = (unsigned char *)(_MEM_AP_TX_Buffer);
000d2c e51f5544 LDR r5,|L1.2032|
;;;221 for(i=0;i<_DPSRAM_TXRX_BUFLEN;i++)
000d30 e3a04000 MOV r4,#0
|L1.3380|
000d34 e254cfc0 SUBS r12,r4,#0x300
000d38 225cc0ff SUBCSS r12,r12,#0xff
000d3c 2a000004 BCS |L1.3412|
000d40 ea000001 B |L1.3404|
|L1.3396|
000d44 e2844001 ADD r4,r4,#1
000d48 eafffff9 B |L1.3380|
;;;222 *(txdata+i) = i;
|L1.3404|
000d4c e7c54004 STRB r4,[r5,r4]
000d50 eafffffb B |L1.3396|
;;;223 txdata = (unsigned char *)(_MEM_AP_TX_Buffer);
|L1.3412|
000d54 e51f556c LDR r5,|L1.2032|
;;;224
;;;225 Uart_Printf("[ MODEM RX first, then start any key]\n");
000d58 e28f0098 ADR r0,|L1.3576|
000d5c ebfffffe BL _printf
;;;226 Uart_Getch();
000d60 ebfffffe BL Uart_Getch
;;;227
;;;228
;;;229 //Request irq to MODEM--------------START
;;;230 Uart_Printf("[ AP Tx Start]\n");
000d64 e28f00b4 ADR r0,|L1.3616|
000d68 ebfffffe BL _printf
;;;231 *(unsigned char *)(_AP_TX_Queue_Irq_Port)=0xff;
000d6c e3a000ff MOV r0,#0xff
000d70 e51f1c0c LDR r1,|L1.364|
000d74 e5c107ff STRB r0,[r1,#0x7ff]
;;;232
;;;233 // Write data into DPSRAM
;;;234 Uart_Printf("[ AP Writing.......]\n");
000d78 e59f00b0 LDR r0,|L1.3632|
000d7c ebfffffe BL _printf
;;;235 for(i=0;i<_DPSRAM_TXRX_BUFLEN;i++)
000d80 e3a04000 MOV r4,#0
|L1.3460|
000d84 e254cfc0 SUBS r12,r4,#0x300
000d88 225cc0ff SUBCSS r12,r12,#0xff
000d8c 2a00000b BCS |L1.3520|
000d90 ea000001 B |L1.3484|
|L1.3476|
000d94 e2844001 ADD r4,r4,#1
000d98 eafffff9 B |L1.3460|
;;;236 {
;;;237 *(unsigned char *)(_AP_TX_Queue+i) = *(txdata+i); // put the data into fifo
|L1.3484|
000d9c e7d50004 LDRB r0,[r5,r4]
000da0 e51f1584 LDR r1,|L1.2084|
000da4 e7c10004 STRB r0,[r1,r4]
;;;238 Tx_Done_Flag++;
000da8 e51f0a68 LDR r0,|L1.840|
000dac e5900000 LDR r0,[r0,#0] ; Tx_Done_Flag
000db0 e2800001 ADD r0,r0,#1
000db4 e51f1a74 LDR r1,|L1.840|
000db8 e5810000 STR r0,[r1,#0] ; Tx_Done_Flag
;;;239 // if(Tx_Done_Flag == _DPSRAM_TXRX_BUFLEN)
;;;240 // {
;;;241 // txdata = (unsigned char *)(_MEM_AP_TX_Buffer);
;;;242 // }
;;;243 }
000dbc eafffff4 B |L1.3476|
;;;244
;;;245 //Request irq to MODEM---------------STOP
;;;246 Uart_Printf("[ AP Tx Stop]\n");
|L1.3520|
000dc0 e59f006c LDR r0,|L1.3636|
000dc4 ebfffffe BL _printf
;;;247 *(unsigned char *)(_AP_TX_Queue_Irq_Port)=0x00;
000dc8 e3a00000 MOV r0,#0
000dcc e51f1c68 LDR r1,|L1.364|
000dd0 e5c107ff STRB r0,[r1,#0x7ff]
;;;248
;;;249 /*
;;;250 txdata = (unsigned char *)(_MEM_AP_TX_Buffer);
;;;251 for(i=0;i<_DPSRAM_TXRX_BUFLEN;i++)
;;;252 Uart_Printf("0x%x=%03x ",(txdata+i),*(txdata+i));
;;;253 */
;;;254
;;;255 }
000dd4 e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.3544|
000dd8 5041205b DCB "[ AP"
000ddc 20785420 DCB " Tx "
000de0 74736574 DCB "test"
000de4 69737520 DCB " usi"
000de8 4d20676e DCB "ng M"
000dec 6d65646f DCB "odem"
000df0 462f4920 DCB " I/F"
000df4 000a5d20 DCB " ]\n\0"
|L1.3576|
000df8 4f4d205b DCB "[ MO"
000dfc 204d4544 DCB "DEM "
000e00 66205852 DCB "RX f"
000e04 74737269 DCB "irst"
000e08 6874202c DCB ", th"
000e0c 73206e65 DCB "en s"
000e10 74726174 DCB "tart"
000e14 796e6120 DCB " any"
000e18 79656b20 DCB " key"
000e1c 00000a5d DCB "]\n\0\0"
|L1.3616|
000e20 5041205b DCB "[ AP"
000e24 20785420 DCB " Tx "
000e28 72617453 DCB "Star"
000e2c 000a5d74 DCB "t]\n\0"
|L1.3632|
000e30 00000000 DCD |L1.2060|
|L1.3636|
000e34 00000000 DCD |L1.2088|
ENDP
MODEM_IF_Init PROC
;;;161 void MODEM_IF_Init(void)
;;;162 {
000e38 e51f08f0 LDR r0,|L1.1360|
;;;163 //Initialize S3C24A0A for modem I/F
;;;164 rGPCON_M=rGPCON_M&~(3<<2)|(2<<2); //EINT12(GP12)=MODEM_INT
000e3c e5900004 LDR r0,[r0,#4]
000e40 e3c0000c BIC r0,r0,#0xc
000e44 e3800008 ORR r0,r0,#8
000e48 e51f1900 LDR r1,|L1.1360|
000e4c e5810004 STR r0,[r1,#4]
;;;165 // rENPU=rENPU&~(1<<11|1<<4)|(1<<11|1<<4); //Disable pull-up ftn (XmiDATA &XrDATA)
;;;166
;;;167 rSROM_BW=rSROM_BW&~(0xf<<3)|(0x0<<3); //nGCS1=nUB/nLB,nWAIT,8-bit
000e50 e59f00c4 LDR r0,|L1.3868|
000e54 e5900000 LDR r0,[r0,#0]
000e58 e3c00078 BIC r0,r0,#0x78
000e5c e59f10b8 LDR r1,|L1.3868|
000e60 e5810000 STR r0,[r1,#0]
;;;168
;;;169 rSROM_BC1=((MDM_IF_Tacs<<13)+(MDM_IF_Tcos<<11)+(MDM_IF_Tacc<<8)+(MDM_IF_Tcoh<<6)\
000e64 e59f00b4 LDR r0,|L1.3872|
000e68 e1c11000 BIC r1,r1,r0
000e6c e5810008 STR r0,[r1,#8]
;;;170 +(MDM_IF_Tah<<4)+(MDM_IF_Tacp<<2)+(MDM_IF_PMC));
;;;171 }
000e70 e12fff1e BX lr
ENDP
Ch19_MODEM PROC
;;;107 void Ch19_MODEM(void)
;;;108 {
000e74 e92d4010 STMFD sp!,{r4,lr}
;;;109 int mode;
;;;110 MODEM_IF_Init();
000e78 ebfffffe BL MODEM_IF_Init
;;;111 Delay(0);
000e7c e3a00000 MOV r0,#0
000e80 ebfffffe BL Delay
;;;112
;;;113
;;;114
;;;115 while(1)
000e84 e1a00000 NOP
|L1.3720|
000e88 e1a00000 NOP
;;;116 {
;;;117 Uart_Printf("\n1:AP side TX 2:Modem side TX 3:AP side RX 4:Modem side RX 5:AP TX/RX 6:Modem TX/RX 7:exit");
000e8c e59f0090 LDR r0,|L1.3876|
000e90 ebfffffe BL _printf
;;;118 //Uart_Printf("\n1:AP side TX 2:Modem side TX 3:AP side RX 4:Modem side RX 7:exit");
;;;119 mode=Uart_Getch();
000e94 ebfffffe BL Uart_Getch
000e98 e1a04000 MOV r4,r0
;;;120 if(mode == '7') break;
000e9c e3540037 CMP r4,#0x37
000ea0 1a000000 BNE |L1.3752|
000ea4 ea00001b B |L1.3864|
;;;121 Uart_Printf("\n");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -