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

📄 stm32f10x_sdio.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 5 页
字号:
    410          * Return         : None
    411          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    412          void SDIO_DataConfig(SDIO_DataInitTypeDef* SDIO_DataInitStruct)
    413          {
    414            u32 tmpreg = 0;
    415            
    416            /* Check the parameters */
    417            assert_param(IS_SDIO_DATA_LENGTH(SDIO_DataInitStruct->SDIO_DataLength));
    418            assert_param(IS_SDIO_BLOCK_SIZE(SDIO_DataInitStruct->SDIO_DataBlockSize));
    419            assert_param(IS_SDIO_TRANSFER_DIR(SDIO_DataInitStruct->SDIO_TransferDir));
    420            assert_param(IS_SDIO_TRANSFER_MODE(SDIO_DataInitStruct->SDIO_TransferMode));
    421            assert_param(IS_SDIO_DPSM(SDIO_DataInitStruct->SDIO_DPSM));
    422          
    423          /*---------------------------- SDIO DTIMER Configuration ---------------------*/
    424            /* Set the SDIO Data TimeOut value */
    425            SDIO->DTIMER = SDIO_DataInitStruct->SDIO_DataTimeOut;
   \                     SDIO_DataConfig:
   \   00000000   0949               LDR.N    R1,??SDIO_DataConfig_0  ;; 0x40018024
   \   00000002   0268               LDR      R2,[R0, #+0]
   \   00000004   0A60               STR      R2,[R1, #+0]
    426              
    427          /*---------------------------- SDIO DLEN Configuration -----------------------*/
    428            /* Set the SDIO DataLength value */
    429            SDIO->DLEN = SDIO_DataInitStruct->SDIO_DataLength;
   \   00000006   091D               ADDS     R1,R1,#+4
   \   00000008   4268               LDR      R2,[R0, #+4]
   \   0000000A   0A60               STR      R2,[R1, #+0]
    430            
    431          /*---------------------------- SDIO DCTRL Configuration ----------------------*/  
    432            /* Get the SDIO DCTRL value */
    433            tmpreg = SDIO->DCTRL;
   \   0000000C   091D               ADDS     R1,R1,#+4
   \   0000000E   0A68               LDR      R2,[R1, #+0]
    434          
    435            /* Clear DEN, DTMODE, DTDIR and DBCKSIZE bits */
    436            tmpreg &= DCTRL_CLEAR_MASK;
    437            /* Set DEN bit according to SDIO_DPSM value */
    438            /* Set DTMODE bit according to SDIO_TransferMode value */
    439            /* Set DTDIR bit according to SDIO_TransferDir value */
    440            /* Set DBCKSIZE bits according to SDIO_DataBlockSize value */
    441            tmpreg |= (u32)SDIO_DataInitStruct->SDIO_DataBlockSize | SDIO_DataInitStruct->SDIO_TransferDir
    442                     | SDIO_DataInitStruct->SDIO_TransferMode | SDIO_DataInitStruct->SDIO_DPSM;
    443            
    444            /* Write to SDIO DCTRL */
    445            SDIO->DCTRL = tmpreg;
   \   00000010   F723               MOVS     R3,#+247
   \   00000012   9A43               BICS     R2,R2,R3
   \   00000014   8368               LDR      R3,[R0, #+8]
   \   00000016   1343               ORRS     R3,R3,R2
   \   00000018   C268               LDR      R2,[R0, #+12]
   \   0000001A   1A43               ORRS     R2,R2,R3
   \   0000001C   0369               LDR      R3,[R0, #+16]
   \   0000001E   1343               ORRS     R3,R3,R2
   \   00000020   4069               LDR      R0,[R0, #+20]
   \   00000022   1843               ORRS     R0,R0,R3
   \   00000024   0860               STR      R0,[R1, #+0]
    446          }
   \   00000026   7047               BX       LR               ;; return
   \                     ??SDIO_DataConfig_0:
   \   00000028   24800140           DC32     0x40018024
    447          
    448          /*******************************************************************************
    449          * Function Name  : SDIO_DataStructInit
    450          * Description    : Fills each SDIO_DataInitStruct member with its default value.
    451          * Input          : SDIO_DataInitStruct: pointer to an SDIO_DataInitTypeDef 
    452          *                  structure which will be initialized.
    453          * Output         : None
    454          * Return         : None
    455          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    456          void SDIO_DataStructInit(SDIO_DataInitTypeDef* SDIO_DataInitStruct)
    457          {
    458            /* SDIO_DataInitStruct members default value */
    459            SDIO_DataInitStruct->SDIO_DataTimeOut = 0xFFFFFFFF;
   \                     SDIO_DataStructInit:
   \   00000000   5FF0FF31           MOVS     R1,#-1
   \   00000004   0160               STR      R1,[R0, #+0]
    460            SDIO_DataInitStruct->SDIO_DataLength = 0x00;
   \   00000006   0021               MOVS     R1,#+0
   \   00000008   4160               STR      R1,[R0, #+4]
    461            SDIO_DataInitStruct->SDIO_DataBlockSize = SDIO_DataBlockSize_1b;
   \   0000000A   8160               STR      R1,[R0, #+8]
    462            SDIO_DataInitStruct->SDIO_TransferDir = SDIO_TransferDir_ToCard;
   \   0000000C   C160               STR      R1,[R0, #+12]
    463            SDIO_DataInitStruct->SDIO_TransferMode = SDIO_TransferMode_Block;  
   \   0000000E   0161               STR      R1,[R0, #+16]
    464            SDIO_DataInitStruct->SDIO_DPSM = SDIO_DPSM_Disable;
   \   00000010   4161               STR      R1,[R0, #+20]
    465          }
   \   00000012   7047               BX       LR               ;; return
    466          
    467          /*******************************************************************************
    468          * Function Name  : SDIO_GetDataCounter
    469          * Description    : Returns number of remaining data bytes to be transferred.
    470          * Input          : None
    471          * Output         : None
    472          * Return         : Number of remaining data bytes to be transferred
    473          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    474          u32 SDIO_GetDataCounter(void)
    475          { 
    476            return SDIO->DCOUNT;
   \                     SDIO_GetDataCounter:
   \   00000000   0148               LDR.N    R0,??SDIO_GetDataCounter_0  ;; 0x40018030
   \   00000002   0068               LDR      R0,[R0, #+0]
   \   00000004   7047               BX       LR               ;; return
   \   00000006   00BF               Nop      
   \                     ??SDIO_GetDataCounter_0:
   \   00000008   30800140           DC32     0x40018030
    477          }
    478          
    479          /*******************************************************************************
    480          * Function Name  : SDIO_ReadData
    481          * Description    : Read one data word from Rx FIFO.
    482          * Input          : None
    483          * Output         : None
    484          * Return         : Data received
    485          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    486          u32 SDIO_ReadData(void)
    487          { 
    488            return SDIO->FIFO;
   \                     SDIO_ReadData:
   \   00000000   ....               LDR.N    R0,??DataTable4  ;; 0x40018080
   \   00000002   0068               LDR      R0,[R0, #+0]
   \   00000004   7047               BX       LR               ;; return
    489          }
    490          
    491          /*******************************************************************************
    492          * Function Name  : SDIO_WriteData
    493          * Description    : Write one data word to Tx FIFO.
    494          * Input          : Data: 32-bit data word to write.
    495          * Output         : None
    496          * Return         : None
    497          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    498          void SDIO_WriteData(u32 Data)
    499          { 
    500            SDIO->FIFO = Data;
   \                     SDIO_WriteData:
   \   00000000   ....               LDR.N    R1,??DataTable4  ;; 0x40018080
   \   00000002   0860               STR      R0,[R1, #+0]
    501          }
   \   00000004   7047               BX       LR               ;; return
    502          
    503          /*******************************************************************************
    504          * Function Name  : SDIO_GetFIFOCount
    505          * Description    : Returns the number of words left to be written to or read
    506          *                  from FIFO.	
    507          * Input          : None
    508          * Output         : None
    509          * Return         : Remaining number of words.
    510          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    511          u32 SDIO_GetFIFOCount(void)
    512          { 
    513            return SDIO->FIFOCNT;
   \                     SDIO_GetFIFOCount:
   \   00000000   0148               LDR.N    R0,??SDIO_GetFIFOCount_0  ;; 0x40018048
   \   00000002   0068               LDR      R0,[R0, #+0]
   \   00000004   7047               BX       LR               ;; return
   \   00000006   00BF               Nop      
   \                     ??SDIO_GetFIFOCount_0:
   \   00000008   48800140           DC32     0x40018048
    514          }
    515          
    516          /*******************************************************************************
    517          * Function Name  : SDIO_StartSDIOReadWait
    518          * Description    : Starts the SD I/O Read Wait operation.	
    519          * Input          : NewState: new state of the Start SDIO Read Wait operation. 
    520          *                  This parameter can be: ENABLE or DISABLE.
    521          * Output         : None
    522          * Return         : None
    523          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    524          void SDIO_StartSDIOReadWait(FunctionalState NewState)
    525          { 
    526            /* Check the parameters */
    527            assert_param(IS_FUNCTIONAL_STATE(NewState));
    528            
    529            *(vu32 *) DCTRL_RWSTART_BB = (u32) NewState;
   \                     SDIO_StartSDIOReadWait:
   \   00000000   0149               LDR.N    R1,??SDIO_StartSDIOReadWait_0  ;; 0x423005a0
   \   00000002   0860               STR      R0,[R1, #+0]
    530          }
   \   00000004   7047               BX       LR               ;; return
   \   00000006   00BF               Nop      
   \                     ??SDIO_StartSDIOReadWait_0:
   \   00000008   A0053042           DC32     0x423005a0
    531          
    532          /*******************************************************************************
    533          * Function Name  : SDIO_StopSDIOReadWait
    534          * Description    : Stops the SD I/O Read Wait operation.	
    535          * Input          : NewState: new state of the Stop SDIO Read Wait operation. 
    536          *                  This parameter can be: ENABLE or DISABLE.
    537          * Output         : None
    538          * Return         : None
    539          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    540          void SDIO_StopSDIOReadWait(FunctionalState NewState)
    541          { 
    542            /* Check the parameters */
    543            assert_param(IS_FUNCTIONAL_STATE(NewState));

⌨️ 快捷键说明

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