stm32f4xx_crc.txt 6.21 KB
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave -o.\flash\obj\stm32f4xx_crc.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\stm32f4xx_crc.d --cpu=Cortex-M4.fp --apcs=interwork -O1 --diag_suppress=9931,870 -I..\..\Libraries\CMSIS\Include -I..\..\Libraries\CMSIS\Device\ST\STM32F4xx\Include -I..\..\Libraries\STM32F4xx_StdPeriph_Driver\inc -I..\..\uCOS-III\uC-CPU -I..\..\uCOS-III\uC-LIB -I..\..\uCOS-III\uCOS-III\Ports -I..\..\uCOS-III\uCOS-III\Source -I..\..\uCOS-III\uC-CPU\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uC-LIB\Ports\ARM-Cortex-M4\RealView -I..\..\uCOS-III\uCOS-III\Ports\ARM-Cortex-M4\Generic\RealView -I..\..\User -I..\..\User\bsp -I..\..\User\bsp\inc -I..\..\User\libapp -I..\..\RL-ARM\Config -I..\..\RL-ARM\Driver -I..\..\RL-ARM\RL-RTX\inc -I..\..\User\bsp\BSP -I..\..\RL-ARM\RL-CAN -I..\..\Libraries\DSP_LIB\Include -I..\..\MODBUS\modbus\rtu -I..\..\MODBUS\BARE\port -I..\..\MODBUS\modbus\include -I..\..\User\bsp\BSP -I..\..\PLC -I..\..\Avoid -I..\..\User\parameter -I..\..\User\LaserMotionCtr -I..\..\User\W5100S -I..\..\User\bsp -I..\..\User\CHASSIS -I..\..\User\CONTROLFUNCTION -I..\..\User\DATAUPDATE -I..\..\User\HARAWARE -I..\..\User\MOTORDRIVER -I..\..\User\NAVAGATION -I..\..\User\PLATFORM -I..\..\User\SENSOR -I.\RTE\_Flash -IC:\Users\YDJ\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\YDJ\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.13.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION=527 -D_RTE_ -DSTM32F407xx -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -D__RTX -D__FPU_USED=1 --omf_browse=.\flash\obj\stm32f4xx_crc.crf ..\..\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_crc.c]
                          THUMB

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

                  CRC_CalcBlockCRC PROC
;;;79       */
;;;80     uint32_t CRC_CalcBlockCRC(uint32_t pBuffer[], uint32_t BufferLength)
000000  b510              PUSH     {r4,lr}
;;;81     {
;;;82       uint32_t index = 0;
000002  2200              MOVS     r2,#0
;;;83       
;;;84       for(index = 0; index < BufferLength; index++)
;;;85       {
;;;86         CRC->DR = pBuffer[index];
000004  4b04              LDR      r3,|L1.24|
000006  e003              B        |L1.16|
                  |L1.8|
000008  f8504022          LDR      r4,[r0,r2,LSL #2]
00000c  601c              STR      r4,[r3,#0]
00000e  1c52              ADDS     r2,r2,#1              ;84
                  |L1.16|
000010  428a              CMP      r2,r1                 ;84
000012  d3f9              BCC      |L1.8|
;;;87       }
;;;88       return (CRC->DR);
000014  6818              LDR      r0,[r3,#0]
;;;89     }
000016  bd10              POP      {r4,pc}
;;;90     
                          ENDP

                  |L1.24|
                          DCD      0x40023000

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

                  CRC_CalcCRC PROC
;;;66       */
;;;67     uint32_t CRC_CalcCRC(uint32_t Data)
000000  4901              LDR      r1,|L2.8|
;;;68     {
;;;69       CRC->DR = Data;
000002  6008              STR      r0,[r1,#0]
;;;70       
;;;71       return (CRC->DR);
000004  6808              LDR      r0,[r1,#0]
;;;72     }
000006  4770              BX       lr
;;;73     
                          ENDP

                  |L2.8|
                          DCD      0x40023000

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

                  CRC_GetCRC PROC
;;;95       */
;;;96     uint32_t CRC_GetCRC(void)
000000  4801              LDR      r0,|L3.8|
;;;97     {
;;;98       return (CRC->DR);
000002  6800              LDR      r0,[r0,#0]
;;;99     }
000004  4770              BX       lr
;;;100    
                          ENDP

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

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

                  CRC_GetIDRegister PROC
;;;115      */
;;;116    uint8_t CRC_GetIDRegister(void)
000000  4801              LDR      r0,|L4.8|
;;;117    {
;;;118      return (CRC->IDR);
000002  7900              LDRB     r0,[r0,#4]
;;;119    }
000004  4770              BX       lr
;;;120    
                          ENDP

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

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

                  CRC_ResetDR PROC
;;;55       */
;;;56     void CRC_ResetDR(void)
000000  4901              LDR      r1,|L5.8|
;;;57     {
;;;58       /* Reset CRC generator */
;;;59       CRC->CR = CRC_CR_RESET;
000002  2001              MOVS     r0,#1
000004  6088              STR      r0,[r1,#8]
;;;60     }
000006  4770              BX       lr
;;;61     
                          ENDP

                  |L5.8|
                          DCD      0x40023000

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

                  CRC_SetIDRegister PROC
;;;105      */
;;;106    void CRC_SetIDRegister(uint8_t IDValue)
000000  4901              LDR      r1,|L6.8|
;;;107    {
;;;108      CRC->IDR = IDValue;
000002  7108              STRB     r0,[r1,#4]
;;;109    }
000004  4770              BX       lr
;;;110    
                          ENDP

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

;*** Start embedded assembler ***

#line 1 "..\\..\\Libraries\\STM32F4xx_StdPeriph_Driver\\src\\stm32f4xx_crc.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___15_stm32f4xx_crc_c_eea4c7d3____REV16|
#line 129 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h"
|__asm___15_stm32f4xx_crc_c_eea4c7d3____REV16| PROC
#line 130

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___15_stm32f4xx_crc_c_eea4c7d3____REVSH|
#line 144
|__asm___15_stm32f4xx_crc_c_eea4c7d3____REVSH| PROC
#line 145

 revsh r0, r0
 bx lr
	ENDP
	AREA ||.rrx_text||, CODE
	THUMB
	EXPORT |__asm___15_stm32f4xx_crc_c_eea4c7d3____RRX|
#line 300
|__asm___15_stm32f4xx_crc_c_eea4c7d3____RRX| PROC
#line 301

 rrx r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***