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

📄 dac_codec.txt

📁 stm32.rar
💻 TXT
📖 第 1 页 / 共 4 页
字号:
000016  f7ffbffe          B.W      DAC_CODEC_Pause
                  |L22.26|
00001a  bd10              POP      {r4,pc}
                          ENDP

                  |L22.28|
00001c  00000000          DCD      ||.data||

                          AREA ||i.GetVar_DataStartAddr||, CODE, READONLY, ALIGN=2

                  GetVar_DataStartAddr PROC
;;;370    { 
;;;371      return DataStartAddr;
000000  4801              LDR      r0,|L23.8|
000002  6900              LDR      r0,[r0,#0x10]  ; DataStartAddr
;;;372    }
000004  4770              BX       lr
;;;373    
                          ENDP

000006  0000              DCW      0x0000
                  |L23.8|
000008  00000000          DCD      ||.data||

                          AREA ||i.GetVar_CurrentVolume||, CODE, READONLY, ALIGN=2

                  GetVar_CurrentVolume PROC
;;;383    { 
;;;384      return CurrentVolume;
000000  4801              LDR      r0,|L24.8|
000002  7840              LDRB     r0,[r0,#1]  ; CurrentVolume
;;;385    }
000004  4770              BX       lr
;;;386    
                          ENDP

000006  0000              DCW      0x0000
                  |L24.8|
000008  00000000          DCD      ||.data||

                          AREA ||i.SetVar_AudioDataIndex||, CODE, READONLY, ALIGN=2

                  SetVar_AudioDataIndex PROC
;;;532    { 
;;;533      AudioDataIndex = value;
000000  4901              LDR      r1,|L25.8|
000002  6148              STR      r0,[r1,#0x14]  ; AudioDataIndex
;;;534    }
000004  4770              BX       lr
;;;535    
                          ENDP

000006  0000              DCW      0x0000
                  |L25.8|
000008  00000000          DCD      ||.data||

                          AREA ||i.GetVar_SendDummyData||, CODE, READONLY, ALIGN=2

                  GetVar_SendDummyData PROC
;;;596    { 
;;;597      return SendDummyData;
000000  4801              LDR      r0,|L26.8|
000002  6a00              LDR      r0,[r0,#0x20]  ; SendDummyData
;;;598    }
000004  4770              BX       lr
;;;599    
                          ENDP

000006  0000              DCW      0x0000
                  |L26.8|
000008  00000000          DCD      ||.data||

                          AREA ||i.SetVar_SendDummyData||, CODE, READONLY, ALIGN=2

                  SetVar_SendDummyData PROC
;;;608    { 
;;;609      SendDummyData = (u32)0x1;
000000  4802              LDR      r0,|L27.12|
000002  2101              MOVS     r1,#1
000004  6201              STR      r1,[r0,#0x20]  ; SendDummyData
;;;610     
;;;611      return SendDummyData;
000006  6a00              LDR      r0,[r0,#0x20]  ; SendDummyData
;;;612    }
000008  4770              BX       lr
;;;613    
                          ENDP

00000a  0000              DCW      0x0000
                  |L27.12|
00000c  00000000          DCD      ||.data||

                          AREA ||i.ResetVar_SendDummyData||, CODE, READONLY, ALIGN=2

                  ResetVar_SendDummyData PROC
;;;622    { 
;;;623      SendDummyData = (u32)0;
000000  4802              LDR      r0,|L28.12|
000002  2100              MOVS     r1,#0
000004  6201              STR      r1,[r0,#0x20]  ; SendDummyData
;;;624     
;;;625      return SendDummyData;
000006  6a00              LDR      r0,[r0,#0x20]  ; SendDummyData
;;;626    }
000008  4770              BX       lr
;;;627    
                          ENDP

00000a  0000              DCW      0x0000
                  |L28.12|
00000c  00000000          DCD      ||.data||

                          AREA ||i.GetVar_AudioReplay||, CODE, READONLY, ALIGN=2

                  GetVar_AudioReplay PROC
;;;663    { 
;;;664      return AudioReplay;
000000  4801              LDR      r0,|L29.8|
000002  6980              LDR      r0,[r0,#0x18]  ; AudioReplay
;;;665    }
000004  4770              BX       lr
;;;666    
                          ENDP

000006  0000              DCW      0x0000
                  |L29.8|
000008  00000000          DCD      ||.data||

                          AREA ||i.GetVar_AudioDataLength||, CODE, READONLY, ALIGN=2

                  GetVar_AudioDataLength PROC
;;;700    { 
;;;701      return AudioDataLength;
000000  4801              LDR      r0,|L30.8|
000002  68c0              LDR      r0,[r0,#0xc]  ; AudioDataLength
;;;702    }
000004  4770              BX       lr
;;;703    
                          ENDP

000006  0000              DCW      0x0000
                  |L30.8|
000008  00000000          DCD      ||.data||

                          AREA ||i.GetVar_i2saudiofreq||, CODE, READONLY, ALIGN=2

                  GetVar_i2saudiofreq PROC
;;;712    { 
;;;713      return dacaudiofreq;
000000  4801              LDR      r0,|L31.8|
000002  8880              LDRH     r0,[r0,#4]  ; dacaudiofreq
;;;714    }
000004  4770              BX       lr
;;;715    
                          ENDP

000006  0000              DCW      0x0000
                  |L31.8|
000008  00000000          DCD      ||.data||

                          AREA ||i.Media_ReadHalfWord||, CODE, READONLY, ALIGN=2

                  Media_ReadHalfWord PROC
;;;904    u16 Media_ReadHalfWord(u32 Offset)
;;;905    { 
000000  b508              PUSH     {r3,lr}
;;;906      vu16 tmp;
;;;907      Offset <<= 1;
;;;908    
;;;909      Media_BufferRead((u8*)(&tmp), AudioFileAddress + Offset, 2);  
000002  4905              LDR      r1,|L32.24|
000004  6889              LDR      r1,[r1,#8]  ; AudioFileAddress
000006  2202              MOVS     r2,#2
000008  eb010140          ADD      r1,r1,r0,LSL #1
00000c  4668              MOV      r0,sp
00000e  f7fffffe          BL       SPI_FLASH_BufferRead
;;;910    
;;;911      /* Return the read value */
;;;912      return tmp;
000012  f8bd0000          LDRH     r0,[sp,#0]
;;;913    }
000016  bd08              POP      {r3,pc}
;;;914    
                          ENDP

                  |L32.24|
000018  00000000          DCD      ||.data||

                          AREA ||i.DAC_CODEC_DataTransfer||, CODE, READONLY, ALIGN=2

                  DAC_CODEC_DataTransfer PROC
;;;969    void DAC_CODEC_DataTransfer(void)
;;;970    {
000000  b510              PUSH     {r4,lr}
;;;971      static int data = 0;
;;;972    
;;;973      DAC_SetChannel1Data (DAC_Align_12b_L, data);
000002  4c0d              LDR      r4,|L33.56|
000004  6b60              LDR      r0,[r4,#0x34]  ; data@DAC_CODEC_DataTransfer_0
000006  b281              UXTH     r1,r0
000008  2004              MOVS     r0,#4
00000a  f7fffffe          BL       DAC_SetChannel1Data
;;;974    
;;;975      /* Increment the index */
;;;976      IncrementVar_AudioDataIndex(WAVE_Format.NumChannels << 1); 
00000e  480b              LDR      r0,|L33.60|
000010  88c0              LDRH     r0,[r0,#6]  ; WAVE_Format
000012  0040              LSLS     r0,r0,#1
000014  f7fffffe          BL       IncrementVar_AudioDataIndex
;;;977    
;;;978      Media_BufferRead((u8*)(&data), AudioFileAddress + AudioDataIndex, 2);  
000018  68a0              LDR      r0,[r4,#8]  ; AudioFileAddress
00001a  6961              LDR      r1,[r4,#0x14]  ; AudioDataIndex
00001c  2202              MOVS     r2,#2
00001e  4401              ADD      r1,r1,r0
000020  f1040034          ADD      r0,r4,#0x34
000024  f7fffffe          BL       SPI_FLASH_BufferRead
;;;979    
;;;980      /* Offset data for half of DAC area */
;;;981      data +=  1 << 15;
000028  6b60              LDR      r0,[r4,#0x34]  ; data@DAC_CODEC_DataTransfer_0
00002a  f5004000          ADD      r0,r0,#0x8000
;;;982    
;;;983      /* Check and update the stream playing status */
;;;984      DAC_CODEC_UpdateStatus();
00002e  6360              STR      r0,[r4,#0x34]  ; data@DAC_CODEC_DataTransfer_0
000030  e8bd4010          POP      {r4,lr}
000034  f7ffbffe          B.W      DAC_CODEC_UpdateStatus
;;;985    }
;;;986    
                          ENDP

                  |L33.56|
000038  00000000          DCD      ||.data||
                  |L33.60|
00003c  00000064          DCD      ||.bss||+0x64

                          AREA ||i.DAC_Config||, CODE, READONLY, ALIGN=2

                  DAC_Config PROC
000000  b530              PUSH     {r4,r5,lr}
000002  2101              MOVS     r1,#1
000004  b08b              SUB      sp,sp,#0x2c
000006  0748              LSLS     r0,r1,#29
000008  f7fffffe          BL       RCC_APB1PeriphClockCmd
00000c  a807              ADD      r0,sp,#0x1c
00000e  f7fffffe          BL       DAC_StructInit
000012  2400              MOVS     r4,#0
000014  2002              MOVS     r0,#2
000016  900a              STR      r0,[sp,#0x28]
000018  9407              STR      r4,[sp,#0x1c]
00001a  a907              ADD      r1,sp,#0x1c
00001c  9408              STR      r4,[sp,#0x20]
00001e  4620              MOV      r0,r4
000020  f7fffffe          BL       DAC_Init
000024  2101              MOVS     r1,#1
000026  2000              MOVS     r0,#0
000028  f7fffffe          BL       DAC_Cmd
00002c  2101              MOVS     r1,#1
00002e  4608              MOV      r0,r1
000030  f7fffffe          BL       RCC_APB1PeriphClockCmd
000034  4668              MOV      r0,sp
000036  f7fffffe          BL       TIM_OCStructInit
00003a  480f              LDR      r0,|L34.120|
00003c  f8ad4010          STRH     r4,[sp,#0x10]
000040  88c0              LDRH     r0,[r0,#6]  ; TIM2ARRValue
000042  f8ad0014          STRH     r0,[sp,#0x14]
000046  f04f4580          MOV      r5,#0x40000000
00004a  f8ad4016          STRH     r4,[sp,#0x16]
00004e  f8ad4012          STRH     r4,[sp,#0x12]
000052  a904              ADD      r1,sp,#0x10
000054  4628              MOV      r0,r5
000056  f7fffffe          BL       TIM_TimeBaseInit
00005a  f8ad4000          STRH     r4,[sp,#0]
00005e  2001              MOVS     r0,#1
000060  f8ad0002          STRH     r0,[sp,#2]
000064  f8ad4004          STRH     r4,[sp,#4]
000068  f8ad4006          STRH     r4,[sp,#6]
00006c  4669              MOV      r1,sp
00006e  4628              MOV      r0,r5
000070  f7fffffe          BL       TIM_OC1Init
000074  b00b              ADD      sp,sp,#0x2c
000076  bd30              POP      {r4,r5,pc}
                          ENDP

                  |L34.120|
000078  00000000          DCD      ||.data||

                          AREA ||.data||, DATA, ALIGN=2

                  HeaderTabIndex
000000  00                DCB      0x00
                  CurrentVolume
000001  18                DCB      0x18
                  WaveFileStatus
000002  0100              DCB      0x01,0x00
                  dacaudiofreq
000004  1f40              DCW      0x1f40
                  TIM2ARRValue
000006  0000              DCW      0x0000
                  AudioFileAddress
000008  00000000          DCD      0x00000000
                  AudioDataLength
00000c  00000000          DCD      0x00000000
                  DataStartAddr
000010  00000000          DCD      0x00000000
                  AudioDataIndex
000014  00000000          DCD      0x00000000
                  AudioReplay
000018  0000ffff          DCD      0x0000ffff
                  AudioReplayCount
00001c  0000ffff          DCD      0x0000ffff
                  SendDummyData
000020  00000000          DCD      0x00000000
                  AudioPlayStatus
000024  00000000          DCD      0x00000000
                  errorcode
000028  000000ff          DCD      0x000000ff
                  monovar
00002c  00000000          DCD      0x00000000
                  tmpvar
000030  00000000          DCD      0x00000000
                  ||data@DAC_CODEC_DataTransfer_0||
000034  00000000          DCD      0x00000000

                          AREA ||.bss||, DATA, NOINIT, ALIGN=2

                  AudioFileHeader
                          %        100
                  WAVE_Format
                          %        24

                          AREA |area_number.37|, DATA, NOINIT, ALIGN=0

                          EXPORTAS |area_number.37|, ||.bss||
                  AudioDataBuffer
                          %        32

⌨️ 快捷键说明

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