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

📄 stm32f10x_sdio.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 5 页
字号:
    601          { 
    602            /* Check the parameters */
    603            assert_param(IS_FUNCTIONAL_STATE(NewState));
    604            
    605            *(__IO uint32_t *) CMD_ENCMDCOMPL_BB = (uint32_t)NewState;
   \                     SDIO_CommandCompletionCmd:
   \   00000000   ....               LDR.N    R1,??DataTable26_23  ;; 0x423001b0
   \   00000002   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000004   0860               STR      R0,[R1, #+0]
    606          }
   \   00000006   7047               BX       LR               ;; return
    607          
    608          /**
    609            * @brief  Enables or disables the CE-ATA interrupt.
    610            * @param  NewState: new state of CE-ATA interrupt. This parameter can be: ENABLE or DISABLE.
    611            * @retval None
    612            */

   \                                 In section .text, align 2, keep-with-next
    613          void SDIO_CEATAITCmd(FunctionalState NewState)
    614          { 
    615            /* Check the parameters */
    616            assert_param(IS_FUNCTIONAL_STATE(NewState));
    617            
    618            *(__IO uint32_t *) CMD_NIEN_BB = (uint32_t)((~((uint32_t)NewState)) & ((uint32_t)0x1));
   \                     SDIO_CEATAITCmd:
   \   00000000   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000002   C143               MVNS     R1,R0
   \   00000004   11F00101           ANDS     R1,R1,#0x1
   \   00000008   ....               LDR.N    R2,??DataTable26_24  ;; 0x423001b4
   \   0000000A   1160               STR      R1,[R2, #+0]
    619          }
   \   0000000C   7047               BX       LR               ;; return
    620          
    621          /**
    622            * @brief  Sends CE-ATA command (CMD61).
    623            * @param  NewState: new state of CE-ATA command. This parameter can be: ENABLE or DISABLE.
    624            * @retval None
    625            */

   \                                 In section .text, align 2, keep-with-next
    626          void SDIO_SendCEATACmd(FunctionalState NewState)
    627          { 
    628            /* Check the parameters */
    629            assert_param(IS_FUNCTIONAL_STATE(NewState));
    630            
    631            *(__IO uint32_t *) CMD_ATACMD_BB = (uint32_t)NewState;
   \                     SDIO_SendCEATACmd:
   \   00000000   ....               LDR.N    R1,??DataTable26_25  ;; 0x423001b8
   \   00000002   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000004   0860               STR      R0,[R1, #+0]
    632          }
   \   00000006   7047               BX       LR               ;; return
    633          
    634          /**
    635            * @brief  Checks whether the specified SDIO flag is set or not.
    636            * @param  SDIO_FLAG: specifies the flag to check. 
    637            *   This parameter can be one of the following values:
    638            *     @arg SDIO_FLAG_CCRCFAIL: Command response received (CRC check failed)
    639            *     @arg SDIO_FLAG_DCRCFAIL: Data block sent/received (CRC check failed)
    640            *     @arg SDIO_FLAG_CTIMEOUT: Command response timeout
    641            *     @arg SDIO_FLAG_DTIMEOUT: Data timeout
    642            *     @arg SDIO_FLAG_TXUNDERR: Transmit FIFO underrun error
    643            *     @arg SDIO_FLAG_RXOVERR:  Received FIFO overrun error
    644            *     @arg SDIO_FLAG_CMDREND:  Command response received (CRC check passed)
    645            *     @arg SDIO_FLAG_CMDSENT:  Command sent (no response required)
    646            *     @arg SDIO_FLAG_DATAEND:  Data end (data counter, SDIDCOUNT, is zero)
    647            *     @arg SDIO_FLAG_STBITERR: Start bit not detected on all data signals in wide 
    648            *                              bus mode.
    649            *     @arg SDIO_FLAG_DBCKEND:  Data block sent/received (CRC check passed)
    650            *     @arg SDIO_FLAG_CMDACT:   Command transfer in progress
    651            *     @arg SDIO_FLAG_TXACT:    Data transmit in progress
    652            *     @arg SDIO_FLAG_RXACT:    Data receive in progress
    653            *     @arg SDIO_FLAG_TXFIFOHE: Transmit FIFO Half Empty
    654            *     @arg SDIO_FLAG_RXFIFOHF: Receive FIFO Half Full
    655            *     @arg SDIO_FLAG_TXFIFOF:  Transmit FIFO full
    656            *     @arg SDIO_FLAG_RXFIFOF:  Receive FIFO full
    657            *     @arg SDIO_FLAG_TXFIFOE:  Transmit FIFO empty
    658            *     @arg SDIO_FLAG_RXFIFOE:  Receive FIFO empty
    659            *     @arg SDIO_FLAG_TXDAVL:   Data available in transmit FIFO
    660            *     @arg SDIO_FLAG_RXDAVL:   Data available in receive FIFO
    661            *     @arg SDIO_FLAG_SDIOIT:   SD I/O interrupt received
    662            *     @arg SDIO_FLAG_CEATAEND: CE-ATA command completion signal received for CMD61
    663            * @retval The new state of SDIO_FLAG (SET or RESET).
    664            */

   \                                 In section .text, align 2, keep-with-next
    665          FlagStatus SDIO_GetFlagStatus(uint32_t SDIO_FLAG)
    666          { 
   \                     SDIO_GetFlagStatus:
   \   00000000   0100               MOVS     R1,R0
    667            FlagStatus bitstatus = RESET;
   \   00000002   0020               MOVS     R0,#+0
    668            
    669            /* Check the parameters */
    670            assert_param(IS_SDIO_FLAG(SDIO_FLAG));
    671            
    672            if ((SDIO->STA & SDIO_FLAG) != (uint32_t)RESET)
   \   00000004   ....               LDR.N    R2,??DataTable26_26  ;; 0x40018034
   \   00000006   1268               LDR      R2,[R2, #+0]
   \   00000008   0A42               TST      R2,R1
   \   0000000A   02D0               BEQ.N    ??SDIO_GetFlagStatus_0
    673            {
    674              bitstatus = SET;
   \   0000000C   0122               MOVS     R2,#+1
   \   0000000E   1000               MOVS     R0,R2
   \   00000010   01E0               B.N      ??SDIO_GetFlagStatus_1
    675            }
    676            else
    677            {
    678              bitstatus = RESET;
   \                     ??SDIO_GetFlagStatus_0:
   \   00000012   0022               MOVS     R2,#+0
   \   00000014   1000               MOVS     R0,R2
    679            }
    680            return bitstatus;
   \                     ??SDIO_GetFlagStatus_1:
   \   00000016   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000018   7047               BX       LR               ;; return
    681          }
    682          
    683          /**
    684            * @brief  Clears the SDIO's pending flags.
    685            * @param  SDIO_FLAG: specifies the flag to clear.  
    686            *   This parameter can be one or a combination of the following values:
    687            *     @arg SDIO_FLAG_CCRCFAIL: Command response received (CRC check failed)
    688            *     @arg SDIO_FLAG_DCRCFAIL: Data block sent/received (CRC check failed)
    689            *     @arg SDIO_FLAG_CTIMEOUT: Command response timeout
    690            *     @arg SDIO_FLAG_DTIMEOUT: Data timeout
    691            *     @arg SDIO_FLAG_TXUNDERR: Transmit FIFO underrun error
    692            *     @arg SDIO_FLAG_RXOVERR:  Received FIFO overrun error
    693            *     @arg SDIO_FLAG_CMDREND:  Command response received (CRC check passed)
    694            *     @arg SDIO_FLAG_CMDSENT:  Command sent (no response required)
    695            *     @arg SDIO_FLAG_DATAEND:  Data end (data counter, SDIDCOUNT, is zero)
    696            *     @arg SDIO_FLAG_STBITERR: Start bit not detected on all data signals in wide 
    697            *                              bus mode
    698            *     @arg SDIO_FLAG_DBCKEND:  Data block sent/received (CRC check passed)
    699            *     @arg SDIO_FLAG_SDIOIT:   SD I/O interrupt received
    700            *     @arg SDIO_FLAG_CEATAEND: CE-ATA command completion signal received for CMD61
    701            * @retval None
    702            */

   \                                 In section .text, align 2, keep-with-next
    703          void SDIO_ClearFlag(uint32_t SDIO_FLAG)
    704          { 
    705            /* Check the parameters */
    706            assert_param(IS_SDIO_CLEAR_FLAG(SDIO_FLAG));
    707             
    708            SDIO->ICR = SDIO_FLAG;
   \                     SDIO_ClearFlag:
   \   00000000   ....               LDR.N    R1,??DataTable26_7  ;; 0x40018038
   \   00000002   0860               STR      R0,[R1, #+0]
    709          }
   \   00000004   7047               BX       LR               ;; return
    710          
    711          /**
    712            * @brief  Checks whether the specified SDIO interrupt has occurred or not.
    713            * @param  SDIO_IT: specifies the SDIO interrupt source to check. 
    714            *   This parameter can be one of the following values:
    715            *     @arg SDIO_IT_CCRCFAIL: Command response received (CRC check failed) interrupt
    716            *     @arg SDIO_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt
    717            *     @arg SDIO_IT_CTIMEOUT: Command response timeout interrupt
    718            *     @arg SDIO_IT_DTIMEOUT: Data timeout interrupt
    719            *     @arg SDIO_IT_TXUNDERR: Transmit FIFO underrun error interrupt
    720            *     @arg SDIO_IT_RXOVERR:  Received FIFO overrun error interrupt
    721            *     @arg SDIO_IT_CMDREND:  Command response received (CRC check passed) interrupt
    722            *     @arg SDIO_IT_CMDSENT:  Command sent (no response required) interrupt
    723            *     @arg SDIO_IT_DATAEND:  Data end (data counter, SDIDCOUNT, is zero) interrupt
    724            *     @arg SDIO_IT_STBITERR: Start bit not detected on all data signals in wide 
    725            *                            bus mode interrupt
    726            *     @arg SDIO_IT_DBCKEND:  Data block sent/received (CRC check passed) interrupt
    727            *     @arg SDIO_IT_CMDACT:   Command transfer in progress interrupt
    728            *     @arg SDIO_IT_TXACT:    Data transmit in progress interrupt
    729            *     @arg SDIO_IT_RXACT:    Data receive in progress interrupt
    730            *     @arg SDIO_IT_TXFIFOHE: Transmit FIFO Half Empty interrupt
    731            *     @arg SDIO_IT_RXFIFOHF: Receive FIFO Half Full interrupt
    732            *     @arg SDIO_IT_TXFIFOF:  Transmit FIFO full interrupt
    733            *     @arg SDIO_IT_RXFIFOF:  Receive FIFO full interrupt
    734            *     @arg SDIO_IT_TXFIFOE:  Transmit FIFO empty interrupt
    735            *     @arg SDIO_IT_RXFIFOE:  Receive FIFO empty interrupt
    736            *     @arg SDIO_IT_TXDAVL:   Data available in transmit FIFO interrupt
    737            *     @arg SDIO_IT_RXDAVL:   Data available in receive FIFO interrupt
    738            *     @arg SDIO_IT_SDIOIT:   SD I/O interrupt received interrupt
    739            *     @arg SDIO_IT_CEATAEND: CE-ATA command completion signal received for CMD61 interrupt
    740            * @retval The new state of SDIO_IT (SET or RESET).
    741            */

   \                                 In section .text, align 2, keep-with-next
    742          ITStatus SDIO_GetITStatus(uint32_t SDIO_IT)
    743          { 
   \                     SDIO_GetITStatus:
   \   00000000   0100               MOVS     R1,R0
    744            ITStatus bitstatus = RESET;
   \   00000002   0020               MOVS     R0,#+0
    745            
    746            /* Check the parameters */
    747            assert_param(IS_SDIO_GET_IT(SDIO_IT));
    748            if ((SDIO->STA & SDIO_IT) != (uint32_t)RESET)  
   \   00000004   ....               LDR.N    R2,??DataTable26_26  ;; 0x40018034
   \   00000006   1268               LDR      R2,[R2, #+0]
   \   00000008   0A42               TST      R2,R1
   \   0000000A   02D0               BEQ.N    ??SDIO_GetITStatus_0
    749            {
    750              bitstatus = SET;
   \   0000000C   0122               MOVS     R2,#+1
   \   0000000E   1000               MOVS     R0,R2
   \   00000010   01E0               B.N      ??SDIO_GetITStatus_1
    751            }
    752            else
    753            {
    754              bitstatus = RESET;
   \                     ??SDIO_GetITStatus_0:
   \   00000012   0022               MOVS     R2,#+0
   \   00000014   1000               MOVS     R0,R2
    755            }
    756            return bitstatus;
   \                     ??SDIO_GetITStatus_1:
   \   00000016   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000018   7047               BX       LR               ;; return
    757          }
    758          
    759          /**
    760            * @brief  Clears the SDIO抯 interrupt pending bits.
    761            * @param  SDIO_IT: specifies the interrupt pending bit to clear. 
    762            *   This parameter can be one or a combination of the following values:
    763            *     @arg SDIO_IT_CCRCFAIL: Command response received (CRC check failed) interrupt
    764            *     @arg SDIO_IT_DCRCFAIL: Data block sent/received (CRC check failed) interrupt
    765            *     @arg SDIO_IT_CTIMEOUT: Command response timeout interrupt
    766            *     @arg SDIO_IT_DTIMEOUT: Data timeout interrupt
    767            *     @arg SDIO_IT_TXUNDERR: Transmit FIFO underrun error interrupt
    768            *     @arg SDIO_IT_RXOVERR:  Received FIFO

⌨️ 快捷键说明

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