ARM GAS  /tmp/ccX8NgnX.s 			page 1


   1              		.cpu cortex-m0
   2              		.arch armv6s-m
   3              		.fpu softvfp
   4              		.eabi_attribute 23, 1
   5              		.eabi_attribute 24, 1
   6              		.eabi_attribute 25, 1
   7              		.eabi_attribute 26, 1
   8              		.eabi_attribute 30, 2
   9              		.eabi_attribute 34, 0
  10              		.eabi_attribute 18, 4
  11              		.file	"opa.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.file 1 "Hardware/opa.c"
  16              		.section	.text.opa_init,"ax",%progbits
  17              		.align	1
  18              		.p2align 2,,3
  19              		.global	opa_init
  20              		.syntax unified
  21              		.code	16
  22              		.thumb_func
  24              	opa_init:
  25              	.LFB45:
   1:Hardware/opa.c **** #include "opa.h"
   2:Hardware/opa.c **** #include "string.h"
   3:Hardware/opa.c **** #include "string.h"
   4:Hardware/opa.c **** #include "lcm32f06x_conf.h"
   5:Hardware/opa.c **** 
   6:Hardware/opa.c **** void opa_init(void)
   7:Hardware/opa.c **** {
  26              		.loc 1 7 1 view -0
  27              		.cfi_startproc
  28              		@ args = 0, pretend = 0, frame = 56
  29              		@ frame_needed = 0, uses_anonymous_args = 0
   8:Hardware/opa.c ****     RCC_APB0PeriphClockCmd(RCC_APB0Periph_ANACTRL, ENABLE); // 必须分开写
  30              		.loc 1 8 5 view .LVU1
   7:Hardware/opa.c ****     RCC_APB0PeriphClockCmd(RCC_APB0Periph_ANACTRL, ENABLE); // 必须分开写
  31              		.loc 1 7 1 is_stmt 0 view .LVU2
  32 0000 F0B5     		push	{r4, r5, r6, r7, lr}
  33              	.LCFI0:
  34              		.cfi_def_cfa_offset 20
  35              		.cfi_offset 4, -20
  36              		.cfi_offset 5, -16
  37              		.cfi_offset 6, -12
  38              		.cfi_offset 7, -8
  39              		.cfi_offset 14, -4
  40              		.loc 1 8 5 view .LVU3
  41 0002 0121     		movs	r1, #1
   7:Hardware/opa.c ****     RCC_APB0PeriphClockCmd(RCC_APB0Periph_ANACTRL, ENABLE); // 必须分开写
  42              		.loc 1 7 1 view .LVU4
  43 0004 8FB0     		sub	sp, sp, #60
  44              	.LCFI1:
  45              		.cfi_def_cfa_offset 80
  46              		.loc 1 8 5 view .LVU5
  47 0006 2020     		movs	r0, #32
  48 0008 FFF7FEFF 		bl	RCC_APB0PeriphClockCmd
ARM GAS  /tmp/ccX8NgnX.s 			page 2


  49              	.LVL0:
   9:Hardware/opa.c **** 
  10:Hardware/opa.c ****     // io init [PA3:OPA0+ | PA4:OPA0- I 内部通道ADC Channel 11]; [PA5:OPA2+ | PA6:OPA2- 内部�
  11:Hardware/opa.c ****     GPIO_InitTypeDef GPIO_InitStructure;
  50              		.loc 1 11 5 is_stmt 1 view .LVU6
  12:Hardware/opa.c ****     memset(&GPIO_InitStructure, 0, sizeof(GPIO_InitTypeDef));
  51              		.loc 1 12 5 view .LVU7
  52 000c 0023     		movs	r3, #0
  13:Hardware/opa.c **** 
  14:Hardware/opa.c ****     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6; // PA3 PA4 PA5
  15:Hardware/opa.c ****     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  16:Hardware/opa.c ****     GPIO_Init(GPIOA, &GPIO_InitStructure);
  53              		.loc 1 16 5 is_stmt 0 view .LVU8
  54 000e 9020     		movs	r0, #144
  15:Hardware/opa.c ****     GPIO_Init(GPIOA, &GPIO_InitStructure);
  55              		.loc 1 15 34 view .LVU9
  56 0010 6A46     		mov	r2, sp
  12:Hardware/opa.c ****     memset(&GPIO_InitStructure, 0, sizeof(GPIO_InitTypeDef));
  57              		.loc 1 12 5 view .LVU10
  58 0012 0193     		str	r3, [sp, #4]
  14:Hardware/opa.c ****     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  59              		.loc 1 14 5 is_stmt 1 view .LVU11
  14:Hardware/opa.c ****     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  60              		.loc 1 14 33 is_stmt 0 view .LVU12
  61 0014 7833     		adds	r3, r3, #120
  62              		.loc 1 16 5 view .LVU13
  63 0016 6946     		mov	r1, sp
  14:Hardware/opa.c ****     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  64              		.loc 1 14 33 view .LVU14
  65 0018 0093     		str	r3, [sp]
  15:Hardware/opa.c ****     GPIO_Init(GPIOA, &GPIO_InitStructure);
  66              		.loc 1 15 5 is_stmt 1 view .LVU15
  67              		.loc 1 16 5 is_stmt 0 view .LVU16
  68 001a C005     		lsls	r0, r0, #23
  15:Hardware/opa.c ****     GPIO_Init(GPIOA, &GPIO_InitStructure);
  69              		.loc 1 15 34 view .LVU17
  70 001c 753B     		subs	r3, r3, #117
  71 001e 1371     		strb	r3, [r2, #4]
  72              		.loc 1 16 5 is_stmt 1 view .LVU18
  73 0020 FFF7FEFF 		bl	GPIO_Init
  74              	.LVL1:
  17:Hardware/opa.c **** 
  18:Hardware/opa.c ****     GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_2); // PA3 OPA0+
  75              		.loc 1 18 5 view .LVU19
  76 0024 9020     		movs	r0, #144
  77 0026 0222     		movs	r2, #2
  78 0028 0321     		movs	r1, #3
  79 002a C005     		lsls	r0, r0, #23
  80 002c FFF7FEFF 		bl	GPIO_PinAFConfig
  81              	.LVL2:
  19:Hardware/opa.c ****     GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_2); // PA4 OPA0-
  82              		.loc 1 19 5 view .LVU20
  83 0030 9020     		movs	r0, #144
  84 0032 0222     		movs	r2, #2
  85 0034 0421     		movs	r1, #4
  86 0036 C005     		lsls	r0, r0, #23
  87 0038 FFF7FEFF 		bl	GPIO_PinAFConfig
ARM GAS  /tmp/ccX8NgnX.s 			page 3


  88              	.LVL3:
  20:Hardware/opa.c ****     GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_2); // PA5 OPA2+
  89              		.loc 1 20 5 view .LVU21
  90 003c 9020     		movs	r0, #144
  91 003e 0222     		movs	r2, #2
  92 0040 0521     		movs	r1, #5
  93 0042 C005     		lsls	r0, r0, #23
  94 0044 FFF7FEFF 		bl	GPIO_PinAFConfig
  95              	.LVL4:
  21:Hardware/opa.c ****     GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_2); // PA6 OPA2-
  96              		.loc 1 21 5 view .LVU22
  97 0048 9020     		movs	r0, #144
  98 004a 0222     		movs	r2, #2
  99 004c 0621     		movs	r1, #6
 100 004e C005     		lsls	r0, r0, #23
 101 0050 FFF7FEFF 		bl	GPIO_PinAFConfig
 102              	.LVL5:
  22:Hardware/opa.c **** 
  23:Hardware/opa.c ****     OPA_InitTypeDef OPA_InitStruct;
 103              		.loc 1 23 5 view .LVU23
  24:Hardware/opa.c **** 
  25:Hardware/opa.c ****     // op0   C相 注意 OPA_Gain增益需要根据采用电阻的大小 以及工作电压来决�
  26:Hardware/opa.c ****     OPA_InitStruct.OPA_PositiveInput = OPA_PositiveInput_P1;
 104              		.loc 1 26 5 view .LVU24
  27:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeInput = OPA_NegativeInput_N0;
 105              		.loc 1 27 5 view .LVU25
  28:Hardware/opa.c ****     OPA_InitStruct.OPA_FeedbackResSingal = OPA_FeedbackResSingal_EN;
 106              		.loc 1 28 5 view .LVU26
  29:Hardware/opa.c ****     OPA_InitStruct.OPA_InputRes = OPA_InputRes_36K;
 107              		.loc 1 29 5 view .LVU27
  30:Hardware/opa.c ****     OPA_InitStruct.OPA_PositiveADCSwitch = OPA_PositiveADCSwitch_DISEN;
 108              		.loc 1 30 5 view .LVU28
  31:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeADCSwitch = OPA_NegativeADCSwitch_DISEN;
 109              		.loc 1 31 5 view .LVU29
  32:Hardware/opa.c ****     OPA_InitStruct.OPA_Gain = OPA_Gain_4;
 110              		.loc 1 32 5 view .LVU30
  33:Hardware/opa.c ****     OPA_InitStruct.OPA_BiasVoltageSource = OPA_BiasVoltageSource_ADC_2;
 111              		.loc 1 33 5 view .LVU31
  34:Hardware/opa.c ****     OPA_InitStruct.OPA_BiasVoltage = OPA_BiasVoltage_EN;
 112              		.loc 1 34 5 view .LVU32
  35:Hardware/opa.c ****     OPA_InitStruct.OPA_FeedbackRes = OPA_FeedbackRes_EN;
 113              		.loc 1 35 5 view .LVU33
  36:Hardware/opa.c ****     OPA_InitStruct.OPA_OppRES_Short = OPA_OppRES_Short_DISEN;
 114              		.loc 1 36 5 view .LVU34
  37:Hardware/opa.c ****     OPA_InitStruct.OPA_OpnRES_Short = OPA_OpnRES_Short_DISEN;
 115              		.loc 1 37 5 view .LVU35
  26:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeInput = OPA_NegativeInput_N0;
 116              		.loc 1 26 38 is_stmt 0 view .LVU36
 117 0054 8022     		movs	r2, #128
 118 0056 0023     		movs	r3, #0
 119 0058 D204     		lsls	r2, r2, #19
 120 005a 0292     		str	r2, [sp, #8]
 121 005c 0393     		str	r3, [sp, #12]
 122 005e 8022     		movs	r2, #128
 123 0060 4023     		movs	r3, #64
 124 0062 9200     		lsls	r2, r2, #2
 125 0064 0892     		str	r2, [sp, #32]
ARM GAS  /tmp/ccX8NgnX.s 			page 4


 126 0066 0993     		str	r3, [sp, #36]
 127 0068 2021     		movs	r1, #32
 128 006a 1022     		movs	r2, #16
 129 006c 8026     		movs	r6, #128
 130 006e 0024     		movs	r4, #0
 131 0070 0025     		movs	r5, #0
 132 0072 0027     		movs	r7, #0
  38:Hardware/opa.c ****     OPA_Init(OPA0, &OPA_InitStruct);
 133              		.loc 1 38 5 view .LVU37
 134 0074 02AB     		add	r3, sp, #8
  26:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeInput = OPA_NegativeInput_N0;
 135              		.loc 1 26 38 view .LVU38
 136 0076 0A91     		str	r1, [sp, #40]
 137 0078 0B92     		str	r2, [sp, #44]
 138 007a F601     		lsls	r6, r6, #7
 139              		.loc 1 38 5 view .LVU39
 140 007c 1900     		movs	r1, r3
 141 007e 1548     		ldr	r0, .L3
  26:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeInput = OPA_NegativeInput_N0;
 142              		.loc 1 26 38 view .LVU40
 143 0080 0496     		str	r6, [sp, #16]
 144 0082 0597     		str	r7, [sp, #20]
 145 0084 0694     		str	r4, [sp, #24]
 146 0086 0795     		str	r5, [sp, #28]
 147 0088 0C94     		str	r4, [sp, #48]
 148 008a 0D95     		str	r5, [sp, #52]
 149              		.loc 1 38 5 is_stmt 1 view .LVU41
 150 008c FFF7FEFF 		bl	OPA_Init
 151              	.LVL6:
  39:Hardware/opa.c ****     OPA_Cmd(OPA0, ENABLE);
 152              		.loc 1 39 5 view .LVU42
 153 0090 0121     		movs	r1, #1
 154 0092 1048     		ldr	r0, .L3
 155 0094 FFF7FEFF 		bl	OPA_Cmd
 156              	.LVL7:
  40:Hardware/opa.c **** 
  41:Hardware/opa.c ****     // op2   B相 注意 OPA_Gain增益需要根据采用电阻的大小 以及工作电压来决�
  42:Hardware/opa.c ****     OPA_InitStruct.OPA_PositiveInput = OPA_PositiveInput_P0;
 157              		.loc 1 42 5 view .LVU43
  43:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeInput = OPA_NegativeInput_N1;
 158              		.loc 1 43 5 view .LVU44
  44:Hardware/opa.c ****     OPA_InitStruct.OPA_FeedbackResSingal = OPA_FeedbackResSingal_EN;
 159              		.loc 1 44 5 view .LVU45
  45:Hardware/opa.c ****     OPA_InitStruct.OPA_InputRes = OPA_InputRes_36K;
 160              		.loc 1 45 5 view .LVU46
  46:Hardware/opa.c ****     OPA_InitStruct.OPA_PositiveADCSwitch = OPA_PositiveADCSwitch_DISEN;
 161              		.loc 1 46 5 view .LVU47
  47:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeADCSwitch = OPA_NegativeADCSwitch_DISEN;
 162              		.loc 1 47 5 view .LVU48
  48:Hardware/opa.c ****     OPA_InitStruct.OPA_Gain = OPA_Gain_4;
 163              		.loc 1 48 5 view .LVU49
  49:Hardware/opa.c ****     OPA_InitStruct.OPA_BiasVoltageSource = OPA_BiasVoltageSource_ADC_2;
 164              		.loc 1 49 5 view .LVU50
  50:Hardware/opa.c ****     OPA_InitStruct.OPA_BiasVoltage = OPA_BiasVoltage_EN;
 165              		.loc 1 50 5 view .LVU51
  51:Hardware/opa.c ****     OPA_InitStruct.OPA_FeedbackRes = OPA_FeedbackRes_EN;
 166              		.loc 1 51 5 view .LVU52
ARM GAS  /tmp/ccX8NgnX.s 			page 5


  52:Hardware/opa.c ****     OPA_InitStruct.OPA_OppRES_Short = OPA_OppRES_Short_DISEN;
 167              		.loc 1 52 5 view .LVU53
  53:Hardware/opa.c ****     OPA_InitStruct.OPA_OpnRES_Short = OPA_OpnRES_Short_DISEN;
 168              		.loc 1 53 5 view .LVU54
  42:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeInput = OPA_NegativeInput_N1;
 169              		.loc 1 42 38 is_stmt 0 view .LVU55
 170 0098 8023     		movs	r3, #128
 171 009a 0022     		movs	r2, #0
 172 009c 5B04     		lsls	r3, r3, #17
 173 009e 0292     		str	r2, [sp, #8]
 174 00a0 0393     		str	r3, [sp, #12]
 175 00a2 8022     		movs	r2, #128
 176 00a4 4023     		movs	r3, #64
 177 00a6 9200     		lsls	r2, r2, #2
 178 00a8 0892     		str	r2, [sp, #32]
 179 00aa 0993     		str	r3, [sp, #36]
 180 00ac 2021     		movs	r1, #32
 181 00ae 1022     		movs	r2, #16
  54:Hardware/opa.c ****     OPA_Init(OPA2, &OPA_InitStruct);
 182              		.loc 1 54 5 view .LVU56
 183 00b0 0948     		ldr	r0, .L3+4
  42:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeInput = OPA_NegativeInput_N1;
 184              		.loc 1 42 38 view .LVU57
 185 00b2 0A91     		str	r1, [sp, #40]
 186 00b4 0B92     		str	r2, [sp, #44]
 187              		.loc 1 54 5 view .LVU58
 188 00b6 02A9     		add	r1, sp, #8
  42:Hardware/opa.c ****     OPA_InitStruct.OPA_NegativeInput = OPA_NegativeInput_N1;
 189              		.loc 1 42 38 view .LVU59
 190 00b8 0496     		str	r6, [sp, #16]
 191 00ba 0597     		str	r7, [sp, #20]
 192 00bc 0694     		str	r4, [sp, #24]
 193 00be 0795     		str	r5, [sp, #28]
 194 00c0 0C94     		str	r4, [sp, #48]
 195 00c2 0D95     		str	r5, [sp, #52]
 196              		.loc 1 54 5 is_stmt 1 view .LVU60
 197 00c4 FFF7FEFF 		bl	OPA_Init
 198              	.LVL8:
  55:Hardware/opa.c ****     OPA_Cmd(OPA2, ENABLE);
 199              		.loc 1 55 5 view .LVU61
 200 00c8 0121     		movs	r1, #1
 201 00ca 0348     		ldr	r0, .L3+4
 202 00cc FFF7FEFF 		bl	OPA_Cmd
 203              	.LVL9:
  56:Hardware/opa.c **** }
 204              		.loc 1 56 1 is_stmt 0 view .LVU62
 205 00d0 0FB0     		add	sp, sp, #60
 206              		@ sp needed
 207 00d2 F0BD     		pop	{r4, r5, r6, r7, pc}
 208              	.L4:
 209              		.align	2
 210              	.L3:
 211 00d4 007C0140 		.word	1073839104
 212 00d8 087C0140 		.word	1073839112
 213              		.cfi_endproc
 214              	.LFE45:
 216              		.text
ARM GAS  /tmp/ccX8NgnX.s 			page 6


 217              	.Letext0:
 218              		.file 2 "/home/ha/toolchain/arm-gnu-toolchain-14.3/arm-none-eabi/include/machine/_default_types.h"
 219              		.file 3 "Library/inc/lcm32f06x.h"
 220              		.file 4 "/home/ha/toolchain/arm-gnu-toolchain-14.3/arm-none-eabi/include/sys/_stdint.h"
 221              		.file 5 "Library/inc/lcm32f06x_gpio.h"
 222              		.file 6 "Library/inc/lcm32f06x_opa.h"
 223              		.file 7 "Library/inc/lcm32f06x_rcc.h"
 224              		.file 8 "/home/ha/toolchain/arm-gnu-toolchain-14.3/arm-none-eabi/include/string.h"
ARM GAS  /tmp/ccX8NgnX.s 			page 7


DEFINED SYMBOLS
                            *ABS*:00000000 opa.c
     /tmp/ccX8NgnX.s:17     .text.opa_init:00000000 $t
     /tmp/ccX8NgnX.s:24     .text.opa_init:00000000 opa_init
     /tmp/ccX8NgnX.s:211    .text.opa_init:000000d4 $d

UNDEFINED SYMBOLS
RCC_APB0PeriphClockCmd
GPIO_Init
GPIO_PinAFConfig
OPA_Init
OPA_Cmd
