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

📄 stm32f10x_dma.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 5 页
字号:
    554            *     @arg DMA1_IT_TE3: DMA1 Channel3 transfer error interrupt.
    555            *     @arg DMA1_IT_GL4: DMA1 Channel4 global interrupt.
    556            *     @arg DMA1_IT_TC4: DMA1 Channel4 transfer complete interrupt.
    557            *     @arg DMA1_IT_HT4: DMA1 Channel4 half transfer interrupt.
    558            *     @arg DMA1_IT_TE4: DMA1 Channel4 transfer error interrupt.
    559            *     @arg DMA1_IT_GL5: DMA1 Channel5 global interrupt.
    560            *     @arg DMA1_IT_TC5: DMA1 Channel5 transfer complete interrupt.
    561            *     @arg DMA1_IT_HT5: DMA1 Channel5 half transfer interrupt.
    562            *     @arg DMA1_IT_TE5: DMA1 Channel5 transfer error interrupt.
    563            *     @arg DMA1_IT_GL6: DMA1 Channel6 global interrupt.
    564            *     @arg DMA1_IT_TC6: DMA1 Channel6 transfer complete interrupt.
    565            *     @arg DMA1_IT_HT6: DMA1 Channel6 half transfer interrupt.
    566            *     @arg DMA1_IT_TE6: DMA1 Channel6 transfer error interrupt.
    567            *     @arg DMA1_IT_GL7: DMA1 Channel7 global interrupt.
    568            *     @arg DMA1_IT_TC7: DMA1 Channel7 transfer complete interrupt.
    569            *     @arg DMA1_IT_HT7: DMA1 Channel7 half transfer interrupt.
    570            *     @arg DMA1_IT_TE7: DMA1 Channel7 transfer error interrupt.
    571            *     @arg DMA2_IT_GL1: DMA2 Channel1 global interrupt.
    572            *     @arg DMA2_IT_TC1: DMA2 Channel1 transfer complete interrupt.
    573            *     @arg DMA2_IT_HT1: DMA2 Channel1 half transfer interrupt.
    574            *     @arg DMA2_IT_TE1: DMA2 Channel1 transfer error interrupt.
    575            *     @arg DMA2_IT_GL2: DMA2 Channel2 global interrupt.
    576            *     @arg DMA2_IT_TC2: DMA2 Channel2 transfer complete interrupt.
    577            *     @arg DMA2_IT_HT2: DMA2 Channel2 half transfer interrupt.
    578            *     @arg DMA2_IT_TE2: DMA2 Channel2 transfer error interrupt.
    579            *     @arg DMA2_IT_GL3: DMA2 Channel3 global interrupt.
    580            *     @arg DMA2_IT_TC3: DMA2 Channel3 transfer complete interrupt.
    581            *     @arg DMA2_IT_HT3: DMA2 Channel3 half transfer interrupt.
    582            *     @arg DMA2_IT_TE3: DMA2 Channel3 transfer error interrupt.
    583            *     @arg DMA2_IT_GL4: DMA2 Channel4 global interrupt.
    584            *     @arg DMA2_IT_TC4: DMA2 Channel4 transfer complete interrupt.
    585            *     @arg DMA2_IT_HT4: DMA2 Channel4 half transfer interrupt.
    586            *     @arg DMA2_IT_TE4: DMA2 Channel4 transfer error interrupt.
    587            *     @arg DMA2_IT_GL5: DMA2 Channel5 global interrupt.
    588            *     @arg DMA2_IT_TC5: DMA2 Channel5 transfer complete interrupt.
    589            *     @arg DMA2_IT_HT5: DMA2 Channel5 half transfer interrupt.
    590            *     @arg DMA2_IT_TE5: DMA2 Channel5 transfer error interrupt.
    591            * @retval The new state of DMA_IT (SET or RESET).
    592            */

   \                                 In section .text, align 2, keep-with-next
    593          ITStatus DMA_GetITStatus(uint32_t DMA_IT)
    594          {
   \                     DMA_GetITStatus:
   \   00000000   0100               MOVS     R1,R0
    595            ITStatus bitstatus = RESET;
   \   00000002   0020               MOVS     R0,#+0
    596            uint32_t tmpreg = 0;
   \   00000004   0022               MOVS     R2,#+0
    597            /* Check the parameters */
    598            assert_param(IS_DMA_GET_IT(DMA_IT));
    599          
    600            /* Calculate the used DMA */
    601            if ((DMA_IT & FLAG_Mask) != (uint32_t)RESET)
   \   00000006   CB00               LSLS     R3,R1,#+3
   \   00000008   03D5               BPL.N    ??DMA_GetITStatus_0
    602            {
    603              /* Get DMA2 ISR register value */
    604              tmpreg = DMA2->ISR ;
   \   0000000A   ....               LDR.N    R3,??DataTable5_15  ;; 0x40020400
   \   0000000C   1B68               LDR      R3,[R3, #+0]
   \   0000000E   1A00               MOVS     R2,R3
   \   00000010   02E0               B.N      ??DMA_GetITStatus_1
    605            }
    606            else
    607            {
    608              /* Get DMA1 ISR register value */
    609              tmpreg = DMA1->ISR ;
   \                     ??DMA_GetITStatus_0:
   \   00000012   ....               LDR.N    R3,??DataTable5_16  ;; 0x40020000
   \   00000014   1B68               LDR      R3,[R3, #+0]
   \   00000016   1A00               MOVS     R2,R3
    610            }
    611          
    612            /* Check the status of the specified DMA interrupt */
    613            if ((tmpreg & DMA_IT) != (uint32_t)RESET)
   \                     ??DMA_GetITStatus_1:
   \   00000018   0A42               TST      R2,R1
   \   0000001A   02D0               BEQ.N    ??DMA_GetITStatus_2
    614            {
    615              /* DMA_IT is set */
    616              bitstatus = SET;
   \   0000001C   0123               MOVS     R3,#+1
   \   0000001E   1800               MOVS     R0,R3
   \   00000020   01E0               B.N      ??DMA_GetITStatus_3
    617            }
    618            else
    619            {
    620              /* DMA_IT is reset */
    621              bitstatus = RESET;
   \                     ??DMA_GetITStatus_2:
   \   00000022   0023               MOVS     R3,#+0
   \   00000024   1800               MOVS     R0,R3
    622            }
    623            /* Return the DMA_IT status */
    624            return  bitstatus;
   \                     ??DMA_GetITStatus_3:
   \   00000026   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000028   7047               BX       LR               ;; return
    625          }
    626          
    627          /**
    628            * @brief  Clears the DMAy Channelx抯 interrupt pending bits.
    629            * @param  DMA_IT: specifies the DMA interrupt pending bit to clear.
    630            *   This parameter can be any combination (for the same DMA) of the following values:
    631            *     @arg DMA1_IT_GL1: DMA1 Channel1 global interrupt.
    632            *     @arg DMA1_IT_TC1: DMA1 Channel1 transfer complete interrupt.
    633            *     @arg DMA1_IT_HT1: DMA1 Channel1 half transfer interrupt.
    634            *     @arg DMA1_IT_TE1: DMA1 Channel1 transfer error interrupt.
    635            *     @arg DMA1_IT_GL2: DMA1 Channel2 global interrupt.
    636            *     @arg DMA1_IT_TC2: DMA1 Channel2 transfer complete interrupt.
    637            *     @arg DMA1_IT_HT2: DMA1 Channel2 half transfer interrupt.
    638            *     @arg DMA1_IT_TE2: DMA1 Channel2 transfer error interrupt.
    639            *     @arg DMA1_IT_GL3: DMA1 Channel3 global interrupt.
    640            *     @arg DMA1_IT_TC3: DMA1 Channel3 transfer complete interrupt.
    641            *     @arg DMA1_IT_HT3: DMA1 Channel3 half transfer interrupt.
    642            *     @arg DMA1_IT_TE3: DMA1 Channel3 transfer error interrupt.
    643            *     @arg DMA1_IT_GL4: DMA1 Channel4 global interrupt.
    644            *     @arg DMA1_IT_TC4: DMA1 Channel4 transfer complete interrupt.
    645            *     @arg DMA1_IT_HT4: DMA1 Channel4 half transfer interrupt.
    646            *     @arg DMA1_IT_TE4: DMA1 Channel4 transfer error interrupt.
    647            *     @arg DMA1_IT_GL5: DMA1 Channel5 global interrupt.
    648            *     @arg DMA1_IT_TC5: DMA1 Channel5 transfer complete interrupt.
    649            *     @arg DMA1_IT_HT5: DMA1 Channel5 half transfer interrupt.
    650            *     @arg DMA1_IT_TE5: DMA1 Channel5 transfer error interrupt.
    651            *     @arg DMA1_IT_GL6: DMA1 Channel6 global interrupt.
    652            *     @arg DMA1_IT_TC6: DMA1 Channel6 transfer complete interrupt.
    653            *     @arg DMA1_IT_HT6: DMA1 Channel6 half transfer interrupt.
    654            *     @arg DMA1_IT_TE6: DMA1 Channel6 transfer error interrupt.
    655            *     @arg DMA1_IT_GL7: DMA1 Channel7 global interrupt.
    656            *     @arg DMA1_IT_TC7: DMA1 Channel7 transfer complete interrupt.
    657            *     @arg DMA1_IT_HT7: DMA1 Channel7 half transfer interrupt.
    658            *     @arg DMA1_IT_TE7: DMA1 Channel7 transfer error interrupt.
    659            *     @arg DMA2_IT_GL1: DMA2 Channel1 global interrupt.
    660            *     @arg DMA2_IT_TC1: DMA2 Channel1 transfer complete interrupt.
    661            *     @arg DMA2_IT_HT1: DMA2 Channel1 half transfer interrupt.
    662            *     @arg DMA2_IT_TE1: DMA2 Channel1 transfer error interrupt.
    663            *     @arg DMA2_IT_GL2: DMA2 Channel2 global interrupt.
    664            *     @arg DMA2_IT_TC2: DMA2 Channel2 transfer complete interrupt.
    665            *     @arg DMA2_IT_HT2: DMA2 Channel2 half transfer interrupt.
    666            *     @arg DMA2_IT_TE2: DMA2 Channel2 transfer error interrupt.
    667            *     @arg DMA2_IT_GL3: DMA2 Channel3 global interrupt.
    668            *     @arg DMA2_IT_TC3: DMA2 Channel3 transfer complete interrupt.
    669            *     @arg DMA2_IT_HT3: DMA2 Channel3 half transfer interrupt.
    670            *     @arg DMA2_IT_TE3: DMA2 Channel3 transfer error interrupt.
    671            *     @arg DMA2_IT_GL4: DMA2 Channel4 global interrupt.
    672            *     @arg DMA2_IT_TC4: DMA2 Channel4 transfer complete interrupt.
    673            *     @arg DMA2_IT_HT4: DMA2 Channel4 half transfer interrupt.
    674            *     @arg DMA2_IT_TE4: DMA2 Channel4 transfer error interrupt.
    675            *     @arg DMA2_IT_GL5: DMA2 Channel5 global interrupt.
    676            *     @arg DMA2_IT_TC5: DMA2 Channel5 transfer complete interrupt.
    677            *     @arg DMA2_IT_HT5: DMA2 Channel5 half transfer interrupt.
    678            *     @arg DMA2_IT_TE5: DMA2 Channel5 transfer error interrupt.
    679            * @retval None
    680            */

   \                                 In section .text, align 2, keep-with-next
    681          void DMA_ClearITPendingBit(uint32_t DMA_IT)
    682          {
    683            /* Check the parameters */
    684            assert_param(IS_DMA_CLEAR_IT(DMA_IT));
    685          
    686            /* Calculate the used DMA */
    687            if ((DMA_IT & FLAG_Mask) != (uint32_t)RESET)
   \                     DMA_ClearITPendingBit:
   \   00000000   C100               LSLS     R1,R0,#+3
   \   00000002   02D5               BPL.N    ??DMA_ClearITPendingBit_0
    688            {
    689              /* Clear the selected DMA interrupt pending bits */
    690              DMA2->IFCR = DMA_IT;
   \   00000004   ....               LDR.N    R1,??DataTable5_9  ;; 0x40020404
   \   00000006   0860               STR      R0,[R1, #+0]
   \   00000008   01E0               B.N      ??DMA_ClearITPendingBit_1
    691            }
    692            else
    693            {
    694              /* Clear the selected DMA interrupt pending bits */
    695              DMA1->IFCR = DMA_IT;
   \                     ??DMA_ClearITPendingBit_0:
   \   0000000A   ....               LDR.N    R1,??DataTable5_1  ;; 0x40020004
   \   0000000C   0860               STR      R0,[R1, #+0]
    696            }
    697          }
   \                     ??DMA_ClearITPendingBit_1:
   \   0000000E   7047               BX       LR               ;; return

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5:
   \   00000000   08000240           DC32     0x40020008

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_1:
   \   00000000   04000240           DC32     0x40020004

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_2:
   \   00000000   1C000240           DC32     0x4002001c

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_3:
   \   00000000   30000240           DC32     0x40020030

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_4:
   \   00000000   44000240           DC32     0x40020044

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_5:
   \   00000000   58000240           DC32     0x40020058

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_6:
   \   00000000   6C000240           DC32     0x4002006c

   \                                 In section .text, align 4, keep-with-next
   \

⌨️ 快捷键说明

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