⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 misc.lst

📁 STM32 "kickstart" program with newlib/stdio like sprintf&printf
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1              		.syntax unified
   2              		.cpu cortex-m3
   3              		.fpu softvfp
   4              		.eabi_attribute 20, 1
   5              		.eabi_attribute 21, 1
   6              		.eabi_attribute 23, 3
   7              		.eabi_attribute 24, 1
   8              		.eabi_attribute 25, 1
   9              		.eabi_attribute 26, 1
  10              		.eabi_attribute 30, 4
  11              		.eabi_attribute 18, 4
  12              		.thumb
  13              		.file	"misc.c"
  21              	.Ltext0:
  22              		.section	.text.NVIC_PriorityGroupConfig,"ax",%progbits
  23              		.align	2
  24              		.global	NVIC_PriorityGroupConfig
  25              		.thumb
  26              		.thumb_func
  28              	NVIC_PriorityGroupConfig:
  29              	.LFB26:
  30              		.file 1 "lib/STM32F10x_StdPeriph_Driver/src/misc.c"
   1:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
   2:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   ******************************************************************************
   3:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @file  misc.c
   4:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @author  MCD Application Team
   5:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @version  V3.0.0
   6:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @date  04/06/2009
   7:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @brief  This file provides all the miscellaneous firmware functions.
   8:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   ******************************************************************************
   9:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @copy
  10:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *
  11:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
  12:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
  13:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
  14:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
  15:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
  16:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
  17:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *
  18:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * <h2><center>&copy; COPYRIGHT 2009 STMicroelectronics</center></h2>
  19:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */ 
  20:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  21:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /* Includes ------------------------------------------------------------------*/
  22:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** #include "misc.h"
  23:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  24:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @addtogroup StdPeriph_Driver
  25:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @{
  26:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  27:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  28:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC 
  29:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @brief MISC driver modules
  30:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @{
  31:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  32:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  33:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_TypesDefinitions
  34:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @{
  35:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  36:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  37:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
  38:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @}
  39:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */ 
  40:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  41:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_Defines
  42:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @{
  43:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  44:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  45:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** #define AIRCR_VECTKEY_MASK    ((uint32_t)0x05FA0000)
  46:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
  47:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @}
  48:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  49:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  50:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_Macros
  51:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @{
  52:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  53:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  54:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
  55:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @}
  56:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  57:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  58:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_Variables
  59:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @{
  60:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  61:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  62:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
  63:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @}
  64:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  65:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  66:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_FunctionPrototypes
  67:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @{
  68:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  69:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  70:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
  71:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @}
  72:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  73:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  74:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /** @defgroup MISC_Private_Functions
  75:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @{
  76:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  77:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
  78:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
  79:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @brief  Configures the priority grouping: pre-emption priority and 
  80:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *         subpriority.
  81:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @param NVIC_PriorityGroup: specifies the priority grouping bits length. 
  82:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *   This parameter can be one of the following values:
  83:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @arg NVIC_PriorityGroup_0: 0 bits for pre-emption priority
  84:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *                            4 bits for subpriority
  85:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @arg NVIC_PriorityGroup_1: 1 bits for pre-emption priority
  86:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *                            3 bits for subpriority
  87:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @arg NVIC_PriorityGroup_2: 2 bits for pre-emption priority
  88:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *                            2 bits for subpriority
  89:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @arg NVIC_PriorityGroup_3: 3 bits for pre-emption priority
  90:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *                            1 bits for subpriority
  91:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @arg NVIC_PriorityGroup_4: 4 bits for pre-emption priority
  92:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *                            0 bits for subpriority
  93:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @retval : None
  94:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
  95:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)
  96:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** {
  31              		.loc 1 96 0
  32              		@ args = 0, pretend = 0, frame = 0
  33              		@ frame_needed = 0, uses_anonymous_args = 0
  34              		@ link register save eliminated.
  35              	.LVL0:
  97:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   /* Check the parameters */
  98:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));
  99:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   
 100:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   /* Set the PRIGROUP[10:8] bits according to NVIC_PriorityGroup value */
 101:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PriorityGroup;
  36              		.loc 1 101 0
  37 0000 40F0BE60 		orr	r0, r0, #99614720
  38              	.LVL1:
  39 0004 024B     		ldr	r3, .L3
  40 0006 40F42020 		orr	r0, r0, #655360
  41 000a D860     		str	r0, [r3, #12]
 102:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** }
  42              		.loc 1 102 0
  43 000c 7047     		bx	lr
  44              	.L4:
  45 000e C046     		.align	2
  46              	.L3:
  47 0010 00ED00E0 		.word	-536810240
  48              	.LFE26:
  50              		.section	.text.NVIC_Init,"ax",%progbits
  51              		.align	2
  52              		.global	NVIC_Init
  53              		.thumb
  54              		.thumb_func
  56              	NVIC_Init:
  57              	.LFB27:
 103:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
 104:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** /**
 105:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @brief  Initializes the NVIC peripheral according to the specified
 106:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *   parameters in the NVIC_InitStruct.
 107:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @param NVIC_InitStruct: pointer to a NVIC_InitTypeDef structure
 108:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *   that contains the configuration information for the
 109:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   *   specified NVIC peripheral.
 110:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   * @retval : None
 111:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   */
 112:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)
 113:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** {
  58              		.loc 1 113 0
  59              		@ args = 0, pretend = 0, frame = 0
  60              		@ frame_needed = 0, uses_anonymous_args = 0
  61              		@ link register save eliminated.
  62              	.LVL2:
 114:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   uint32_t tmppriority = 0x00, tmppre = 0x00, tmpsub = 0x0F;
 115:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   
 116:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   /* Check the parameters */
 117:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   assert_param(IS_FUNCTIONAL_STATE(NVIC_InitStruct->NVIC_IRQChannelCmd));
 118:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   assert_param(IS_NVIC_PREEMPTION_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority));  
 119:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   assert_param(IS_NVIC_SUB_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelSubPriority));
 120:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     
 121:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   if (NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE)
  63              		.loc 1 121 0
  64 0000 C378     		ldrb	r3, [r0, #3]	@ zero_extendqisi2
  65 0002 90F800C0 		ldrb	ip, [r0, #0]	@ zero_extendqisi2
  66 0006 D3B1     		cbz	r3, .L6
 122:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****   {
 123:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     /* Compute the Corresponding IRQ Priority --------------------------------*/    
 124:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     tmppriority = (0x700 - ((SCB->AIRCR) & (uint32_t)0x700))>> 0x08;
  67              		.loc 1 124 0
  68 0008 124B     		ldr	r3, .L10
 125:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     tmppre = (0x4 - tmppriority);
 126:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     tmpsub = tmpsub >> tmppriority;
 127:lib/STM32F10x_StdPeriph_Driver/src/misc.c **** 
 128:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     tmppriority = (uint32_t)NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << tmppre;
  69              		.loc 1 128 0
  70 000a 4178     		ldrb	r1, [r0, #1]	@ zero_extendqisi2
  71              		.loc 1 124 0
  72 000c DA68     		ldr	r2, [r3, #12]
  73 000e D243     		mvns	r2, r2
  74 0010 C2F30222 		ubfx	r2, r2, #8, #3
  75              	.LVL3:
  76              		.loc 1 128 0
  77 0014 C2F10403 		rsb	r3, r2, #4
  78 0018 9940     		lsls	r1, r1, r3
  79              	.LVL4:
 129:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     tmppriority |=  NVIC_InitStruct->NVIC_IRQChannelSubPriority & tmpsub;
  80              		.loc 1 129 0
  81 001a 0F23     		movs	r3, #15
  82 001c D340     		lsrs	r3, r3, r2
  83 001e 8278     		ldrb	r2, [r0, #2]	@ zero_extendqisi2
  84 0020 1340     		ands	r3, r3, r2
  85 0022 0B43     		orrs	r3, r3, r1
  86              	.LVL5:
 130:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     tmppriority = tmppriority << 0x04;
 131:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****         
 132:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority;
  87              		.loc 1 132 0
  88 0024 0C4A     		ldr	r2, .L10+4
  89 0026 1B01     		lsls	r3, r3, #4
  90              	.LVL6:
  91 0028 DBB2     		uxtb	r3, r3
  92 002a 6244     		add	r2, ip, r2
  93 002c 82F80033 		strb	r3, [r2, #768]
 133:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     
 134:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     /* Enable the Selected IRQ Channels --------------------------------------*/
 135:lib/STM32F10x_StdPeriph_Driver/src/misc.c ****     NVIC->ISER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] =
  94              		.loc 1 135 0
  95 0030 0CF01F02 		and	r2, ip, #31

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -