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

📄 stm32f10x_sdio.txt

📁 stm32-SDIO+FatFS文件系统txt-int-ascii
💻 TXT
📖 第 1 页 / 共 3 页
字号:

00002a  0000              DCW      0x0000
                  |L19.44|
                          DCD      0x40018000

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

                  SDIO_ReadData PROC
;;;497      */
;;;498    uint32_t SDIO_ReadData(void)
000000  4801              LDR      r0,|L20.8|
;;;499    { 
;;;500      return SDIO->FIFO;
000002  6800              LDR      r0,[r0,#0]
;;;501    }
000004  4770              BX       lr
;;;502    
                          ENDP

000006  0000              DCW      0x0000
                  |L20.8|
                          DCD      0x40018080

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

                  SDIO_SendCEATACmd PROC
;;;626      */
;;;627    void SDIO_SendCEATACmd(FunctionalState NewState)
000000  4901              LDR      r1,|L21.8|
;;;628    { 
;;;629      /* Check the parameters */
;;;630      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;631      
;;;632      *(__IO uint32_t *) CMD_ATACMD_BB = (uint32_t)NewState;
000002  6008              STR      r0,[r1,#0]
;;;633    }
000004  4770              BX       lr
;;;634    
                          ENDP

000006  0000              DCW      0x0000
                  |L21.8|
                          DCD      0x423001b8

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

                  SDIO_SendCommand PROC
;;;345      */
;;;346    void SDIO_SendCommand(SDIO_CmdInitTypeDef *SDIO_CmdInitStruct)
000000  2100              MOVS     r1,#0
;;;347    {
;;;348      uint32_t tmpreg = 0;
;;;349      
;;;350      /* Check the parameters */
;;;351      assert_param(IS_SDIO_CMD_INDEX(SDIO_CmdInitStruct->SDIO_CmdIndex));
;;;352      assert_param(IS_SDIO_RESPONSE(SDIO_CmdInitStruct->SDIO_Response));
;;;353      assert_param(IS_SDIO_WAIT(SDIO_CmdInitStruct->SDIO_Wait));
;;;354      assert_param(IS_SDIO_CPSM(SDIO_CmdInitStruct->SDIO_CPSM));
;;;355      
;;;356    /*---------------------------- SDIO ARG Configuration ------------------------*/
;;;357      /* Set the SDIO Argument value */
;;;358      SDIO->ARG = SDIO_CmdInitStruct->SDIO_Argument;
000002  4b09              LDR      r3,|L22.40|
000004  6802              LDR      r2,[r0,#0]
000006  609a              STR      r2,[r3,#8]
;;;359      
;;;360    /*---------------------------- SDIO CMD Configuration ------------------------*/  
;;;361      /* Get the SDIO CMD value */
;;;362      tmpreg = SDIO->CMD;
000008  461a              MOV      r2,r3
00000a  68d1              LDR      r1,[r2,#0xc]
;;;363      /* Clear CMDINDEX, WAITRESP, WAITINT, WAITPEND, CPSMEN bits */
;;;364      tmpreg &= CMD_CLEAR_MASK;
00000c  f36f010a          BFC      r1,#0,#11
;;;365      /* Set CMDINDEX bits according to SDIO_CmdIndex value */
;;;366      /* Set WAITRESP bits according to SDIO_Response value */
;;;367      /* Set WAITINT and WAITPEND bits according to SDIO_Wait value */
;;;368      /* Set CPSMEN bits according to SDIO_CPSM value */
;;;369      tmpreg |= (uint32_t)SDIO_CmdInitStruct->SDIO_CmdIndex | SDIO_CmdInitStruct->SDIO_Response
000010  e9d02301          LDRD     r2,r3,[r0,#4]
000014  431a              ORRS     r2,r2,r3
000016  68c3              LDR      r3,[r0,#0xc]
000018  431a              ORRS     r2,r2,r3
00001a  6903              LDR      r3,[r0,#0x10]
00001c  431a              ORRS     r2,r2,r3
00001e  4311              ORRS     r1,r1,r2
;;;370               | SDIO_CmdInitStruct->SDIO_Wait | SDIO_CmdInitStruct->SDIO_CPSM;
;;;371      
;;;372      /* Write to SDIO CMD */
;;;373      SDIO->CMD = tmpreg;
000020  4a01              LDR      r2,|L22.40|
000022  60d1              STR      r1,[r2,#0xc]
;;;374    }
000024  4770              BX       lr
;;;375    
                          ENDP

000026  0000              DCW      0x0000
                  |L22.40|
                          DCD      0x40018000

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

                  SDIO_SendSDIOSuspendCmd PROC
;;;586      */
;;;587    void SDIO_SendSDIOSuspendCmd(FunctionalState NewState)
000000  4901              LDR      r1,|L23.8|
;;;588    { 
;;;589      /* Check the parameters */
;;;590      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;591      
;;;592      *(__IO uint32_t *) CMD_SDIOSUSPEND_BB = (uint32_t)NewState;
000002  6008              STR      r0,[r1,#0]
;;;593    }
000004  4770              BX       lr
;;;594    
                          ENDP

000006  0000              DCW      0x0000
                  |L23.8|
                          DCD      0x423001ac

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

                  SDIO_SetPowerState PROC
;;;250      */
;;;251    void SDIO_SetPowerState(uint32_t SDIO_PowerState)
000000  4905              LDR      r1,|L24.24|
;;;252    {
;;;253      /* Check the parameters */
;;;254      assert_param(IS_SDIO_POWER_STATE(SDIO_PowerState));
;;;255      
;;;256      SDIO->POWER &= PWR_PWRCTRL_MASK;
000002  6809              LDR      r1,[r1,#0]
000004  f0210103          BIC      r1,r1,#3
000008  4a03              LDR      r2,|L24.24|
00000a  6011              STR      r1,[r2,#0]
;;;257      SDIO->POWER |= SDIO_PowerState;
00000c  4611              MOV      r1,r2
00000e  6809              LDR      r1,[r1,#0]
000010  4301              ORRS     r1,r1,r0
000012  6011              STR      r1,[r2,#0]
;;;258    }
000014  4770              BX       lr
;;;259    
                          ENDP

000016  0000              DCW      0x0000
                  |L24.24|
                          DCD      0x40018000

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

                  SDIO_SetSDIOOperation PROC
;;;572      */
;;;573    void SDIO_SetSDIOOperation(FunctionalState NewState)
000000  4901              LDR      r1,|L25.8|
;;;574    { 
;;;575      /* Check the parameters */
;;;576      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;577      
;;;578      *(__IO uint32_t *) DCTRL_SDIOEN_BB = (uint32_t)NewState;
000002  6008              STR      r0,[r1,#0]
;;;579    }
000004  4770              BX       lr
;;;580    
                          ENDP

000006  0000              DCW      0x0000
                  |L25.8|
                          DCD      0x423005ac

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

                  SDIO_SetSDIOReadWaitMode PROC
;;;558      */
;;;559    void SDIO_SetSDIOReadWaitMode(uint32_t SDIO_ReadWaitMode)
000000  4901              LDR      r1,|L26.8|
;;;560    {
;;;561      /* Check the parameters */
;;;562      assert_param(IS_SDIO_READWAIT_MODE(SDIO_ReadWaitMode));
;;;563      
;;;564      *(__IO uint32_t *) DCTRL_RWMOD_BB = SDIO_ReadWaitMode;
000002  6008              STR      r0,[r1,#0]
;;;565    }
000004  4770              BX       lr
;;;566    
                          ENDP

000006  0000              DCW      0x0000
                  |L26.8|
                          DCD      0x423005a8

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

                  SDIO_StartSDIOReadWait PROC
;;;528      */
;;;529    void SDIO_StartSDIOReadWait(FunctionalState NewState)
000000  4901              LDR      r1,|L27.8|
;;;530    { 
;;;531      /* Check the parameters */
;;;532      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;533      
;;;534      *(__IO uint32_t *) DCTRL_RWSTART_BB = (uint32_t) NewState;
000002  6008              STR      r0,[r1,#0]
;;;535    }
000004  4770              BX       lr
;;;536    
                          ENDP

000006  0000              DCW      0x0000
                  |L27.8|
                          DCD      0x423005a0

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

                  SDIO_StopSDIOReadWait PROC
;;;542      */
;;;543    void SDIO_StopSDIOReadWait(FunctionalState NewState)
000000  4901              LDR      r1,|L28.8|
;;;544    { 
;;;545      /* Check the parameters */
;;;546      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;547      
;;;548      *(__IO uint32_t *) DCTRL_RWSTOP_BB = (uint32_t) NewState;
000002  6008              STR      r0,[r1,#0]
;;;549    }
000004  4770              BX       lr
;;;550    
                          ENDP

000006  0000              DCW      0x0000
                  |L28.8|
                          DCD      0x423005a4

                          AREA ||i.SDIO_StructInit||, CODE, READONLY, ALIGN=1

                  SDIO_StructInit PROC
;;;218      */
;;;219    void SDIO_StructInit(SDIO_InitTypeDef* SDIO_InitStruct)
000000  2100              MOVS     r1,#0
;;;220    {
;;;221      /* SDIO_InitStruct members default value */
;;;222      SDIO_InitStruct->SDIO_ClockDiv = 0x00;
000002  7501              STRB     r1,[r0,#0x14]
;;;223      SDIO_InitStruct->SDIO_ClockEdge = SDIO_ClockEdge_Rising;
000004  6001              STR      r1,[r0,#0]
;;;224      SDIO_InitStruct->SDIO_ClockBypass = SDIO_ClockBypass_Disable;
000006  6041              STR      r1,[r0,#4]
;;;225      SDIO_InitStruct->SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable;
000008  6081              STR      r1,[r0,#8]
;;;226      SDIO_InitStruct->SDIO_BusWide = SDIO_BusWide_1b;
00000a  60c1              STR      r1,[r0,#0xc]
;;;227      SDIO_InitStruct->SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable;
00000c  6101              STR      r1,[r0,#0x10]
;;;228    }
00000e  4770              BX       lr
;;;229    
                          ENDP


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

                  SDIO_WriteData PROC
;;;507      */
;;;508    void SDIO_WriteData(uint32_t Data)
000000  4901              LDR      r1,|L30.8|
;;;509    { 
;;;510      SDIO->FIFO = Data;
000002  6008              STR      r0,[r1,#0]
;;;511    }
000004  4770              BX       lr
;;;512    
                          ENDP

000006  0000              DCW      0x0000
                  |L30.8|
                          DCD      0x40018080

⌨️ 快捷键说明

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