stm32f4xx_crc.txt
6.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
; 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 ***