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

📄 iis_dual.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]

; commandline [-errors .\err\iis_dual.err -O0 -asm -g+ -cpu ARM920T -fs "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
                          CODE32

                          AREA ||.text||, CODE, READONLY

                  InterruptLatencyStop PROC
;;;201    void InterruptLatencyStop(void)
;;;202    {
                  |L1.0|
000000  e92d4008          STMFD    sp!,{r3,lr}
;;;203        rINTMSK|=BIT_TIMER0;
000004  e3a0044a          MOV      r0,#0x4a000000
000008  e5900008          LDR      r0,[r0,#8]
00000c  e3800e40          ORR      r0,r0,#0x400
000010  e3a0144a          MOV      r1,#0x4a000000
000014  e5810008          STR      r0,[r1,#8]
;;;204         
;;;205        Uart_Printf("[Random Interrupt Latency Stop]\n");	
000018  e28f0004          ADR      r0,|L1.36|
00001c  ebfffffe          BL       Uart_Printf
;;;206    }
000020  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.36|
000024  6e61525b          DCB      "[Ran"
000028  206d6f64          DCB      "dom "
00002c  65746e49          DCB      "Inte"
000030  70757272          DCB      "rrup"
000034  614c2074          DCB      "t La"
000038  636e6574          DCB      "tenc"
00003c  74532079          DCB      "y St"
000040  0a5d706f          DCB      "op]\n"
000044  00000000          DCB      "\0\0\0\0"
                          ENDP

                  IsrTimer0_InterruptLatency PROC
;;;462    void __irq IsrTimer0_InterruptLatency(void)
;;;463    {
000048  e92d500f          STMFD    sp!,{r0-r3,r12,lr}
;;;464        static U16 count=0;
;;;465        ClearPending(BIT_TIMER0);
00004c  e3a00e40          MOV      r0,#0x400
000050  e3a0144a          MOV      r1,#0x4a000000
000054  e5810000          STR      r0,[r1,#0]
000058  e3a00e40          MOV      r0,#0x400
00005c  e3a0144a          MOV      r1,#0x4a000000
000060  e5810010          STR      r0,[r1,#0x10]
000064  e3a0044a          MOV      r0,#0x4a000000
000068  e5900010          LDR      r0,[r0,#0x10]
;;;466        count++;
00006c  e59f00e0          LDR      r0,|L1.340|
000070  e1d000b0          LDRH     r0,[r0,#0]  ; count@IsrTimer0_InterruptLatency_0
000074  e2800001          ADD      r0,r0,#1
000078  e59f10d4          LDR      r1,|L1.340|
00007c  e1c100b0          STRH     r0,[r1,#0]  ; count@IsrTimer0_InterruptLatency_0
;;;467        if(count==0x0)count=1;
000080  e59f00cc          LDR      r0,|L1.340|
000084  e1d000b0          LDRH     r0,[r0,#0]  ; count@IsrTimer0_InterruptLatency_0
000088  e3500000          CMP      r0,#0
00008c  1a000002          BNE      |L1.156|
000090  e3a00001          MOV      r0,#1
000094  e59f10b8          LDR      r1,|L1.340|
000098  e1c100b0          STRH     r0,[r1,#0]  ; count@IsrTimer0_InterruptLatency_0
;;;468        Delay(count&0x7f);
                  |L1.156|
00009c  e59f10b0          LDR      r1,|L1.340|
0000a0  e1d110b0          LDRH     r1,[r1,#0]  ; count@IsrTimer0_InterruptLatency_0
0000a4  e201007f          AND      r0,r1,#0x7f
0000a8  ebfffffe          BL       Delay
;;;469        Led_Display(count);
0000ac  e59f00a0          LDR      r0,|L1.340|
0000b0  e1d000b0          LDRH     r0,[r0,#0]  ; count@IsrTimer0_InterruptLatency_0
0000b4  ebfffffe          BL       Led_Display
;;;470    
;;;471        rTCNTB0=count;
0000b8  e59f0094          LDR      r0,|L1.340|
0000bc  e1d000b0          LDRH     r0,[r0,#0]  ; count@IsrTimer0_InterruptLatency_0
0000c0  e3a01451          MOV      r1,#0x51000000
0000c4  e581000c          STR      r0,[r1,#0xc]
;;;472        rTCON=(1<<1); //T0ManualUpdate
0000c8  e3a00002          MOV      r0,#2
0000cc  e3a01451          MOV      r1,#0x51000000
0000d0  e5810008          STR      r0,[r1,#8]
;;;473        rTCON=(1<<0);  //T0Start  
0000d4  e3a00001          MOV      r0,#1
0000d8  e3a01451          MOV      r1,#0x51000000
0000dc  e5810008          STR      r0,[r1,#8]
;;;474        
;;;475    }
0000e0  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
0000e4  e25ef004          SUBS     pc,lr,#4
                          ENDP

                  InterruptLatencyStart PROC
;;;188    void InterruptLatencyStart(void)
;;;189    {
0000e8  e92d4008          STMFD    sp!,{r3,lr}
;;;190        Uart_Printf("[Random Interrupt Latency Start]\n");	
0000ec  e28f0064          ADR      r0,|L1.344|
0000f0  ebfffffe          BL       Uart_Printf
;;;191        pISR_TIMER0 = (U32)IsrTimer0_InterruptLatency;  //to make a worst condition
0000f4  e59f0080          LDR      r0,|L1.380|
0000f8  e59f1080          LDR      r1,|L1.384|
0000fc  e5810f48          STR      r0,[r1,#0xf48]
;;;192        rTCFG0=(3<<0);  //Timer0&1Prescaler=(3+1)
000100  e3a00003          MOV      r0,#3
000104  e3a01451          MOV      r1,#0x51000000
000108  e5810000          STR      r0,[r1,#0]
;;;193        rTCFG1=(3<<0);  //Timer0=PCLK/4/16
00010c  e3a00003          MOV      r0,#3
000110  e3a01451          MOV      r1,#0x51000000
000114  e5810004          STR      r0,[r1,#4]
;;;194        rTCNTB0=1;
000118  e3a00001          MOV      r0,#1
00011c  e3a01451          MOV      r1,#0x51000000
000120  e581000c          STR      r0,[r1,#0xc]
;;;195        rTCON=(1<<1); //T0ManualUpdate
000124  e3a00002          MOV      r0,#2
000128  e3a01451          MOV      r1,#0x51000000
00012c  e5810008          STR      r0,[r1,#8]
;;;196        rTCON=(1<<0); //T0Start
000130  e3a00001          MOV      r0,#1
000134  e3a01451          MOV      r1,#0x51000000
000138  e5810008          STR      r0,[r1,#8]
;;;197        
;;;198        rINTMSK&=~(BIT_TIMER0);
00013c  e3a0044a          MOV      r0,#0x4a000000
000140  e5900008          LDR      r0,[r0,#8]
000144  e3c00e40          BIC      r0,r0,#0x400
000148  e3a0144a          MOV      r1,#0x4a000000
00014c  e5810008          STR      r0,[r1,#8]
;;;199    }
000150  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.340|
000154  0000000c          DCD      ||.bss$2|| + 12
                  |L1.344|
000158  6e61525b          DCB      "[Ran"
00015c  206d6f64          DCB      "dom "
000160  65746e49          DCB      "Inte"
000164  70757272          DCB      "rrup"
000168  614c2074          DCB      "t La"
00016c  636e6574          DCB      "tenc"
000170  74532079          DCB      "y St"
000174  5d747261          DCB      "art]"
000178  0000000a          DCB      "\n\0\0\0"
                  |L1.380|
00017c  00000000          DCD      IsrTimer0_InterruptLatency
                  |L1.384|
000180  31fff000          DCD      0x31fff000
                          ENDP

                  AudioBufCopy PROC
;;;171    void AudioBufCopy(void)
;;;172    {
000184  e92d4038          STMFD    sp!,{r3-r5,lr}
;;;173        int i,j;
;;;174        Uart_Printf("[Audio Buffer Copy recBuf -> playBuf]\n");    
000188  e28f0090          ADR      r0,|L1.544|
00018c  ebfffffe          BL       Uart_Printf
;;;175        
;;;176        if(audioInActive==TRUE)
000190  e59f00b0          LDR      r0,|L1.584|
000194  e5900000          LDR      r0,[r0,#0]  ; audioInActive
000198  e3500001          CMP      r0,#1
00019c  1a000002          BNE      |L1.428|
;;;177        {
;;;178        	Uart_Printf("Rec is ongoing. Please Stop Recording.\n");
0001a0  e28f00a4          ADR      r0,|L1.588|
0001a4  ebfffffe          BL       Uart_Printf
;;;179        	return;
;;;180        }
;;;181        
;;;182        for(i=0;i<MAX_INDEX_AUDIO_BUF;i++)
;;;183            for(j=0;j<AUDIO_BUF_SIZE;j++)
;;;184                playBuf[i][j]=recBuf[i][j];
;;;185    }
                  |L1.424|
0001a8  e8bd8038          LDMFD    sp!,{r3-r5,pc}
                  |L1.428|
0001ac  e3a05000          MOV      r5,#0                 ;182
                  |L1.432|
0001b0  e35500c8          CMP      r5,#0xc8              ;182
0001b4  aa000018          BGE      |L1.540|              ;182
0001b8  ea000001          B        |L1.452|              ;182
                  |L1.444|
0001bc  e2855001          ADD      r5,r5,#1              ;182
0001c0  eafffffa          B        |L1.432|              ;182
                  |L1.452|
0001c4  e3a04000          MOV      r4,#0                 ;183
                  |L1.456|
0001c8  e3540ffa          CMP      r4,#0x3e8             ;183
0001cc  aa000011          BGE      |L1.536|              ;183
0001d0  ea000001          B        |L1.476|              ;183
                  |L1.468|
0001d4  e2844001          ADD      r4,r4,#1              ;183
0001d8  eafffffa          B        |L1.456|              ;183
                  |L1.476|
0001dc  e3a0007d          MOV      r0,#0x7d              ;184
0001e0  e0010590          MUL      r1,r0,r5              ;184
0001e4  e59f0088          LDR      r0,|L1.628|           ;184
0001e8  e5900000          LDR      r0,[r0,#0]            ;184  ; recBuf
0001ec  e0800201          ADD      r0,r0,r1,LSL #4       ;184
0001f0  e0800084          ADD      r0,r0,r4,LSL #1       ;184
0001f4  e1d000b0          LDRH     r0,[r0,#0]            ;184
0001f8  e3a0107d          MOV      r1,#0x7d              ;184
0001fc  e0020591          MUL      r2,r1,r5              ;184
000200  e59f1070          LDR      r1,|L1.632|           ;184
000204  e5911000          LDR      r1,[r1,#0]            ;184  ; playBuf
000208  e0811202          ADD      r1,r1,r2,LSL #4       ;184
00020c  e0811084          ADD      r1,r1,r4,LSL #1       ;184
000210  e1c100b0          STRH     r0,[r1,#0]            ;184
000214  eaffffee          B        |L1.468|              ;184
                  |L1.536|
000218  eaffffe7          B        |L1.444|              ;184
                  |L1.540|
00021c  eaffffe1          B        |L1.424|
                  |L1.544|
000220  6475415b          DCB      "[Aud"
000224  42206f69          DCB      "io B"
000228  65666675          DCB      "uffe"
00022c  6f432072          DCB      "r Co"
000230  72207970          DCB      "py r"
000234  75426365          DCB      "ecBu"
000238  3e2d2066          DCB      "f ->"
00023c  616c7020          DCB      " pla"
000240  66754279          DCB      "yBuf"
000244  00000a5d          DCB      "]\n\0\0"
                  |L1.584|
000248  0000002c          DCD      ||.bss$2|| + 44
                  |L1.588|
00024c  20636552          DCB      "Rec "
000250  6f207369          DCB      "is o"
000254  696f676e          DCB      "ngoi"
000258  202e676e          DCB      "ng. "
00025c  61656c50          DCB      "Plea"
000260  53206573          DCB      "se S"
000264  20706f74          DCB      "top "
000268  6f636552          DCB      "Reco"
00026c  6e696472          DCB      "rdin"
000270  000a2e67          DCB      "g.\n\0"
                  |L1.628|
000274  00000014          DCD      ||.bss$2|| + 20
                  |L1.632|
000278  00000010          DCD      ||.bss$2|| + 16
                          ENDP

                  AudioOutStop PROC
;;;269    void AudioOutStop(void)
;;;270    {
00027c  e92d4008          STMFD    sp!,{r3,lr}
;;;271        Uart_Printf("\n[AudioOut Stop]\n");    	
000280  e28f0010          ADR      r0,|L1.664|
000284  ebfffffe          BL       Uart_Printf
;;;272        stopPlay=TRUE;
000288  e3a00001          MOV      r0,#1
00028c  e59f1018          LDR      r1,|L1.684|
000290  e5810000          STR      r0,[r1,#0]  ; stopPlay
;;;273    }
000294  e8bd8008          LDMFD    sp!,{r3,pc}
                  |L1.664|
000298  75415b0a          DCB      "\n[Au"
00029c  4f6f6964          DCB      "dioO"
0002a0  53207475          DCB      "ut S"
0002a4  5d706f74          DCB      "top]"
0002a8  0000000a          DCB      "\n\0\0\0"
                  |L1.684|
0002ac  00000020          DCD      ||.bss$2|| + 32
                          ENDP

                  AudioOutStart PROC
;;;239    void AudioOutStart(void)
;;;240    {
0002b0  e92d4008          STMFD    sp!,{r3,lr}
;;;241        if(audioOutActive!=FALSE)
0002b4  e59f00b4          LDR      r0,|L1.880|
0002b8  e5900000          LDR      r0,[r0,#0]  ; audioOutActive
0002bc  e3500000          CMP      r0,#0
0002c0  0a000002          BEQ      |L1.720|
;;;242        {
;;;243        	Uart_Printf("[N/A]");
0002c4  e28f00a8          ADR      r0,|L1.884|
0002c8  ebfffffe          BL       Uart_Printf
;;;244        	return;
;;;245        }
;;;246        	
;;;247        Uart_Printf("[AudioOut Start]\n");    	
;;;248        stopPlay=FALSE;
;;;249        audioOutActive=TRUE;	
;;;250        indexPlayBuf=0;
;;;251        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -