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

📄 stm32f10x_sdio.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART     26/Dec/2008  18:22:07 #
# Copyright 1999-2005 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Cpu mode        =  thumb                                                #
#    Endian          =  little                                               #
#    Stack alignment =  4                                                    #
#    Source file     =  F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_s #
#                       dio.c                                                #
#    Command line    =  F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_s #
#                       dio.c -lCN F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM #
#                       3210E-EVAL\IAR\OS-Probe\Flash\List\ -o               #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\Obj\ -z6 --no_unroll --no_inline  #
#                       --no_tbaa --no_scheduling --debug --cpu_mode thumb   #
#                       --endian little --cpu cortex-M3 --stack_align 4 -e   #
#                       --fpu None --dlib_config "E:\Program Files\IAR       #
#                       Systems\Embedded Workbench 4.0                       #
#                       Kickstart\arm\LIB\dl7mptnnl8n.h" -I                  #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ #
#                       ST\STM3210E-EVAL\IAR\OS-Probe\..\BSP\ -I             #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\CPU\ST\STM32\inc\ -I     #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-CPU\ -I               #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-CPU\ARM-Cortex-M3\IAR #
#                       \ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E- #
#                       EVAL\IAR\OS-Probe\..\..\..\..\..\uC-LCD\Source\ -I   #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-LIB\ -I               #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uCOS-II\Ports\ARM-Cortex #
#                       -M3\Generic\IAR\ -I F:\PROJECT\STM32_UCOSII\EvalBoar #
#                       ds\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uCOS #
#                       -II\Source\ -I F:\PROJECT\STM32_UCOSII\EvalBoards\ST #
#                       \STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\..\uC-Probe\ #
#                       Target\Communication\Generic\RS-232\Source\ -I       #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
#                       ation\Generic\RS-232\Ports\ST\STM32\ -I              #
#                       F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\..\..\..\..\..\uC-Probe\Target\Communic #
#                       ation\Generic\Source\ -I F:\PROJECT\STM32_UCOSII\Eva #
#                       lBoards\ST\STM3210E-EVAL\IAR\OS-Probe\..\..\..\..\.. #
#                       \uC-Probe\Target\Plugins\uCOS-II\ -I "E:\Program     #
#                       Files\IAR Systems\Embedded Workbench 4.0             #
#                       Kickstart\arm\INC\"                                  #
#    List file       =  F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\List\stm32f10x_sdio.lst           #
#    Object file     =  F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\Obj\stm32f10x_sdio.r79            #
#                                                                            #
#                                                                            #
##############################################################################

F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_sdio.c
      1          /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
      2          * File Name          : stm32f10x_sdio.c
      3          * Author             : MCD Application Team
      4          * Version            : V2.0
      5          * Date               : 05/23/2008
      6          * Description        : This file provides all the SDIO firmware functions.
      7          ********************************************************************************
      8          * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
      9          * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
     10          * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
     11          * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
     12          * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
     13          * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
     14          * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE LOCATED 
     15          * IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.
     16          *******************************************************************************/
     17          
     18          /* Includes ------------------------------------------------------------------*/
     19          #include "stm32f10x_sdio.h"
     20          #include "stm32f10x_rcc.h"
     21          
     22          /* Private typedef -----------------------------------------------------------*/
     23          /* ------------ SDIO registers bit address in the alias region ----------- */
     24          #define SDIO_OFFSET                (SDIO_BASE - PERIPH_BASE)
     25          
     26          /* --- CLKCR Register ---*/
     27          /* Alias word address of CLKEN bit */
     28          #define CLKCR_OFFSET              (SDIO_OFFSET + 0x04)
     29          #define CLKEN_BitNumber           0x08
     30          #define CLKCR_CLKEN_BB            (PERIPH_BB_BASE + (CLKCR_OFFSET * 32) + (CLKEN_BitNumber * 4))
     31          
     32          /* --- CMD Register ---*/
     33          /* Alias word address of SDIOSUSPEND bit */
     34          #define CMD_OFFSET                (SDIO_OFFSET + 0x0C)
     35          #define SDIOSUSPEND_BitNumber     0x0B
     36          #define CMD_SDIOSUSPEND_BB        (PERIPH_BB_BASE + (CMD_OFFSET * 32) + (SDIOSUSPEND_BitNumber * 4))
     37          
     38          /* Alias word address of ENCMDCOMPL bit */
     39          #define ENCMDCOMPL_BitNumber      0x0C
     40          #define CMD_ENCMDCOMPL_BB         (PERIPH_BB_BASE + (CMD_OFFSET * 32) + (ENCMDCOMPL_BitNumber * 4))
     41          
     42          /* Alias word address of NIEN bit */
     43          #define NIEN_BitNumber            0x0D
     44          #define CMD_NIEN_BB               (PERIPH_BB_BASE + (CMD_OFFSET * 32) + (NIEN_BitNumber * 4))
     45          
     46          /* Alias word address of ATACMD bit */
     47          #define ATACMD_BitNumber          0x0E
     48          #define CMD_ATACMD_BB             (PERIPH_BB_BASE + (CMD_OFFSET * 32) + (ATACMD_BitNumber * 4))
     49          
     50          /* --- DCTRL Register ---*/
     51          /* Alias word address of DMAEN bit */
     52          #define DCTRL_OFFSET              (SDIO_OFFSET + 0x2C)
     53          #define DMAEN_BitNumber           0x03
     54          #define DCTRL_DMAEN_BB            (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (DMAEN_BitNumber * 4))
     55          
     56          /* Alias word address of RWSTART bit */
     57          #define RWSTART_BitNumber         0x08
     58          #define DCTRL_RWSTART_BB          (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (RWSTART_BitNumber * 4))
     59          
     60          /* Alias word address of RWSTOP bit */
     61          #define RWSTOP_BitNumber          0x09
     62          #define DCTRL_RWSTOP_BB           (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (RWSTOP_BitNumber * 4))
     63          
     64          /* Alias word address of RWMOD bit */
     65          #define RWMOD_BitNumber           0x0A
     66          #define DCTRL_RWMOD_BB            (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (RWMOD_BitNumber * 4))
     67          
     68          /* Alias word address of SDIOEN bit */
     69          #define SDIOEN_BitNumber          0x0B
     70          #define DCTRL_SDIOEN_BB           (PERIPH_BB_BASE + (DCTRL_OFFSET * 32) + (SDIOEN_BitNumber * 4))
     71          
     72          
     73          /* ---------------------- SDIO registers bit mask ------------------------ */
     74          /* --- CLKCR Register ---*/
     75          /* CLKCR register clear mask */
     76          #define CLKCR_CLEAR_MASK         ((u32)0xFFFF8100) 
     77          
     78          /* --- PWRCTRL Register ---*/
     79          /* SDIO PWRCTRL Mask */
     80          #define PWR_PWRCTRL_MASK         ((u32)0xFFFFFFFC)
     81          
     82          /* --- DCTRL Register ---*/
     83          /* SDIO DCTRL Clear Mask */
     84          #define DCTRL_CLEAR_MASK         ((u32)0xFFFFFF08)
     85          
     86          /* --- CMD Register ---*/
     87          /* CMD Register clear mask */
     88          #define CMD_CLEAR_MASK           ((u32)0xFFFFF800)
     89          
     90          /* SDIO RESP Registers Address */
     91          #define SDIO_RESP_ADDR           ((u32)(SDIO_BASE + 0x14))
     92          
     93          /* Private define ------------------------------------------------------------*/
     94          /* Private macro -------------------------------------------------------------*/
     95          /* Private variables ---------------------------------------------------------*/
     96          /* Private function prototypes -----------------------------------------------*/
     97          /* Private functions ---------------------------------------------------------*/
     98          
     99          /*******************************************************************************
    100          * Function Name  : SDIO_DeInit
    101          * Description    : Deinitializes the SDIO peripheral registers to their default
    102          *                  reset values.
    103          * Input          : None
    104          * Output         : None
    105          * Return         : None
    106          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    107          void SDIO_DeInit(void)
    108          {
    109            SDIO->POWER = 0x00000000;
   \                     SDIO_DeInit:
   \   00000000   0020               MOVS     R0,#+0
   \   00000002   ....               LDR.N    R1,??DataTable2  ;; 0x40018000
   \   00000004   0860               STR      R0,[R1, #+0]
    110            SDIO->CLKCR = 0x00000000;
   \   00000006   091D               ADDS     R1,R1,#+4
   \   00000008   0860               STR      R0,[R1, #+0]
    111            SDIO->ARG = 0x00000000;
   \   0000000A   091D               ADDS     R1,R1,#+4
   \   0000000C   0860               STR      R0,[R1, #+0]
    112            SDIO->CMD = 0x00000000;
   \   0000000E   091D               ADDS     R1,R1,#+4
   \   00000010   0860               STR      R0,[R1, #+0]
    113            SDIO->DTIMER = 0x00000000;
   \   00000012   1831               ADDS     R1,R1,#+24
   \   00000014   0860               STR      R0,[R1, #+0]
    114            SDIO->DLEN = 0x00000000;
   \   00000016   091D               ADDS     R1,R1,#+4
   \   00000018   0860               STR      R0,[R1, #+0]
    115            SDIO->DCTRL = 0x00000000;
   \   0000001A   091D               ADDS     R1,R1,#+4
   \   0000001C   0860               STR      R0,[R1, #+0]
    116            SDIO->ICR = 0x00C007FF;
   \   0000001E   0C31               ADDS     R1,R1,#+12
   \   00000020   024A               LDR.N    R2,??SDIO_DeInit_0  ;; 0xc007ff
   \   00000022   0A60               STR      R2,[R1, #+0]
    117            SDIO->MASK = 0x00000000;
   \   00000024   091D               ADDS     R1,R1,#+4
   \   00000026   0860               STR      R0,[R1, #+0]
    118          }
   \   00000028   7047               BX       LR               ;; return
   \   0000002A   00BF               Nop      
   \                     ??SDIO_DeInit_0:
   \   0000002C   FF07C000           DC32     0xc007ff
    119          
    120          /*******************************************************************************
    121          * Function Name  : SDIO_Init
    122          * Description    : Initializes the SDIO peripheral according to the specified 
    123          *                  parameters in the SDIO_InitStruct.
    124          * Input          : SDIO_InitStruct : pointer to a SDIO_InitTypeDef structure 
    125          *                  that contains the configuration information for the SDIO 
    126          *                  peripheral.

⌨️ 快捷键说明

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