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

📄 stm32f10x_pwr.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# 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_p #
#                       wr.c                                                 #
#    Command line    =  F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_p #
#                       wr.c -lCN F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3 #
#                       210E-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_pwr.lst            #
#    Object file     =  F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\Obj\stm32f10x_pwr.r79             #
#                                                                            #
#                                                                            #
##############################################################################

F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_pwr.c
      1          /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
      2          * File Name          : stm32f10x_pwr.c
      3          * Author             : MCD Application Team
      4          * Version            : V2.0
      5          * Date               : 05/23/2008
      6          * Description        : This file provides all the PWR 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_pwr.h"
     20          #include "stm32f10x_rcc.h"
     21          
     22          /* Private typedef -----------------------------------------------------------*/
     23          /* Private define ------------------------------------------------------------*/
     24          /* --------- PWR registers bit address in the alias region ---------- */
     25          #define PWR_OFFSET               (PWR_BASE - PERIPH_BASE)
     26          
     27          /* --- CR Register ---*/
     28          /* Alias word address of DBP bit */
     29          #define CR_OFFSET                (PWR_OFFSET + 0x00)
     30          #define DBP_BitNumber            0x08
     31          #define CR_DBP_BB                (PERIPH_BB_BASE + (CR_OFFSET * 32) + (DBP_BitNumber * 4))
     32          
     33          /* Alias word address of PVDE bit */
     34          #define PVDE_BitNumber           0x04
     35          #define CR_PVDE_BB               (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PVDE_BitNumber * 4))
     36          
     37          /* --- CSR Register ---*/
     38          /* Alias word address of EWUP bit */
     39          #define CSR_OFFSET               (PWR_OFFSET + 0x04)
     40          #define EWUP_BitNumber           0x08
     41          #define CSR_EWUP_BB              (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (EWUP_BitNumber * 4))
     42          
     43          /* ------------------ PWR registers bit mask ------------------------ */
     44          /* CR register bit mask */
     45          #define CR_PDDS_Set              ((u32)0x00000002)
     46          #define CR_DS_Mask               ((u32)0xFFFFFFFC)
     47          #define CR_CWUF_Set              ((u32)0x00000004)
     48          #define CR_PLS_Mask              ((u32)0xFFFFFF1F)
     49          
     50          /* --------- Cortex System Control register bit mask ---------------- */
     51          /* Cortex System Control register address */
     52          #define SCB_SysCtrl              ((u32)0xE000ED10)
     53          /* SLEEPDEEP bit mask */
     54          #define SysCtrl_SLEEPDEEP_Set    ((u32)0x00000004)
     55          
     56          /* Private macro -------------------------------------------------------------*/
     57          /* Private variables ---------------------------------------------------------*/
     58          /* Private function prototypes -----------------------------------------------*/
     59          /* Private functions ---------------------------------------------------------*/
     60          
     61          /*******************************************************************************
     62          * Function Name  : PWR_DeInit
     63          * Description    : Deinitializes the PWR peripheral registers to their default
     64          *                  reset values.
     65          * Input          : None
     66          * Output         : None
     67          * Return         : None
     68          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     69          void PWR_DeInit(void)
     70          {
   \                     PWR_DeInit:
   \   00000000   00B5               PUSH     {LR}
     71            RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR, ENABLE);
   \   00000002   0121               MOVS     R1,#+1
   \   00000004   0807               LSLS     R0,R1,#+28
   \   00000006   ........           _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
     72            RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR, DISABLE);
   \   0000000A   0021               MOVS     R1,#+0
   \   0000000C   5FF08050           MOVS     R0,#+268435456
   \   00000010   ........           _BLF     RCC_APB1PeriphResetCmd,??RCC_APB1PeriphResetCmd??rT
     73          }
   \   00000014   00BD               POP      {PC}             ;; return
     74          
     75          /*******************************************************************************
     76          * Function Name  : PWR_BackupAccessCmd
     77          * Description    : Enables or disables access to the RTC and backup registers.
     78          * Input          : - NewState: new state of the access to the RTC and backup
     79          *                    registers. This parameter can be: ENABLE or DISABLE.
     80          * Output         : None
     81          * Return         : None
     82          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     83          void PWR_BackupAccessCmd(FunctionalState NewState)
     84          {
     85            /* Check the parameters */
     86            assert_param(IS_FUNCTIONAL_STATE(NewState));
     87          
     88            *(vu32 *) CR_DBP_BB = (u32)NewState;
   \                     PWR_BackupAccessCmd:
   \   00000000   0149               LDR.N    R1,??PWR_BackupAccessCmd_0  ;; 0x420e0020
   \   00000002   0860               STR      R0,[R1, #+0]
     89          }
   \   00000004   7047               BX       LR               ;; return
   \   00000006   00BF               Nop      
   \                     ??PWR_BackupAccessCmd_0:
   \   00000008   20000E42           DC32     0x420e0020
     90          
     91          /*******************************************************************************
     92          * Function Name  : PWR_PVDCmd
     93          * Description    : Enables or disables the Power Voltage Detector(PVD).
     94          * Input          : - NewState: new state of the PVD.
     95          *                    This parameter can be: ENABLE or DISABLE.
     96          * Output         : None
     97          * Return         : None
     98          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     99          void PWR_PVDCmd(FunctionalState NewState)
    100          {
    101            /* Check the parameters */
    102            assert_param(IS_FUNCTIONAL_STATE(NewState));
    103          
    104            *(vu32 *) CR_PVDE_BB = (u32)NewState;
   \                     PWR_PVDCmd:
   \   00000000   0149               LDR.N    R1,??PWR_PVDCmd_0  ;; 0x420e0010
   \   00000002   0860               STR      R0,[R1, #+0]
    105          }
   \   00000004   7047               BX       LR               ;; return
   \   00000006   00BF               Nop      
   \                     ??PWR_PVDCmd_0:
   \   00000008   10000E42           DC32     0x420e0010
    106          
    107          /*******************************************************************************
    108          * Function Name  : PWR_PVDLevelConfig
    109          * Description    : Configures the voltage threshold detected by the Power Voltage
    110          *                  Detector(PVD).
    111          * Input          : - PWR_PVDLevel: specifies the PVD detection level
    112          *                    This parameter can be one of the following values:
    113          *                       - PWR_PVDLevel_2V2: PVD detection level set to 2.2V
    114          *                       - PWR_PVDLevel_2V3: PVD detection level set to 2.3V
    115          *                       - PWR_PVDLevel_2V4: PVD detection level set to 2.4V
    116          *                       - PWR_PVDLevel_2V5: PVD detection level set to 2.5V
    117          *                       - PWR_PVDLevel_2V6: PVD detection level set to 2.6V
    118          *                       - PWR_PVDLevel_2V7: PVD detection level set to 2.7V
    119          *                       - PWR_PVDLevel_2V8: PVD detection level set to 2.8V
    120          *                       - PWR_PVDLevel_2V9: PVD detection level set to 2.9V
    121          * Output         : None
    122          * Return         : None
    123          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
    124          void PWR_PVDLevelConfig(u32 PWR_PVDLevel)
    125          {
    126            u32 tmpreg = 0;
    127          
    128            /* Check the parameters */
    129            assert_param(IS_PWR_PVD_LEVEL(PWR_PVDLevel));
    130          
    131            tmpreg = PWR->CR;
   \                     PWR_PVDLevelConfig:
   \   00000000   ....               LDR.N    R1,??DataTable5  ;; 0x40007000
   \   00000002   0A68               LDR      R2,[R1, #+0]
    132          
    133            /* Clear PLS[7:5] bits */
    134            tmpreg &= CR_PLS_Mask;
    135          
    136            /* Set PLS[7:5] bits according to PWR_PVDLevel value */
    137            tmpreg |= PWR_PVDLevel;
    138          
    139            /* Store the new value */
    140            PWR->CR = tmpreg;
   \   00000004   E023               MOVS     R3,#+224
   \   00000006   9A43               BICS     R2,R2,R3
   \   00000008   1043               ORRS     R0,R0,R2
   \   0000000A   0860               STR      R0,[R1, #+0]
    141          }
   \   0000000C   7047               BX       LR               ;; return
    142          
    143          /*******************************************************************************
    144          * Function Name  : PWR_WakeUpPinCmd
    145          * Description    : Enables or disables the WakeUp Pin functionality.
    146          * Input          : - NewState: new state of the WakeUp Pin functionality.
    147          *                    This parameter can be: ENABLE or DISABLE.
    148          * Output         : None
    149          * Return         : None
    150          *******************************************************************************/

⌨️ 快捷键说明

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