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

📄 stm32f10x_fsmc.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART     26/Dec/2008  18:22:06 #
# 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_f #
#                       smc.c                                                #
#    Command line    =  F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_f #
#                       smc.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_fsmc.lst           #
#    Object file     =  F:\PROJECT\STM32_UCOSII\EvalBoards\ST\STM3210E-EVAL\ #
#                       IAR\OS-Probe\Flash\Obj\stm32f10x_fsmc.r79            #
#                                                                            #
#                                                                            #
##############################################################################

F:\PROJECT\STM32_UCOSII\CPU\ST\STM32\src\stm32f10x_fsmc.c
      1          /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
      2          * File Name          : stm32f10x_fsmc.c
      3          * Author             : MCD Application Team
      4          * Version            : V2.0
      5          * Date               : 05/23/2008
      6          * Description        : This file provides all the FSMC 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_fsmc.h"
     20          #include "stm32f10x_rcc.h"
     21          
     22          /* Private typedef -----------------------------------------------------------*/
     23          /* Private define ------------------------------------------------------------*/
     24          /* --------------------- FSMC registers bit mask ---------------------------- */
     25          /* FSMC BCRx Mask */
     26          #define BCR_MBKEN_Set                       ((u32)0x00000001)
     27          #define BCR_MBKEN_Reset                     ((u32)0x000FFFFE)
     28          #define BCR_FACCEN_Set                      ((u32)0x00000040)
     29          
     30          /* FSMC PCRx Mask */
     31          #define PCR_PBKEN_Set                       ((u32)0x00000004)
     32          #define PCR_PBKEN_Reset                     ((u32)0x000FFFFB)
     33          #define PCR_ECCEN_Set                       ((u32)0x00000040)
     34          #define PCR_ECCEN_Reset                     ((u32)0x000FFFBF)
     35          #define PCR_MemoryType_NAND                 ((u32)0x00000008)
     36          
     37          /* Private macro -------------------------------------------------------------*/
     38          /* Private variables ---------------------------------------------------------*/
     39          /* Private function prototypes -----------------------------------------------*/
     40          /* Private functions ---------------------------------------------------------*/
     41          
     42          /*******************************************************************************
     43          * Function Name  : FSMC_NORSRAMDeInit
     44          * Description    : Deinitializes the FSMC NOR/SRAM Banks registers to their default 
     45          *                  reset values.
     46          * Input          : - FSMC_Bank: specifies the FSMC Bank to be used
     47          *                    This parameter can be one of the following values:
     48          *                       - FSMC_Bank1_NORSRAM1: FSMC Bank1 NOR/SRAM1  
     49          *                       - FSMC_Bank1_NORSRAM2: FSMC Bank1 NOR/SRAM2 
     50          *                       - FSMC_Bank1_NORSRAM3: FSMC Bank1 NOR/SRAM3 
     51          *                       - FSMC_Bank1_NORSRAM4: FSMC Bank1 NOR/SRAM4                       
     52          * Output         : None
     53          * Return         : None
     54          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     55          void FSMC_NORSRAMDeInit(u32 FSMC_Bank)
     56          {
     57            /* Check the parameter */
     58            assert_param(IS_FSMC_NORSRAM_BANK(FSMC_Bank));
     59            
     60            /* FSMC_Bank1_NORSRAM1 */
     61            if(FSMC_Bank == FSMC_Bank1_NORSRAM1)
   \                     FSMC_NORSRAMDeInit:
   \   00000000   8100               LSLS     R1,R0,#+2
   \   00000002   11F12041           ADDS     R1,R1,#-1610612736
   \   00000006   0028               CMP      R0,#+0
   \   00000008   04D1               BNE.N    ??FSMC_NORSRAMDeInit_0
     62            {
     63              FSMC_Bank1->BTCR[FSMC_Bank] = 0x000030DB;    
   \   0000000A   5FF02042           MOVS     R2,#-1610612736
   \   0000000E   064B               LDR.N    R3,??FSMC_NORSRAMDeInit_1  ;; 0x30db
   \   00000010   1360               STR      R3,[R2, #+0]
   \   00000012   01E0               B.N      ??FSMC_NORSRAMDeInit_2
     64            }
     65            /* FSMC_Bank1_NORSRAM2,  FSMC_Bank1_NORSRAM3 or FSMC_Bank1_NORSRAM4 */
     66            else
     67            {   
     68              FSMC_Bank1->BTCR[FSMC_Bank] = 0x000030D2; 
   \                     ??FSMC_NORSRAMDeInit_0:
   \   00000014   054A               LDR.N    R2,??FSMC_NORSRAMDeInit_1+0x4  ;; 0x30d2
   \   00000016   0A60               STR      R2,[R1, #+0]
     69            }
     70          
     71            FSMC_Bank1->BTCR[FSMC_Bank + 1] = 0x0FFFFFFF;
   \                     ??FSMC_NORSRAMDeInit_2:
   \   00000018   7FF07042           MVNS     R2,#-268435456
   \   0000001C   4A60               STR      R2,[R1, #+4]
     72            FSMC_Bank1E->BWTR[FSMC_Bank] = 0x0FFFFFFF;  
   \   0000001E   ....               LDR.N    R1,??DataTable15  ;; 0xffffffffa0000104
   \   00000020   41F82020           STR      R2,[R1, R0, LSL #+2]
     73          }
   \   00000024   7047               BX       LR               ;; return
   \   00000026   00BF               Nop      
   \                     ??FSMC_NORSRAMDeInit_1:
   \   00000028   DB300000           DC32     0x30db
   \   0000002C   D2300000           DC32     0x30d2
     74          
     75          /*******************************************************************************
     76          * Function Name  : FSMC_NANDDeInit
     77          * Description    : Deinitializes the FSMC NAND Banks registers to their default 
     78          *                  reset values.
     79          * Input          : - FSMC_Bank: specifies the FSMC Bank to be used
     80          *                    This parameter can be one of the following values:
     81          *                       - FSMC_Bank2_NAND: FSMC Bank2 NAND 
     82          *                       - FSMC_Bank3_NAND: FSMC Bank3 NAND                       
     83          * Output         : None
     84          * Return         : None
     85          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     86          void FSMC_NANDDeInit(u32 FSMC_Bank)
     87          {
     88            /* Check the parameter */
     89            assert_param(IS_FSMC_NAND_BANK(FSMC_Bank));
     90            
     91            if(FSMC_Bank == FSMC_Bank2_NAND)
   \                     FSMC_NANDDeInit:
   \   00000000   5FF0FC31           MOVS     R1,#-50529028
   \   00000004   4022               MOVS     R2,#+64
   \   00000006   1823               MOVS     R3,#+24
   \   00000008   1028               CMP      R0,#+16
   \   0000000A   08D1               BNE.N    ??FSMC_NANDDeInit_0
     92            {
     93              /* Set the FSMC_Bank2 registers to their reset values */
     94              FSMC_Bank2->PCR2 = 0x00000018;
   \   0000000C   ....               LDR.N    R0,??DataTable26  ;; 0xffffffffa0000060
   \   0000000E   0360               STR      R3,[R0, #+0]
     95              FSMC_Bank2->SR2 = 0x00000040;
   \   00000010   ....               LDR.N    R0,??DataTable2  ;; 0xffffffffa0000064
   \   00000012   0260               STR      R2,[R0, #+0]

⌨️ 快捷键说明

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