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

📄 stm32f10x_crc.lst

📁 stm32+ucos-ii
💻 LST
字号:
###############################################################################
#                                                                             #
# IAR ANSI C/C++ Compiler V6.10.2.52244/W32 for ARM     07/Aug/2011  12:10:33 #
# Copyright 1999-2010 IAR Systems AB.                                         #
#                                                                             #
#    Cpu mode     =  thumb                                                    #
#    Endian       =  little                                                   #
#    Source file  =  F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10 #
#                    x_StdPeriph_Driver\src\stm32f10x_crc.c                   #
#    Command line =  F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10 #
#                    x_StdPeriph_Driver\src\stm32f10x_crc.c -D                #
#                    USE_STDPERIPH_DRIVER -D STM32F10X_CL -lCN                #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
#                    t\ -o F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Fla #
#                    sh\Obj\ --no_cse --no_unroll --no_inline                 #
#                    --no_code_motion --no_tbaa --no_clustering               #
#                    --no_scheduling --debug --endian=little --cpu=Cortex-M3  #
#                    -e --fpu=None --dlib_config                              #
#                    D:\arm\INC\c\DLib_Config_Normal.h -I                     #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\APP\ -I   #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\   #
#                    -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP #
#                    \ST\CMSIS\CM3\CoreSupport\ -I                            #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
#                    \CMSIS\CM3\DeviceSupport\ST\STM32F10x\ -I                #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\ST #
#                    \STM32F10x_StdPeriph_Driver\inc\ -I                      #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\BSP\uC #
#                    OS-II\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II #
#                    \..\..\uCOS-II\Ports\ARM-Cortex-M3\Generic\IAR\ -I       #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uCO #
#                    S-II\Source\ -I F:\stm32\我的程序\Micrium\Software\EWARM #
#                    \OS-II\..\..\uC-LIB\ -I F:\stm32\我的程序\Micrium\Softwa #
#                    re\EWARM\OS-II\..\..\uC-LIB\Ports\ARM-Cortex-M3\IAR\ -I  #
#                    F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\..\..\uC- #
#                    CPU\ -I F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\. #
#                    .\..\uC-CPU\ARM-Cortex-M3\IAR\ -On --use_c++_inline      #
#    List file    =  F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Lis #
#                    t\stm32f10x_crc.lst                                      #
#    Object file  =  F:\stm32\我的程序\Micrium\Software\EWARM\OS-II\Flash\Obj #
#                    \stm32f10x_crc.o                                         #
#                                                                             #
#                                                                             #
###############################################################################

F:\stm32\我的程序\Micrium\Software\EWARM\BSP\ST\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c
      1          /**
      2            ******************************************************************************
      3            * @file    stm32f10x_crc.c
      4            * @author  MCD Application Team
      5            * @version V3.4.0
      6            * @date    10/15/2010
      7            * @brief   This file provides all the CRC firmware functions.
      8            ******************************************************************************
      9            * @copy
     10            *
     11            * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
     12            * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
     13            * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
     14            * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
     15            * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
     16            * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
     17            *
     18            * <h2><center>&copy; COPYRIGHT 2010 STMicroelectronics</center></h2>
     19            */ 
     20          
     21          /* Includes ------------------------------------------------------------------*/
     22          #include "stm32f10x_crc.h"
     23          
     24          /** @addtogroup STM32F10x_StdPeriph_Driver
     25            * @{
     26            */
     27          
     28          /** @defgroup CRC 
     29            * @brief CRC driver modules
     30            * @{
     31            */
     32          
     33          /** @defgroup CRC_Private_TypesDefinitions
     34            * @{
     35            */
     36          
     37          /**
     38            * @}
     39            */
     40          
     41          /** @defgroup CRC_Private_Defines
     42            * @{
     43            */
     44          
     45          /**
     46            * @}
     47            */
     48          
     49          /** @defgroup CRC_Private_Macros
     50            * @{
     51            */
     52          
     53          /**
     54            * @}
     55            */
     56          
     57          /** @defgroup CRC_Private_Variables
     58            * @{
     59            */
     60          
     61          /**
     62            * @}
     63            */
     64          
     65          /** @defgroup CRC_Private_FunctionPrototypes
     66            * @{
     67            */
     68          
     69          /**
     70            * @}
     71            */
     72          
     73          /** @defgroup CRC_Private_Functions
     74            * @{
     75            */
     76          
     77          /**
     78            * @brief  Resets the CRC Data register (DR).
     79            * @param  None
     80            * @retval None
     81            */

   \                                 In section .text, align 2, keep-with-next
     82          void CRC_ResetDR(void)
     83          {
     84            /* Reset CRC generator */
     85            CRC->CR = CRC_CR_RESET;
   \                     CRC_ResetDR:
   \   00000000   ....               LDR.N    R0,??DataTable5  ;; 0x40023008
   \   00000002   0121               MOVS     R1,#+1
   \   00000004   0160               STR      R1,[R0, #+0]
     86          }
   \   00000006   7047               BX       LR               ;; return
     87          
     88          /**
     89            * @brief  Computes the 32-bit CRC of a given data word(32-bit).
     90            * @param  Data: data word(32-bit) to compute its CRC
     91            * @retval 32-bit CRC
     92            */

   \                                 In section .text, align 2, keep-with-next
     93          uint32_t CRC_CalcCRC(uint32_t Data)
     94          {
   \                     CRC_CalcCRC:
   \   00000000   0100               MOVS     R1,R0
     95            CRC->DR = Data;
   \   00000002   ....               LDR.N    R0,??DataTable5_1  ;; 0x40023000
   \   00000004   0160               STR      R1,[R0, #+0]
     96            
     97            return (CRC->DR);
   \   00000006   ....               LDR.N    R0,??DataTable5_1  ;; 0x40023000
   \   00000008   0068               LDR      R0,[R0, #+0]
   \   0000000A   7047               BX       LR               ;; return
     98          }
     99          
    100          /**
    101            * @brief  Computes the 32-bit CRC of a given buffer of data word(32-bit).
    102            * @param  pBuffer: pointer to the buffer containing the data to be computed
    103            * @param  BufferLength: length of the buffer to be computed					
    104            * @retval 32-bit CRC
    105            */

   \                                 In section .text, align 2, keep-with-next
    106          uint32_t CRC_CalcBlockCRC(uint32_t pBuffer[], uint32_t BufferLength)
    107          {
   \                     CRC_CalcBlockCRC:
   \   00000000   10B4               PUSH     {R4}
   \   00000002   0200               MOVS     R2,R0
    108            uint32_t index = 0;
   \   00000004   0023               MOVS     R3,#+0
    109            
    110            for(index = 0; index < BufferLength; index++)
   \   00000006   0020               MOVS     R0,#+0
   \   00000008   0300               MOVS     R3,R0
   \                     ??CRC_CalcBlockCRC_0:
   \   0000000A   8B42               CMP      R3,R1
   \   0000000C   05D2               BCS.N    ??CRC_CalcBlockCRC_1
    111            {
    112              CRC->DR = pBuffer[index];
   \   0000000E   52F82300           LDR      R0,[R2, R3, LSL #+2]
   \   00000012   ....               LDR.N    R4,??DataTable5_1  ;; 0x40023000
   \   00000014   2060               STR      R0,[R4, #+0]
    113            }
   \   00000016   5B1C               ADDS     R3,R3,#+1
   \   00000018   F7E7               B.N      ??CRC_CalcBlockCRC_0
    114            return (CRC->DR);
   \                     ??CRC_CalcBlockCRC_1:
   \   0000001A   ....               LDR.N    R0,??DataTable5_1  ;; 0x40023000
   \   0000001C   0068               LDR      R0,[R0, #+0]
   \   0000001E   10BC               POP      {R4}
   \   00000020   7047               BX       LR               ;; return
    115          }
    116          
    117          /**
    118            * @brief  Returns the current CRC value.
    119            * @param  None
    120            * @retval 32-bit CRC
    121            */

   \                                 In section .text, align 2, keep-with-next
    122          uint32_t CRC_GetCRC(void)
    123          {
    124            return (CRC->DR);
   \                     CRC_GetCRC:
   \   00000000   ....               LDR.N    R0,??DataTable5_1  ;; 0x40023000
   \   00000002   0068               LDR      R0,[R0, #+0]
   \   00000004   7047               BX       LR               ;; return
    125          }
    126          
    127          /**
    128            * @brief  Stores a 8-bit data in the Independent Data(ID) register.
    129            * @param  IDValue: 8-bit value to be stored in the ID register 					
    130            * @retval None
    131            */

   \                                 In section .text, align 2, keep-with-next
    132          void CRC_SetIDRegister(uint8_t IDValue)
    133          {
    134            CRC->IDR = IDValue;
   \                     CRC_SetIDRegister:
   \   00000000   ....               LDR.N    R1,??DataTable5_2  ;; 0x40023004
   \   00000002   0870               STRB     R0,[R1, #+0]
    135          }
   \   00000004   7047               BX       LR               ;; return
    136          
    137          /**
    138            * @brief  Returns the 8-bit data stored in the Independent Data(ID) register
    139            * @param  None
    140            * @retval 8-bit value of the ID register 
    141            */

   \                                 In section .text, align 2, keep-with-next
    142          uint8_t CRC_GetIDRegister(void)
    143          {
    144            return (CRC->IDR);
   \                     CRC_GetIDRegister:
   \   00000000   ....               LDR.N    R0,??DataTable5_2  ;; 0x40023004
   \   00000002   0078               LDRB     R0,[R0, #+0]
   \   00000004   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000006   7047               BX       LR               ;; return
    145          }

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5:
   \   00000000   08300240           DC32     0x40023008

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_1:
   \   00000000   00300240           DC32     0x40023000

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable5_2:
   \   00000000   04300240           DC32     0x40023004
    146          
    147          /**
    148            * @}
    149            */
    150          
    151          /**
    152            * @}
    153            */
    154          
    155          /**
    156            * @}
    157            */
    158          
    159          /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/

   Maximum stack usage in bytes:

     Function          .cstack
     --------          -------
     CRC_CalcBlockCRC       4
     CRC_CalcCRC            0
     CRC_GetCRC             0
     CRC_GetIDRegister      0
     CRC_ResetDR            0
     CRC_SetIDRegister      0


   Section sizes:

     Function/Label    Bytes
     --------------    -----
     CRC_ResetDR          8
     CRC_CalcCRC         12
     CRC_CalcBlockCRC    34
     CRC_GetCRC           6
     CRC_SetIDRegister    6
     CRC_GetIDRegister    8
     ??DataTable5         4
     ??DataTable5_1       4
     ??DataTable5_2       4

 
 86 bytes in section .text
 
 86 bytes of CODE memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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