📄 stm32f10x_tim.lst
字号:
371 008c 48F6FF73 movw r3, #36863
372 .LVL64:
373 0090 05EA0303 and r3, r5, r3
374 .LVL65:
431:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
432:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Write to TIMx CCMR1 */
433:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** TIMx->CCMR1 = tmpccmrx;
375 .loc 1 433 0
376 0094 019A ldr r2, [sp, #4]
377 .loc 1 392 0
378 0096 43EA0623 orr r3, r3, r6, lsl #8
379 .LVL66:
380 009a 9BB2 uxth r3, r3
381 .LVL67:
382 .loc 1 433 0
383 009c 1383 strh r3, [r2, #24] @ movhi
434:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
435:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Write to TIMx CCER */
436:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** TIMx->CCER = tmpccer;
384 .loc 1 436 0
385 009e 019B ldr r3, [sp, #4]
386 .LVL68:
387 00a0 1884 strh r0, [r3, #32] @ movhi
437:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** }
388 .loc 1 437 0
389 00a2 7CBD pop {r2, r3, r4, r5, r6, pc}
390 .L18:
391 .align 2
392 .L17:
393 00a4 002C0140 .word 1073818624
394 .LFE29:
396 .section .text.TIM_OC3Init,"ax",%progbits
397 .align 2
398 .global TIM_OC3Init
399 .thumb
400 .thumb_func
402 TIM_OC3Init:
403 .LFB30:
438:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
439:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /**
440:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** * @brief Initializes the TIMx Channel3 according to the specified
441:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** * parameters in the TIM_OCInitStruct.
442:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** * @param TIMx: where x can be 1, 2, 3, 4, 5 or 8 to select the TIM
443:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** * peripheral.
444:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** * @param TIM_OCInitStruct: pointer to a TIM_OCInitTypeDef structure
445:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** * that contains the configuration information for the specified
446:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** * TIM peripheral.
447:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** * @retval : None
448:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** */
449:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct)
450:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** {
404 .loc 1 450 0
405 @ args = 0, pretend = 0, frame = 8
406 @ frame_needed = 0, uses_anonymous_args = 0
407 .LVL69:
408 0000 73B5 push {r0, r1, r4, r5, r6, lr}
409 .LCFI3:
410 .LVL70:
411 .loc 1 450 0
412 0002 0190 str r0, [sp, #4]
413 .LVL71:
451:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** uint16_t tmpccmrx = 0, tmpccer = 0, tmpcr2 = 0;
452:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
453:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Check the parameters */
454:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** assert_param(IS_TIM_123458_PERIPH(TIMx));
455:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** assert_param(IS_TIM_OC_MODE(TIM_OCInitStruct->TIM_OCMode));
456:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** assert_param(IS_TIM_OUTPUT_STATE(TIM_OCInitStruct->TIM_OutputState));
457:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** assert_param(IS_TIM_OC_POLARITY(TIM_OCInitStruct->TIM_OCPolarity));
458:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Disable the Channel 2: Reset the CC2E Bit */
459:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** TIMx->CCER &= CCER_CC3E_Reset;
414 .loc 1 459 0
415 0004 038C ldrh r3, [r0, #32]
416 .LVL72:
417 .loc 1 450 0
418 0006 0C46 mov r4, r1
419 .LVL73:
420 .loc 1 459 0
421 0008 23F48073 bic r3, r3, #256
422 000c 1B04 lsls r3, r3, #16
423 000e 1B0C lsrs r3, r3, #16
424 0010 0384 strh r3, [r0, #32] @ movhi
460:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
461:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Get the TIMx CCER register value */
462:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccer = TIMx->CCER;
425 .loc 1 462 0
426 0012 0199 ldr r1, [sp, #4]
427 .LVL74:
463:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Get the TIMx CR2 register value */
464:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpcr2 = TIMx->CR2;
465:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
466:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Get the TIMx CCMR2 register value */
467:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccmrx = TIMx->CCMR2;
468:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
469:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Reset the Output Compare Mode Bits */
470:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccmrx &= CCMR_OC13M_Mask;
471:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
472:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Select the Output Compare Mode */
473:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccmrx |= TIM_OCInitStruct->TIM_OCMode;
428 .loc 1 473 0
429 0014 2688 ldrh r6, [r4, #0]
430 .loc 1 462 0
431 0016 0B8C ldrh r3, [r1, #32]
432 .loc 1 464 0
433 0018 8A88 ldrh r2, [r1, #4]
474:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
475:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Reset the Output Polarity level */
476:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccer &= CCER_CC3P_Reset;
434 .loc 1 476 0
435 001a 23F40073 bic r3, r3, #512
436 .LVL75:
437 .loc 1 464 0
438 001e 1FFA82FC uxth ip, r2
439 .LVL76:
440 .loc 1 467 0
441 0022 8A8B ldrh r2, [r1, #28]
442 .loc 1 476 0
443 0024 1B04 lsls r3, r3, #16
444 .LVL77:
445 .loc 1 467 0
446 0026 95B2 uxth r5, r2
447 .LVL78:
477:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Set the Output Compare Polarity */
478:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCPolarity << 8);
448 .loc 1 478 0
449 0028 2289 ldrh r2, [r4, #8]
450 .loc 1 476 0
451 002a 1B0C lsrs r3, r3, #16
452 .LVL79:
453 .loc 1 478 0
454 002c 43EA0223 orr r3, r3, r2, lsl #8
455 .LVL80:
479:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
480:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Set the Output State */
481:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputState << 8);
456 .loc 1 481 0
457 0030 6288 ldrh r2, [r4, #2]
458 .loc 1 478 0
459 0032 9BB2 uxth r3, r3
460 .LVL81:
461 .loc 1 481 0
462 0034 43EA0223 orr r3, r3, r2, lsl #8
463 .LVL82:
464 0038 98B2 uxth r0, r3
465 .LVL83:
482:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
483:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Set the Capture Compare Register value */
484:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** TIMx->CCR3 = TIM_OCInitStruct->TIM_Pulse;
466 .loc 1 484 0
467 003a E388 ldrh r3, [r4, #6]
468 003c 8B87 strh r3, [r1, #60] @ movhi
485:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
486:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** if((*(uint32_t*)&TIMx == TIM1_BASE) || (*(uint32_t*)&TIMx == TIM8_BASE))
469 .loc 1 486 0
470 003e 019A ldr r2, [sp, #4]
471 0040 174B ldr r3, .L23
472 0042 9A42 cmp r2, r3
473 0044 03D0 beq .L20
474 .LVL84:
475 0046 03F50063 add r3, r3, #2048
476 004a 9A42 cmp r2, r3
477 004c 1BD1 bne .L21
478 .L20:
487:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** {
488:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** assert_param(IS_TIM_OUTPUTN_STATE(TIM_OCInitStruct->TIM_OutputNState));
489:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** assert_param(IS_TIM_OCN_POLARITY(TIM_OCInitStruct->TIM_OCNPolarity));
490:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** assert_param(IS_TIM_OCNIDLE_STATE(TIM_OCInitStruct->TIM_OCNIdleState));
491:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** assert_param(IS_TIM_OCIDLE_STATE(TIM_OCInitStruct->TIM_OCIdleState));
492:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
493:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Reset the Output N Polarity level */
494:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccer &= CCER_CC3NP_Reset;
495:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Set the Output N Polarity */
496:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OCNPolarity << 8);
479 .loc 1 496 0
480 004e 6389 ldrh r3, [r4, #10]
481 .loc 1 494 0
482 0050 4FF2FF72 movw r2, #63487
483 .LVL85:
484 0054 00EA0202 and r2, r0, r2
485 .LVL86:
486 .loc 1 496 0
487 0058 42EA0322 orr r2, r2, r3, lsl #8
488 .LVL87:
497:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Reset the Output N State */
498:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccer &= CCER_CC3NE_Reset;
489 .loc 1 498 0
490 005c 4FF6FF33 movw r3, #64511
491 .LVL88:
492 0060 02EA0303 and r3, r2, r3
493 .LVL89:
499:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c ****
500:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** /* Set the Output N State */
501:lib/STM32F10x_StdPeriph_Driver/src/stm32f10x_tim.c **** tmpccer |= (uint16_t)(TIM_OCInitStruct->TIM_OutputNState << 8);
494
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -