📄 stm32f10x_dma.lst
字号:
198 .thumb_func
200 DMA_Init:
201 .LFB27:
183:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c ****
184:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /**
185:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * @brief Initializes the DMAy Channelx according to the specified
186:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * parameters in the DMA_InitStruct.
187:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * @param DMAy_Channelx: where y can be 1 or 2 to select the DMA and
188:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * x can be 1 to 7 for DMA1 and 1 to 5 for DMA2 to select the
189:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * DMA Channel.
190:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * @param DMA_InitStruct: pointer to a DMA_InitTypeDef structure that
191:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * contains the configuration information for the specified
192:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * DMA Channel.
193:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * @retval : None
194:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** */
195:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct)
196:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** {
202 .loc 1 196 0
203 @ args = 0, pretend = 0, frame = 0
204 @ frame_needed = 0, uses_anonymous_args = 0
205 .LVL5:
197:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** uint32_t tmpreg = 0;
198:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Check the parameters */
199:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx));
200:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_DIR(DMA_InitStruct->DMA_DIR));
201:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DMA_InitStruct->DMA_BufferSize));
202:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_PERIPHERAL_INC_STATE(DMA_InitStruct->DMA_PeripheralInc));
203:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_MEMORY_INC_STATE(DMA_InitStruct->DMA_MemoryInc));
204:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(DMA_InitStruct->DMA_PeripheralDataSize));
205:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_MEMORY_DATA_SIZE(DMA_InitStruct->DMA_MemoryDataSize));
206:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_MODE(DMA_InitStruct->DMA_Mode));
207:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_PRIORITY(DMA_InitStruct->DMA_Priority));
208:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** assert_param(IS_DMA_M2M_STATE(DMA_InitStruct->DMA_M2M));
209:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /*--------------------------- DMAy Channelx CCR Configuration -----------------*/
210:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Get the DMAy_Channelx CCR value */
211:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** tmpreg = DMAy_Channelx->CCR;
212:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Clear MEM2MEM, PL, MSIZE, PSIZE, MINC, PINC, CIRC and DIR bits */
213:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** tmpreg &= CCR_CLEAR_Mask;
214:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Configure DMAy Channelx: data transfer, data size, priority level and mode */
215:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Set DIR bit according to DMA_DIR value */
216:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Set CIRC bit according to DMA_Mode value */
217:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Set PINC bit according to DMA_PeripheralInc value */
218:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Set MINC bit according to DMA_MemoryInc value */
219:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Set PSIZE bits according to DMA_PeripheralDataSize value */
220:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Set MSIZE bits according to DMA_MemoryDataSize value */
221:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Set PL bits according to DMA_Priority value */
222:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Set the MEM2MEM bit according to DMA_M2M value */
223:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** tmpreg |= DMA_InitStruct->DMA_DIR | DMA_InitStruct->DMA_Mode |
206 .loc 1 223 0
207 0000 8A68 ldr r2, [r1, #8]
208 0002 0B6A ldr r3, [r1, #32]
209 .loc 1 196 0
210 0004 10B5 push {r4, lr}
211 .LCFI1:
212 .loc 1 223 0
213 0006 1343 orrs r3, r3, r2
214 0008 0A69 ldr r2, [r1, #16]
215 .loc 1 211 0
216 000a 0468 ldr r4, [r0, #0]
217 .LVL6:
218 .loc 1 223 0
219 000c 1343 orrs r3, r3, r2
220 000e 4A69 ldr r2, [r1, #20]
221 .loc 1 213 0
222 0010 24F4FE44 bic r4, r4, #32512
223 .LVL7:
224 .loc 1 223 0
225 0014 1343 orrs r3, r3, r2
226 0016 8A69 ldr r2, [r1, #24]
227 .loc 1 213 0
228 0018 24F0F004 bic r4, r4, #240
229 .loc 1 223 0
230 001c 1343 orrs r3, r3, r2
231 001e CA69 ldr r2, [r1, #28]
232 0020 1343 orrs r3, r3, r2
233 0022 4A6A ldr r2, [r1, #36]
234 0024 1343 orrs r3, r3, r2
235 0026 8A6A ldr r2, [r1, #40]
236 0028 1343 orrs r3, r3, r2
237 002a 2343 orrs r3, r3, r4
238 .LVL8:
224:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_PeripheralInc | DMA_InitStruct->DMA_MemoryInc |
225:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_PeripheralDataSize | DMA_InitStruct->DMA_MemoryDataSize |
226:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_Priority | DMA_InitStruct->DMA_M2M;
227:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Write to DMAy Channelx CCR */
228:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMAy_Channelx->CCR = tmpreg;
239 .loc 1 228 0
240 002c 0360 str r3, [r0, #0]
229:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /*--------------------------- DMAy Channelx CNDTR Configuration ---------------*/
230:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Write to DMAy Channelx CNDTR */
231:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMAy_Channelx->CNDTR = DMA_InitStruct->DMA_BufferSize;
241 .loc 1 231 0
242 002e CB68 ldr r3, [r1, #12]
243 .LVL9:
244 0030 4360 str r3, [r0, #4]
232:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /*--------------------------- DMAy Channelx CPAR Configuration ----------------*/
233:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Write to DMAy Channelx CPAR */
234:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMAy_Channelx->CPAR = DMA_InitStruct->DMA_PeripheralBaseAddr;
245 .loc 1 234 0
246 0032 0B68 ldr r3, [r1, #0]
247 0034 8360 str r3, [r0, #8]
235:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /*--------------------------- DMAy Channelx CMAR Configuration ----------------*/
236:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Write to DMAy Channelx CMAR */
237:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMAy_Channelx->CMAR = DMA_InitStruct->DMA_MemoryBaseAddr;
248 .loc 1 237 0
249 0036 4B68 ldr r3, [r1, #4]
250 0038 C360 str r3, [r0, #12]
238:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** }
251 .loc 1 238 0
252 003a 10BD pop {r4, pc}
253 .LFE27:
255 .section .text.DMA_StructInit,"ax",%progbits
256 .align 2
257 .global DMA_StructInit
258 .thumb
259 .thumb_func
261 DMA_StructInit:
262 .LFB28:
239:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c ****
240:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /**
241:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * @brief Fills each DMA_InitStruct member with its default value.
242:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * @param DMA_InitStruct : pointer to a DMA_InitTypeDef structure
243:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * which will be initialized.
244:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** * @retval : None
245:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** */
246:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** void DMA_StructInit(DMA_InitTypeDef* DMA_InitStruct)
247:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** {
263 .loc 1 247 0
264 @ args = 0, pretend = 0, frame = 0
265 @ frame_needed = 0, uses_anonymous_args = 0
266 @ link register save eliminated.
267 .LVL10:
248:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /*-------------- Reset DMA init structure parameters values ------------------*/
249:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_PeripheralBaseAddr member */
250:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_PeripheralBaseAddr = 0;
268 .loc 1 250 0
269 0000 0023 movs r3, #0
270 0002 0360 str r3, [r0, #0]
251:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_MemoryBaseAddr member */
252:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_MemoryBaseAddr = 0;
271 .loc 1 252 0
272 0004 4360 str r3, [r0, #4]
253:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_DIR member */
254:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_DIR = DMA_DIR_PeripheralSRC;
273 .loc 1 254 0
274 0006 8360 str r3, [r0, #8]
255:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_BufferSize member */
256:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_BufferSize = 0;
275 .loc 1 256 0
276 0008 C360 str r3, [r0, #12]
257:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_PeripheralInc member */
258:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_PeripheralInc = DMA_PeripheralInc_Disable;
277 .loc 1 258 0
278 000a 0361 str r3, [r0, #16]
259:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_MemoryInc member */
260:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_MemoryInc = DMA_MemoryInc_Disable;
279 .loc 1 260 0
280 000c 4361 str r3, [r0, #20]
261:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_PeripheralDataSize member */
262:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte;
281 .loc 1 262 0
282 000e 8361 str r3, [r0, #24]
263:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_MemoryDataSize member */
264:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_MemoryDataSize = DMA_MemoryDataSize_Byte;
283 .loc 1 264 0
284 0010 C361 str r3, [r0, #28]
265:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_Mode member */
266:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_Mode = DMA_Mode_Normal;
285 .loc 1 266 0
286 0012 0362 str r3, [r0, #32]
267:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_Priority member */
268:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_Priority = DMA_Priority_Low;
287 .loc 1 268 0
288 0014 4362 str r3, [r0, #36]
269:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** /* Initialize the DMA_M2M member */
270:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** DMA_InitStruct->DMA_M2M = DMA_M2M_Disable;
289 .loc 1 270 0
290 0016 8362 str r3, [r0, #40]
271:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_dma.c **** }
291 .loc 1 271 0
292 0018 7047 bx lr
293 .LFE28:
295 001a C046 .section .text.DMA_Cmd,"ax",%progbits
296 .align 2
297 .global DMA_Cmd
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -