stm32f4xx_iwdg.txt
6.58 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
166
167
168
169
170
171
172
; 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_iwdg.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\stm32f4xx_iwdg.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_iwdg.crf ..\..\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_iwdg.c]
THUMB
AREA ||i.IWDG_Enable||, CODE, READONLY, ALIGN=2
IWDG_Enable PROC
;;;203 */
;;;204 void IWDG_Enable(void)
000000 4902 LDR r1,|L1.12|
;;;205 {
;;;206 IWDG->KR = KR_KEY_ENABLE;
000002 f64c40cc MOV r0,#0xcccc
000006 6008 STR r0,[r1,#0]
;;;207 }
000008 4770 BX lr
;;;208
ENDP
00000a 0000 DCW 0x0000
|L1.12|
DCD 0x40003000
AREA ||i.IWDG_GetFlagStatus||, CODE, READONLY, ALIGN=2
IWDG_GetFlagStatus PROC
;;;232 */
;;;233 FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG)
000000 4601 MOV r1,r0
;;;234 {
;;;235 FlagStatus bitstatus = RESET;
000002 2000 MOVS r0,#0
;;;236 /* Check the parameters */
;;;237 assert_param(IS_IWDG_FLAG(IWDG_FLAG));
;;;238 if ((IWDG->SR & IWDG_FLAG) != (uint32_t)RESET)
000004 4a02 LDR r2,|L2.16|
000006 68d2 LDR r2,[r2,#0xc]
000008 420a TST r2,r1
00000a d000 BEQ |L2.14|
;;;239 {
;;;240 bitstatus = SET;
00000c 2001 MOVS r0,#1
|L2.14|
;;;241 }
;;;242 else
;;;243 {
;;;244 bitstatus = RESET;
;;;245 }
;;;246 /* Return the flag status */
;;;247 return bitstatus;
;;;248 }
00000e 4770 BX lr
;;;249
ENDP
|L2.16|
DCD 0x40003000
AREA ||i.IWDG_ReloadCounter||, CODE, READONLY, ALIGN=2
IWDG_ReloadCounter PROC
;;;177 */
;;;178 void IWDG_ReloadCounter(void)
000000 4902 LDR r1,|L3.12|
;;;179 {
;;;180 IWDG->KR = KR_KEY_RELOAD;
000002 f64a20aa MOV r0,#0xaaaa
000006 6008 STR r0,[r1,#0]
;;;181 }
000008 4770 BX lr
;;;182
ENDP
00000a 0000 DCW 0x0000
|L3.12|
DCD 0x40003000
AREA ||i.IWDG_SetPrescaler||, CODE, READONLY, ALIGN=2
IWDG_SetPrescaler PROC
;;;151 */
;;;152 void IWDG_SetPrescaler(uint8_t IWDG_Prescaler)
000000 4901 LDR r1,|L4.8|
;;;153 {
;;;154 /* Check the parameters */
;;;155 assert_param(IS_IWDG_PRESCALER(IWDG_Prescaler));
;;;156 IWDG->PR = IWDG_Prescaler;
000002 6048 STR r0,[r1,#4]
;;;157 }
000004 4770 BX lr
;;;158
ENDP
000006 0000 DCW 0x0000
|L4.8|
DCD 0x40003000
AREA ||i.IWDG_SetReload||, CODE, READONLY, ALIGN=2
IWDG_SetReload PROC
;;;164 */
;;;165 void IWDG_SetReload(uint16_t Reload)
000000 4901 LDR r1,|L5.8|
;;;166 {
;;;167 /* Check the parameters */
;;;168 assert_param(IS_IWDG_RELOAD(Reload));
;;;169 IWDG->RLR = Reload;
000002 6088 STR r0,[r1,#8]
;;;170 }
000004 4770 BX lr
;;;171
ENDP
000006 0000 DCW 0x0000
|L5.8|
DCD 0x40003000
AREA ||i.IWDG_WriteAccessCmd||, CODE, READONLY, ALIGN=2
IWDG_WriteAccessCmd PROC
;;;131 */
;;;132 void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess)
000000 4901 LDR r1,|L6.8|
;;;133 {
;;;134 /* Check the parameters */
;;;135 assert_param(IS_IWDG_WRITE_ACCESS(IWDG_WriteAccess));
;;;136 IWDG->KR = IWDG_WriteAccess;
000002 6008 STR r0,[r1,#0]
;;;137 }
000004 4770 BX lr
;;;138
ENDP
000006 0000 DCW 0x0000
|L6.8|
DCD 0x40003000
;*** Start embedded assembler ***
#line 1 "..\\..\\Libraries\\STM32F4xx_StdPeriph_Driver\\src\\stm32f4xx_iwdg.c"
AREA ||.rev16_text||, CODE
THUMB
EXPORT |__asm___16_stm32f4xx_iwdg_c_15798b01____REV16|
#line 129 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h"
|__asm___16_stm32f4xx_iwdg_c_15798b01____REV16| PROC
#line 130
rev16 r0, r0
bx lr
ENDP
AREA ||.revsh_text||, CODE
THUMB
EXPORT |__asm___16_stm32f4xx_iwdg_c_15798b01____REVSH|
#line 144
|__asm___16_stm32f4xx_iwdg_c_15798b01____REVSH| PROC
#line 145
revsh r0, r0
bx lr
ENDP
AREA ||.rrx_text||, CODE
THUMB
EXPORT |__asm___16_stm32f4xx_iwdg_c_15798b01____RRX|
#line 300
|__asm___16_stm32f4xx_iwdg_c_15798b01____RRX| PROC
#line 301
rrx r0, r0
bx lr
ENDP
;*** End embedded assembler ***