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

📄 stm32f10x_sdio.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 3 页
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\stm32f10x_sdio.o --depend=.\Obj\stm32f10x_sdio.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\..\FWLib\library\src\stm32f10x_sdio.c]
                          THUMB

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

                  SDIO_CEATAITCmd PROC
;;;619    *******************************************************************************/
;;;620    void SDIO_CEATAITCmd(FunctionalState NewState)
000000  2101              MOVS     r1,#1
;;;621    { 
;;;622      /* Check the parameters */
;;;623      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;624      
;;;625      *(vu32 *) CMD_NIEN_BB = (u32)((~((u32)NewState)) & ((u32)0x1));
000002  4381              BICS     r1,r1,r0
000004  4801              LDR      r0,|L1.12|
000006  6001              STR      r1,[r0,#0]
;;;626    }
000008  4770              BX       lr
;;;627    
                          ENDP

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

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

                  SDIO_ClearFlag PROC
;;;729    *******************************************************************************/
;;;730    void SDIO_ClearFlag(u32 SDIO_FLAG)
000000  4901              LDR      r1,|L2.8|
;;;731    { 
;;;732      /* Check the parameters */
;;;733      assert_param(IS_SDIO_CLEAR_FLAG(SDIO_FLAG));
;;;734       
;;;735      SDIO->ICR = SDIO_FLAG;
000002  6388              STR      r0,[r1,#0x38]
;;;736    }
000004  4770              BX       lr
;;;737    
                          ENDP

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

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

                  SDIO_ClearITPendingBit PROC
;;;823    *******************************************************************************/
;;;824    void SDIO_ClearITPendingBit(u32 SDIO_IT)
000000  4901              LDR      r1,|L3.8|
;;;825    { 
;;;826      /* Check the parameters */
;;;827      assert_param(IS_SDIO_CLEAR_IT(SDIO_IT));
;;;828       
;;;829      SDIO->ICR = SDIO_IT;
000002  6388              STR      r0,[r1,#0x38]
;;;830    }
000004  4770              BX       lr
;;;831    
                          ENDP

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

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

                  SDIO_ClockCmd PROC
;;;186    *******************************************************************************/
;;;187    void SDIO_ClockCmd(FunctionalState NewState)
000000  4901              LDR      r1,|L4.8|
;;;188    {
;;;189      /* Check the parameters */
;;;190      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;191      
;;;192      *(vu32 *) CLKCR_CLKEN_BB = (u32)NewState;
000002  6008              STR      r0,[r1,#0]
;;;193    }
000004  4770              BX       lr
;;;194    
                          ENDP

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

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

                  SDIO_CmdStructInit PROC
;;;356    *******************************************************************************/
;;;357    void SDIO_CmdStructInit(SDIO_CmdInitTypeDef* SDIO_CmdInitStruct)
000000  2100              MOVS     r1,#0
;;;358    {
;;;359      /* SDIO_CmdInitStruct members default value */
;;;360      SDIO_CmdInitStruct->SDIO_Argument = 0x00;
;;;361      SDIO_CmdInitStruct->SDIO_CmdIndex = 0x00;
000002  6001              STR      r1,[r0,#0]
;;;362      SDIO_CmdInitStruct->SDIO_Response = SDIO_Response_No;
000004  6041              STR      r1,[r0,#4]
;;;363      SDIO_CmdInitStruct->SDIO_Wait = SDIO_Wait_No;
000006  6081              STR      r1,[r0,#8]
;;;364      SDIO_CmdInitStruct->SDIO_CPSM = SDIO_CPSM_Disable;
000008  60c1              STR      r1,[r0,#0xc]
;;;365    }
00000a  6101              STR      r1,[r0,#0x10]
00000c  4770              BX       lr
;;;366    
                          ENDP


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

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

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

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

                  SDIO_DMACmd PROC
;;;299    *******************************************************************************/
;;;300    void SDIO_DMACmd(FunctionalState NewState)
000000  4901              LDR      r1,|L7.8|
;;;301    {
;;;302      /* Check the parameters */
;;;303      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;304      
;;;305      *(vu32 *) DCTRL_DMAEN_BB = (u32)NewState;
000002  6008              STR      r0,[r1,#0]
;;;306    }
000004  4770              BX       lr
;;;307    
                          ENDP

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

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

                  SDIO_DataConfig PROC
;;;409    *******************************************************************************/
;;;410    void SDIO_DataConfig(SDIO_DataInitTypeDef* SDIO_DataInitStruct)
000000  b530              PUSH     {r4,r5,lr}
;;;411    {
;;;412      u32 tmpreg = 0;
;;;413      
;;;414      /* Check the parameters */
;;;415      assert_param(IS_SDIO_DATA_LENGTH(SDIO_DataInitStruct->SDIO_DataLength));
;;;416      assert_param(IS_SDIO_BLOCK_SIZE(SDIO_DataInitStruct->SDIO_DataBlockSize));
;;;417      assert_param(IS_SDIO_TRANSFER_DIR(SDIO_DataInitStruct->SDIO_TransferDir));
;;;418      assert_param(IS_SDIO_TRANSFER_MODE(SDIO_DataInitStruct->SDIO_TransferMode));
;;;419      assert_param(IS_SDIO_DPSM(SDIO_DataInitStruct->SDIO_DPSM));
;;;420    
;;;421    /*---------------------------- SDIO DTIMER Configuration ---------------------*/
;;;422      /* Set the SDIO Data TimeOut value */
;;;423      SDIO->DTIMER = SDIO_DataInitStruct->SDIO_DataTimeOut;
000002  4909              LDR      r1,|L8.40|
000004  6802              LDR      r2,[r0,#0]
000006  624a              STR      r2,[r1,#0x24]
;;;424        
;;;425    /*---------------------------- SDIO DLEN Configuration -----------------------*/
;;;426      /* Set the SDIO DataLength value */
;;;427      SDIO->DLEN = SDIO_DataInitStruct->SDIO_DataLength;
000008  6842              LDR      r2,[r0,#4]
00000a  628a              STR      r2,[r1,#0x28]
;;;428      
;;;429    /*---------------------------- SDIO DCTRL Configuration ----------------------*/  
;;;430      /* Get the SDIO DCTRL value */
;;;431      tmpreg = SDIO->DCTRL;
00000c  6aca              LDR      r2,[r1,#0x2c]
;;;432    
;;;433      /* Clear DEN, DTMODE, DTDIR and DBCKSIZE bits */
;;;434      tmpreg &= DCTRL_CLEAR_MASK;
;;;435      /* Set DEN bit according to SDIO_DPSM value */
;;;436      /* Set DTMODE bit according to SDIO_TransferMode value */
;;;437      /* Set DTDIR bit according to SDIO_TransferDir value */
;;;438      /* Set DBCKSIZE bits according to SDIO_DataBlockSize value */
;;;439      tmpreg |= (u32)SDIO_DataInitStruct->SDIO_DataBlockSize | SDIO_DataInitStruct->SDIO_TransferDir
00000e  e9d05403          LDRD     r5,r4,[r0,#0xc]
000012  6883              LDR      r3,[r0,#8]
000014  6940              LDR      r0,[r0,#0x14]
000016  432b              ORRS     r3,r3,r5
000018  4304              ORRS     r4,r4,r0
00001a  f02202f7          BIC      r2,r2,#0xf7           ;434
00001e  4323              ORRS     r3,r3,r4
000020  4313              ORRS     r3,r3,r2
;;;440               | SDIO_DataInitStruct->SDIO_TransferMode | SDIO_DataInitStruct->SDIO_DPSM;
;;;441      
;;;442      /* Write to SDIO DCTRL */
;;;443      SDIO->DCTRL = tmpreg;
000022  62cb              STR      r3,[r1,#0x2c]
;;;444    }
000024  bd30              POP      {r4,r5,pc}
;;;445    
                          ENDP

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

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

                  SDIO_DataStructInit PROC
;;;453    *******************************************************************************/
;;;454    void SDIO_DataStructInit(SDIO_DataInitTypeDef* SDIO_DataInitStruct)
000000  f04f31ff          MOV      r1,#0xffffffff
;;;455    {
;;;456      /* SDIO_DataInitStruct members default value */
;;;457      SDIO_DataInitStruct->SDIO_DataTimeOut = 0xFFFFFFFF;
;;;458      SDIO_DataInitStruct->SDIO_DataLength = 0x00;
000004  6001              STR      r1,[r0,#0]
000006  2100              MOVS     r1,#0
;;;459      SDIO_DataInitStruct->SDIO_DataBlockSize = SDIO_DataBlockSize_1b;
000008  6041              STR      r1,[r0,#4]
;;;460      SDIO_DataInitStruct->SDIO_TransferDir = SDIO_TransferDir_ToCard;
00000a  6081              STR      r1,[r0,#8]
;;;461      SDIO_DataInitStruct->SDIO_TransferMode = SDIO_TransferMode_Block;  
00000c  60c1              STR      r1,[r0,#0xc]
;;;462      SDIO_DataInitStruct->SDIO_DPSM = SDIO_DPSM_Disable;
00000e  6101              STR      r1,[r0,#0x10]
;;;463    }
000010  6141              STR      r1,[r0,#0x14]
000012  4770              BX       lr
;;;464    
                          ENDP


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

                  SDIO_DeInit PROC
;;;104    *******************************************************************************/
;;;105    void SDIO_DeInit(void)
000000  4806              LDR      r0,|L10.28|
;;;106    {
;;;107      SDIO->POWER = 0x00000000;
000002  2100              MOVS     r1,#0
000004  6001              STR      r1,[r0,#0]
;;;108      SDIO->CLKCR = 0x00000000;
000006  6041              STR      r1,[r0,#4]
;;;109      SDIO->ARG = 0x00000000;
000008  6081              STR      r1,[r0,#8]
;;;110      SDIO->CMD = 0x00000000;
00000a  60c1              STR      r1,[r0,#0xc]
;;;111      SDIO->DTIMER = 0x00000000;
00000c  6241              STR      r1,[r0,#0x24]
;;;112      SDIO->DLEN = 0x00000000;
00000e  6281              STR      r1,[r0,#0x28]
;;;113      SDIO->DCTRL = 0x00000000;
000010  62c1              STR      r1,[r0,#0x2c]
;;;114      SDIO->ICR = 0x00C007FF;
000012  4a03              LDR      r2,|L10.32|
000014  6382              STR      r2,[r0,#0x38]
;;;115      SDIO->MASK = 0x00000000;
000016  63c1              STR      r1,[r0,#0x3c]

⌨️ 快捷键说明

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