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

📄 iis_dual.txt

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 TXT
📖 第 1 页 / 共 5 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 842]

; commandline [-errors .\err\iis_dual.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
                          CODE32

                          AREA ||.text||, CODE, READONLY

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

                  IsrTimer0_InterruptLatency PROC
;;;472    void __irq IsrTimer0_InterruptLatency(void)
;;;473    {
00004c  e92d500f          STMFD    sp!,{r0-r3,r12,lr}
;;;474        static U16 count=0;
;;;475        ClearPending(BIT_TIMER0);
000050  e3a00e40          MOV      r0,#0x400
000054  e51f1038          LDR      r1,|L1.36|
000058  e5810000          STR      r0,[r1,#0]
00005c  e1c10000          BIC      r0,r1,r0
000060  e5900010          LDR      r0,[r0,#0x10]
000064  e5810010          STR      r0,[r1,#0x10]
000068  e1a00001          MOV      r0,r1
00006c  e5900010          LDR      r0,[r0,#0x10]
;;;476        count++;
000070  e59f00e0          LDR      r0,|L1.344|
000074  e1d000b0          LDRH     r0,[r0,#0]  ; count@IsrTimer0_InterruptLatency_0
000078  e2800001          ADD      r0,r0,#1
00007c  e59f10d4          LDR      r1,|L1.344|
000080  e1c100b0          STRH     r0,[r1,#0]  ; count@IsrTimer0_InterruptLatency_0
;;;477        if(count==0x0)count=1;
000084  e59f00cc          LDR      r0,|L1.344|
000088  e1d000b0          LDRH     r0,[r0,#0]  ; count@IsrTimer0_InterruptLatency_0
00008c  e3500000          CMP      r0,#0
000090  1a000002          BNE      |L1.160|
000094  e3a00001          MOV      r0,#1
000098  e59f10b8          LDR      r1,|L1.344|
00009c  e1c100b0          STRH     r0,[r1,#0]  ; count@IsrTimer0_InterruptLatency_0
;;;478        Delay(count&0x7f);
                  |L1.160|
0000a0  e59f10b0          LDR      r1,|L1.344|
0000a4  e1d110b0          LDRH     r1,[r1,#0]  ; count@IsrTimer0_InterruptLatency_0
0000a8  e201007f          AND      r0,r1,#0x7f
0000ac  ebfffffe          BL       Delay
;;;479        Led_Display(count);
0000b0  e59f00a0          LDR      r0,|L1.344|
0000b4  e1d000b0          LDRH     r0,[r0,#0]  ; count@IsrTimer0_InterruptLatency_0
0000b8  ebfffffe          BL       Led_Display
;;;480    
;;;481        rTCNTB0=count;
0000bc  e59f0094          LDR      r0,|L1.344|
0000c0  e1d000b0          LDRH     r0,[r0,#0]  ; count@IsrTimer0_InterruptLatency_0
0000c4  e3a01444          MOV      r1,#0x44000000
0000c8  e581000c          STR      r0,[r1,#0xc]
;;;482        rTCON=(1<<1); //T0ManualUpdate
0000cc  e3a00002          MOV      r0,#2
0000d0  e3a01444          MOV      r1,#0x44000000
0000d4  e5810008          STR      r0,[r1,#8]
;;;483        rTCON=(1<<0);  //T0Start  
0000d8  e3a00001          MOV      r0,#1
0000dc  e3a01444          MOV      r1,#0x44000000
0000e0  e5810008          STR      r0,[r1,#8]
;;;484        
;;;485    }
0000e4  e8bd500f          LDMFD    sp!,{r0-r3,r12,lr}
0000e8  e25ef004          SUBS     pc,lr,#4
                          ENDP

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

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

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

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

⌨️ 快捷键说明

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