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

📄 stm32f10x_sdio.txt

📁 stm32-SDIO+FatFS文件系统txt-int-ascii
💻 TXT
📖 第 1 页 / 共 3 页
字号:
; generated by ARM C/C++ Compiler, 4.1 [Build 561]
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Flash\Obj\stm32f10x_sdio.o --depend=.\Flash\Obj\stm32f10x_sdio.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=870 -I..\..\Libraries\CMSIS\CM3\CoreSupport -I..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x -I..\..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\..\User\bsp -I..\..\User\fatfs -I..\..\User -IC:\Keil\ARM\INC -IC:\Keil\ARM\INC\ST\STM32F10x -D__MICROLIB -DSTM32F10X_HD -DUSE_STDPERIPH_DRIVER ..\..\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c]
                          THUMB

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

                  SDIO_CEATAITCmd PROC
;;;613      */
;;;614    void SDIO_CEATAITCmd(FunctionalState NewState)
000000  2101              MOVS     r1,#1
;;;615    { 
;;;616      /* Check the parameters */
;;;617      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;618      
;;;619      *(__IO uint32_t *) CMD_NIEN_BB = (uint32_t)((~((uint32_t)NewState)) & ((uint32_t)0x1));
000002  4381              BICS     r1,r1,r0
000004  4a01              LDR      r2,|L1.12|
000006  6011              STR      r1,[r2,#0]
;;;620    }
000008  4770              BX       lr
;;;621    
                          ENDP

00000a  0000              DCW      0x0000
                  |L1.12|
                          DCD      0x423001b4

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

                  SDIO_ClearFlag PROC
;;;703      */
;;;704    void SDIO_ClearFlag(uint32_t SDIO_FLAG)
000000  4901              LDR      r1,|L2.8|
;;;705    { 
;;;706      /* Check the parameters */
;;;707      assert_param(IS_SDIO_CLEAR_FLAG(SDIO_FLAG));
;;;708       
;;;709      SDIO->ICR = SDIO_FLAG;
000002  6388              STR      r0,[r1,#0x38]
;;;710    }
000004  4770              BX       lr
;;;711    
                          ENDP

000006  0000              DCW      0x0000
                  |L2.8|
                          DCD      0x40018000

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

                  SDIO_ClearITPendingBit PROC
;;;778      */
;;;779    void SDIO_ClearITPendingBit(uint32_t SDIO_IT)
000000  4901              LDR      r1,|L3.8|
;;;780    { 
;;;781      /* Check the parameters */
;;;782      assert_param(IS_SDIO_CLEAR_IT(SDIO_IT));
;;;783       
;;;784      SDIO->ICR = SDIO_IT;
000002  6388              STR      r0,[r1,#0x38]
;;;785    }
000004  4770              BX       lr
;;;786    
                          ENDP

000006  0000              DCW      0x0000
                  |L3.8|
                          DCD      0x40018000

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

                  SDIO_ClockCmd PROC
;;;234      */
;;;235    void SDIO_ClockCmd(FunctionalState NewState)
000000  4901              LDR      r1,|L4.8|
;;;236    {
;;;237      /* Check the parameters */
;;;238      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;239      
;;;240      *(__IO uint32_t *) CLKCR_CLKEN_BB = (uint32_t)NewState;
000002  6008              STR      r0,[r1,#0]
;;;241    }
000004  4770              BX       lr
;;;242    
                          ENDP

000006  0000              DCW      0x0000
                  |L4.8|
                          DCD      0x423000a0

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

                  SDIO_CmdStructInit PROC
;;;381      */
;;;382    void SDIO_CmdStructInit(SDIO_CmdInitTypeDef* SDIO_CmdInitStruct)
000000  2100              MOVS     r1,#0
;;;383    {
;;;384      /* SDIO_CmdInitStruct members default value */
;;;385      SDIO_CmdInitStruct->SDIO_Argument = 0x00;
000002  6001              STR      r1,[r0,#0]
;;;386      SDIO_CmdInitStruct->SDIO_CmdIndex = 0x00;
000004  6041              STR      r1,[r0,#4]
;;;387      SDIO_CmdInitStruct->SDIO_Response = SDIO_Response_No;
000006  6081              STR      r1,[r0,#8]
;;;388      SDIO_CmdInitStruct->SDIO_Wait = SDIO_Wait_No;
000008  60c1              STR      r1,[r0,#0xc]
;;;389      SDIO_CmdInitStruct->SDIO_CPSM = SDIO_CPSM_Disable;
00000a  6101              STR      r1,[r0,#0x10]
;;;390    }
00000c  4770              BX       lr
;;;391    
                          ENDP


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

                  SDIO_CommandCompletionCmd PROC
;;;600      */
;;;601    void SDIO_CommandCompletionCmd(FunctionalState NewState)
000000  4901              LDR      r1,|L6.8|
;;;602    { 
;;;603      /* Check the parameters */
;;;604      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;605      
;;;606      *(__IO uint32_t *) CMD_ENCMDCOMPL_BB = (uint32_t)NewState;
000002  6008              STR      r0,[r1,#0]
;;;607    }
000004  4770              BX       lr
;;;608    
                          ENDP

000006  0000              DCW      0x0000
                  |L6.8|
                          DCD      0x423001b0

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

                  SDIO_DMACmd PROC
;;;330      */
;;;331    void SDIO_DMACmd(FunctionalState NewState)
000000  4901              LDR      r1,|L7.8|
;;;332    {
;;;333      /* Check the parameters */
;;;334      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;335      
;;;336      *(__IO uint32_t *) DCTRL_DMAEN_BB = (uint32_t)NewState;
000002  6008              STR      r0,[r1,#0]
;;;337    }
000004  4770              BX       lr
;;;338    
                          ENDP

000006  0000              DCW      0x0000
                  |L7.8|
                          DCD      0x4230058c

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

                  SDIO_DataConfig PROC
;;;430      */
;;;431    void SDIO_DataConfig(SDIO_DataInitTypeDef* SDIO_DataInitStruct)
000000  2100              MOVS     r1,#0
;;;432    {
;;;433      uint32_t tmpreg = 0;
;;;434      
;;;435      /* Check the parameters */
;;;436      assert_param(IS_SDIO_DATA_LENGTH(SDIO_DataInitStruct->SDIO_DataLength));
;;;437      assert_param(IS_SDIO_BLOCK_SIZE(SDIO_DataInitStruct->SDIO_DataBlockSize));
;;;438      assert_param(IS_SDIO_TRANSFER_DIR(SDIO_DataInitStruct->SDIO_TransferDir));
;;;439      assert_param(IS_SDIO_TRANSFER_MODE(SDIO_DataInitStruct->SDIO_TransferMode));
;;;440      assert_param(IS_SDIO_DPSM(SDIO_DataInitStruct->SDIO_DPSM));
;;;441    
;;;442    /*---------------------------- SDIO DTIMER Configuration ---------------------*/
;;;443      /* Set the SDIO Data TimeOut value */
;;;444      SDIO->DTIMER = SDIO_DataInitStruct->SDIO_DataTimeOut;
000002  4b0a              LDR      r3,|L8.44|
000004  6802              LDR      r2,[r0,#0]
000006  625a              STR      r2,[r3,#0x24]
;;;445    
;;;446    /*---------------------------- SDIO DLEN Configuration -----------------------*/
;;;447      /* Set the SDIO DataLength value */
;;;448      SDIO->DLEN = SDIO_DataInitStruct->SDIO_DataLength;
000008  6842              LDR      r2,[r0,#4]
00000a  629a              STR      r2,[r3,#0x28]
;;;449    
;;;450    /*---------------------------- SDIO DCTRL Configuration ----------------------*/  
;;;451      /* Get the SDIO DCTRL value */
;;;452      tmpreg = SDIO->DCTRL;
00000c  461a              MOV      r2,r3
00000e  6ad1              LDR      r1,[r2,#0x2c]
;;;453      /* Clear DEN, DTMODE, DTDIR and DBCKSIZE bits */
;;;454      tmpreg &= DCTRL_CLEAR_MASK;
000010  f02101f7          BIC      r1,r1,#0xf7
;;;455      /* Set DEN bit according to SDIO_DPSM value */
;;;456      /* Set DTMODE bit according to SDIO_TransferMode value */
;;;457      /* Set DTDIR bit according to SDIO_TransferDir value */
;;;458      /* Set DBCKSIZE bits according to SDIO_DataBlockSize value */
;;;459      tmpreg |= (uint32_t)SDIO_DataInitStruct->SDIO_DataBlockSize | SDIO_DataInitStruct->SDIO_TransferDir
000014  e9d02302          LDRD     r2,r3,[r0,#8]
000018  431a              ORRS     r2,r2,r3
00001a  6903              LDR      r3,[r0,#0x10]
00001c  431a              ORRS     r2,r2,r3
00001e  6943              LDR      r3,[r0,#0x14]
000020  431a              ORRS     r2,r2,r3
000022  4311              ORRS     r1,r1,r2
;;;460               | SDIO_DataInitStruct->SDIO_TransferMode | SDIO_DataInitStruct->SDIO_DPSM;
;;;461    
;;;462      /* Write to SDIO DCTRL */
;;;463      SDIO->DCTRL = tmpreg;
000024  4a01              LDR      r2,|L8.44|
000026  62d1              STR      r1,[r2,#0x2c]
;;;464    }
000028  4770              BX       lr
;;;465    
                          ENDP

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

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

                  SDIO_DataStructInit PROC
;;;471      */
;;;472    void SDIO_DataStructInit(SDIO_DataInitTypeDef* SDIO_DataInitStruct)
000000  f04f31ff          MOV      r1,#0xffffffff
;;;473    {
;;;474      /* SDIO_DataInitStruct members default value */
;;;475      SDIO_DataInitStruct->SDIO_DataTimeOut = 0xFFFFFFFF;
000004  6001              STR      r1,[r0,#0]
;;;476      SDIO_DataInitStruct->SDIO_DataLength = 0x00;
000006  2100              MOVS     r1,#0
000008  6041              STR      r1,[r0,#4]
;;;477      SDIO_DataInitStruct->SDIO_DataBlockSize = SDIO_DataBlockSize_1b;
00000a  6081              STR      r1,[r0,#8]
;;;478      SDIO_DataInitStruct->SDIO_TransferDir = SDIO_TransferDir_ToCard;
00000c  60c1              STR      r1,[r0,#0xc]
;;;479      SDIO_DataInitStruct->SDIO_TransferMode = SDIO_TransferMode_Block;  
00000e  6101              STR      r1,[r0,#0x10]
;;;480      SDIO_DataInitStruct->SDIO_DPSM = SDIO_DPSM_Disable;
000010  6141              STR      r1,[r0,#0x14]
;;;481    }
000012  4770              BX       lr
;;;482    
                          ENDP


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

                  SDIO_DeInit PROC
;;;160      */
;;;161    void SDIO_DeInit(void)
000000  2000              MOVS     r0,#0
;;;162    {
;;;163      SDIO->POWER = 0x00000000;
000002  4906              LDR      r1,|L10.28|
000004  6008              STR      r0,[r1,#0]
;;;164      SDIO->CLKCR = 0x00000000;
000006  6048              STR      r0,[r1,#4]
;;;165      SDIO->ARG = 0x00000000;
000008  6088              STR      r0,[r1,#8]
;;;166      SDIO->CMD = 0x00000000;
00000a  60c8              STR      r0,[r1,#0xc]
;;;167      SDIO->DTIMER = 0x00000000;
00000c  6248              STR      r0,[r1,#0x24]
;;;168      SDIO->DLEN = 0x00000000;
00000e  6288              STR      r0,[r1,#0x28]
;;;169      SDIO->DCTRL = 0x00000000;
000010  62c8              STR      r0,[r1,#0x2c]
;;;170      SDIO->ICR = 0x00C007FF;
000012  4803              LDR      r0,|L10.32|
000014  6388              STR      r0,[r1,#0x38]
;;;171      SDIO->MASK = 0x00000000;
000016  2000              MOVS     r0,#0
000018  63c8              STR      r0,[r1,#0x3c]
;;;172    }
00001a  4770              BX       lr
;;;173    
                          ENDP

                  |L10.28|

⌨️ 快捷键说明

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