1163 lines
45 KiB
Text
1163 lines
45 KiB
Text
ARM GAS /tmp/cclvWDtP.s page 1
|
||
|
||
|
||
1 .cpu cortex-m0
|
||
2 .eabi_attribute 20, 1
|
||
3 .eabi_attribute 21, 1
|
||
4 .eabi_attribute 23, 3
|
||
5 .eabi_attribute 24, 1
|
||
6 .eabi_attribute 25, 1
|
||
7 .eabi_attribute 26, 1
|
||
8 .eabi_attribute 30, 1
|
||
9 .eabi_attribute 34, 0
|
||
10 .eabi_attribute 18, 4
|
||
11 .file "main.c"
|
||
12 .text
|
||
13 .Ltext0:
|
||
14 .cfi_sections .debug_frame
|
||
15 .section .text.MX_GPIO_Init,"ax",%progbits
|
||
16 .align 1
|
||
17 .syntax unified
|
||
18 .code 16
|
||
19 .thumb_func
|
||
20 .fpu softvfp
|
||
22 MX_GPIO_Init:
|
||
23 .LFB48:
|
||
24 .file 1 "Src/main.c"
|
||
1:Src/main.c ****
|
||
2:Src/main.c **** #include "main.h"
|
||
3:Src/main.c **** #include "usb_device.h"
|
||
4:Src/main.c ****
|
||
5:Src/main.c **** #include "device_conf.h"
|
||
6:Src/main.c **** #include "curemisc.h"
|
||
7:Src/main.c **** #include "curebuffer.h"
|
||
8:Src/main.c **** #include "usbd_midi_if.h"
|
||
9:Src/main.c **** #include "usbd_midi.h"
|
||
10:Src/main.c ****
|
||
11:Src/main.c **** #define HYST 50
|
||
12:Src/main.c ****
|
||
13:Src/main.c **** ADC_HandleTypeDef hadc;
|
||
14:Src/main.c **** DMA_HandleTypeDef hdma_adc;
|
||
15:Src/main.c ****
|
||
16:Src/main.c **** PCD_HandleTypeDef hpcd_USB_FS;
|
||
17:Src/main.c ****
|
||
18:Src/main.c **** void SystemClock_Config(void);
|
||
19:Src/main.c **** static void MX_GPIO_Init(void);
|
||
20:Src/main.c **** static void MX_DMA_Init(void);
|
||
21:Src/main.c **** static void MX_ADC_Init(void);
|
||
22:Src/main.c **** static void MX_USB_PCD_Init(void);
|
||
23:Src/main.c ****
|
||
24:Src/main.c **** uint16_t ADC_val[8];
|
||
25:Src/main.c **** uint16_t ADC_val_old[8];
|
||
26:Src/main.c **** uint8_t dial[8];
|
||
27:Src/main.c **** uint8_t dial_mapping[8] = {1, 2, 3, 4, 5, 6, 7, 0};
|
||
28:Src/main.c **** uint16_t dial_div[8] = {32, 32, 32, 32, 32, 32, 32, 256};
|
||
29:Src/main.c ****
|
||
30:Src/main.c **** uint8_t midi_packet[4] = {0x0B, 0xB0, 0x00, 0x00};
|
||
31:Src/main.c ****
|
||
32:Src/main.c **** int main(void)
|
||
33:Src/main.c **** {
|
||
34:Src/main.c **** HAL_Init();
|
||
ARM GAS /tmp/cclvWDtP.s page 2
|
||
|
||
|
||
35:Src/main.c ****
|
||
36:Src/main.c **** SystemClock_Config();
|
||
37:Src/main.c ****
|
||
38:Src/main.c **** MX_GPIO_Init();
|
||
39:Src/main.c **** MX_DMA_Init();
|
||
40:Src/main.c **** MX_ADC_Init();
|
||
41:Src/main.c **** MX_USB_MIDI_INIT();
|
||
42:Src/main.c ****
|
||
43:Src/main.c **** HAL_ADC_Start_DMA(&hadc, ADC_val, 8);
|
||
44:Src/main.c ****
|
||
45:Src/main.c ****
|
||
46:Src/main.c **** if(FUNC_ERROR == midiInit() ){
|
||
47:Src/main.c **** while(1){
|
||
48:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
|
||
49:Src/main.c **** HAL_Delay(500);
|
||
50:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
|
||
51:Src/main.c **** HAL_Delay(500);
|
||
52:Src/main.c **** }
|
||
53:Src/main.c **** }
|
||
54:Src/main.c ****
|
||
55:Src/main.c **** //Wait usb configuration.
|
||
56:Src/main.c **** while(1){
|
||
57:Src/main.c ****
|
||
58:Src/main.c **** if(USBD_STATE_CONFIGURED == hUsbDeviceFS.dev_state){
|
||
59:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
|
||
60:Src/main.c **** break;
|
||
61:Src/main.c **** }else{
|
||
62:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
|
||
63:Src/main.c **** }
|
||
64:Src/main.c **** }
|
||
65:Src/main.c ****
|
||
66:Src/main.c **** while (1)
|
||
67:Src/main.c **** {
|
||
68:Src/main.c **** while(1){
|
||
69:Src/main.c **** if(USBD_STATE_CONFIGURED == hUsbDeviceFS.dev_state){
|
||
70:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
|
||
71:Src/main.c **** break;
|
||
72:Src/main.c **** }else{
|
||
73:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
|
||
74:Src/main.c **** HAL_Delay(200);
|
||
75:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
|
||
76:Src/main.c **** HAL_Delay(200);
|
||
77:Src/main.c **** }
|
||
78:Src/main.c **** }
|
||
79:Src/main.c ****
|
||
80:Src/main.c **** midiProcess();
|
||
81:Src/main.c **** for(uint8_t i = 0; i <= 7; i++){
|
||
82:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
|
||
83:Src/main.c **** ADC_val_old[dial_mapping[i]] = ADC_val[dial_mapping[i]];
|
||
84:Src/main.c **** dial[i] = (uint8_t)((ADC_val[dial_mapping[i]]/dial_div[i]) & 0x7F);
|
||
85:Src/main.c **** midi_packet[3] = dial[i];
|
||
86:Src/main.c **** midi_packet[1] = 0xB0 + i;
|
||
87:Src/main.c **** sendMidiMessage(midi_packet, 4);
|
||
88:Src/main.c **** USBD_MIDI_SendPacket();
|
||
89:Src/main.c **** HAL_Delay(2);
|
||
90:Src/main.c **** }
|
||
91:Src/main.c **** }
|
||
ARM GAS /tmp/cclvWDtP.s page 3
|
||
|
||
|
||
92:Src/main.c **** //USBD_MIDI_SendData(&hUsbDeviceFS, midi_packet, 4);
|
||
93:Src/main.c ****
|
||
94:Src/main.c ****
|
||
95:Src/main.c **** }
|
||
96:Src/main.c **** }
|
||
97:Src/main.c ****
|
||
98:Src/main.c **** void SystemClock_Config(void)
|
||
99:Src/main.c **** {
|
||
100:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
|
||
101:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
|
||
102:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
|
||
103:Src/main.c ****
|
||
104:Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI14|RCC_OSCILLATORTYPE_HSI48;
|
||
105:Src/main.c **** RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
|
||
106:Src/main.c **** RCC_OscInitStruct.HSI14State = RCC_HSI14_ON;
|
||
107:Src/main.c **** RCC_OscInitStruct.HSI14CalibrationValue = 16;
|
||
108:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
|
||
109:Src/main.c **** HAL_RCC_OscConfig(&RCC_OscInitStruct);
|
||
110:Src/main.c ****
|
||
111:Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||
112:Src/main.c **** |RCC_CLOCKTYPE_PCLK1;
|
||
113:Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI48;
|
||
114:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
||
115:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
|
||
116:Src/main.c **** HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);
|
||
117:Src/main.c ****
|
||
118:Src/main.c **** PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB;
|
||
119:Src/main.c **** PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
|
||
120:Src/main.c **** HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
|
||
121:Src/main.c ****
|
||
122:Src/main.c **** }
|
||
123:Src/main.c ****
|
||
124:Src/main.c **** static void MX_ADC_Init(void)
|
||
125:Src/main.c **** {
|
||
126:Src/main.c ****
|
||
127:Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0};
|
||
128:Src/main.c ****
|
||
129:Src/main.c **** hadc.Instance = ADC1;
|
||
130:Src/main.c **** hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
|
||
131:Src/main.c **** hadc.Init.Resolution = ADC_RESOLUTION_12B;
|
||
132:Src/main.c **** hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
|
||
133:Src/main.c **** hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD;
|
||
134:Src/main.c **** hadc.Init.EOCSelection = ADC_EOC_SEQ_CONV;
|
||
135:Src/main.c **** hadc.Init.LowPowerAutoWait = DISABLE;
|
||
136:Src/main.c **** hadc.Init.LowPowerAutoPowerOff = DISABLE;
|
||
137:Src/main.c **** hadc.Init.ContinuousConvMode = ENABLE;
|
||
138:Src/main.c **** hadc.Init.DiscontinuousConvMode = DISABLE;
|
||
139:Src/main.c **** hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
|
||
140:Src/main.c **** hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
|
||
141:Src/main.c **** hadc.Init.DMAContinuousRequests = ENABLE;
|
||
142:Src/main.c **** hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED;
|
||
143:Src/main.c **** HAL_ADC_Init(&hadc);
|
||
144:Src/main.c ****
|
||
145:Src/main.c **** sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
|
||
146:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_71CYCLES_5;
|
||
147:Src/main.c **** sConfig.Channel = ADC_CHANNEL_1;
|
||
148:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
ARM GAS /tmp/cclvWDtP.s page 4
|
||
|
||
|
||
149:Src/main.c ****
|
||
150:Src/main.c **** sConfig.Channel = ADC_CHANNEL_2;
|
||
151:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
152:Src/main.c ****
|
||
153:Src/main.c **** sConfig.Channel = ADC_CHANNEL_3;
|
||
154:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
155:Src/main.c ****
|
||
156:Src/main.c **** sConfig.Channel = ADC_CHANNEL_4;
|
||
157:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
158:Src/main.c ****
|
||
159:Src/main.c **** sConfig.Channel = ADC_CHANNEL_5;
|
||
160:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
161:Src/main.c ****
|
||
162:Src/main.c **** sConfig.Channel = ADC_CHANNEL_6;
|
||
163:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
164:Src/main.c ****
|
||
165:Src/main.c **** sConfig.Channel = ADC_CHANNEL_7;
|
||
166:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
167:Src/main.c ****
|
||
168:Src/main.c **** sConfig.Channel = ADC_CHANNEL_8;
|
||
169:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
170:Src/main.c **** }
|
||
171:Src/main.c ****
|
||
172:Src/main.c **** static void MX_USB_PCD_Init(void)
|
||
173:Src/main.c **** {
|
||
174:Src/main.c ****
|
||
175:Src/main.c **** hpcd_USB_FS.Instance = USB;
|
||
176:Src/main.c **** hpcd_USB_FS.Init.dev_endpoints = 8;
|
||
177:Src/main.c **** hpcd_USB_FS.Init.speed = PCD_SPEED_FULL;
|
||
178:Src/main.c **** hpcd_USB_FS.Init.phy_itface = PCD_PHY_EMBEDDED;
|
||
179:Src/main.c **** hpcd_USB_FS.Init.low_power_enable = DISABLE;
|
||
180:Src/main.c **** hpcd_USB_FS.Init.lpm_enable = DISABLE;
|
||
181:Src/main.c **** hpcd_USB_FS.Init.battery_charging_enable = DISABLE;
|
||
182:Src/main.c **** HAL_PCD_Init(&hpcd_USB_FS);
|
||
183:Src/main.c **** }
|
||
184:Src/main.c ****
|
||
185:Src/main.c ****
|
||
186:Src/main.c **** static void MX_DMA_Init(void)
|
||
187:Src/main.c **** {
|
||
188:Src/main.c **** __HAL_RCC_DMA1_CLK_ENABLE();
|
||
189:Src/main.c ****
|
||
190:Src/main.c **** HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
|
||
191:Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
|
||
192:Src/main.c **** }
|
||
193:Src/main.c ****
|
||
194:Src/main.c ****
|
||
195:Src/main.c **** static void MX_GPIO_Init(void)
|
||
196:Src/main.c **** {
|
||
25 .loc 1 196 0
|
||
26 .cfi_startproc
|
||
27 @ args = 0, pretend = 0, frame = 32
|
||
28 @ frame_needed = 0, uses_anonymous_args = 0
|
||
29 0000 30B5 push {r4, r5, lr}
|
||
30 .LCFI0:
|
||
31 .cfi_def_cfa_offset 12
|
||
32 .cfi_offset 4, -12
|
||
33 .cfi_offset 5, -8
|
||
ARM GAS /tmp/cclvWDtP.s page 5
|
||
|
||
|
||
34 .cfi_offset 14, -4
|
||
35 0002 89B0 sub sp, sp, #36
|
||
36 .LCFI1:
|
||
37 .cfi_def_cfa_offset 48
|
||
197:Src/main.c ****
|
||
198:Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||
38 .loc 1 198 0
|
||
39 0004 1422 movs r2, #20
|
||
40 0006 0021 movs r1, #0
|
||
41 0008 03A8 add r0, sp, #12
|
||
42 000a FFF7FEFF bl memset
|
||
43 .LVL0:
|
||
44 .LBB2:
|
||
199:Src/main.c ****
|
||
200:Src/main.c **** __HAL_RCC_GPIOB_CLK_ENABLE();
|
||
45 .loc 1 200 0
|
||
46 000e 134B ldr r3, .L2
|
||
47 0010 5969 ldr r1, [r3, #20]
|
||
48 0012 8020 movs r0, #128
|
||
49 0014 C002 lsls r0, r0, #11
|
||
50 0016 0143 orrs r1, r0
|
||
51 0018 5961 str r1, [r3, #20]
|
||
52 001a 5A69 ldr r2, [r3, #20]
|
||
53 001c 0240 ands r2, r0
|
||
54 001e 0192 str r2, [sp, #4]
|
||
55 0020 019A ldr r2, [sp, #4]
|
||
56 .LBE2:
|
||
57 .LBB3:
|
||
201:Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE();
|
||
58 .loc 1 201 0
|
||
59 0022 5A69 ldr r2, [r3, #20]
|
||
60 0024 8021 movs r1, #128
|
||
61 0026 8902 lsls r1, r1, #10
|
||
62 0028 0A43 orrs r2, r1
|
||
63 002a 5A61 str r2, [r3, #20]
|
||
64 002c 5B69 ldr r3, [r3, #20]
|
||
65 002e 0B40 ands r3, r1
|
||
66 0030 0293 str r3, [sp, #8]
|
||
67 0032 029B ldr r3, [sp, #8]
|
||
68 .LBE3:
|
||
202:Src/main.c ****
|
||
203:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET);
|
||
69 .loc 1 203 0
|
||
70 0034 8025 movs r5, #128
|
||
71 0036 AD01 lsls r5, r5, #6
|
||
72 0038 094C ldr r4, .L2+4
|
||
73 003a 0022 movs r2, #0
|
||
74 003c 2900 movs r1, r5
|
||
75 003e 2000 movs r0, r4
|
||
76 0040 FFF7FEFF bl HAL_GPIO_WritePin
|
||
77 .LVL1:
|
||
204:Src/main.c ****
|
||
205:Src/main.c **** GPIO_InitStruct.Pin = GPIO_PIN_13;
|
||
78 .loc 1 205 0
|
||
79 0044 0395 str r5, [sp, #12]
|
||
206:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||
80 .loc 1 206 0
|
||
ARM GAS /tmp/cclvWDtP.s page 6
|
||
|
||
|
||
81 0046 0123 movs r3, #1
|
||
82 0048 0493 str r3, [sp, #16]
|
||
207:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||
83 .loc 1 207 0
|
||
84 004a 0023 movs r3, #0
|
||
85 004c 0593 str r3, [sp, #20]
|
||
208:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||
86 .loc 1 208 0
|
||
87 004e 0693 str r3, [sp, #24]
|
||
209:Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||
88 .loc 1 209 0
|
||
89 0050 03A9 add r1, sp, #12
|
||
90 0052 2000 movs r0, r4
|
||
91 0054 FFF7FEFF bl HAL_GPIO_Init
|
||
92 .LVL2:
|
||
210:Src/main.c **** }
|
||
93 .loc 1 210 0
|
||
94 0058 09B0 add sp, sp, #36
|
||
95 @ sp needed
|
||
96 005a 30BD pop {r4, r5, pc}
|
||
97 .L3:
|
||
98 .align 2
|
||
99 .L2:
|
||
100 005c 00100240 .word 1073876992
|
||
101 0060 00040048 .word 1207960576
|
||
102 .cfi_endproc
|
||
103 .LFE48:
|
||
105 .section .text.MX_DMA_Init,"ax",%progbits
|
||
106 .align 1
|
||
107 .syntax unified
|
||
108 .code 16
|
||
109 .thumb_func
|
||
110 .fpu softvfp
|
||
112 MX_DMA_Init:
|
||
113 .LFB47:
|
||
187:Src/main.c **** __HAL_RCC_DMA1_CLK_ENABLE();
|
||
114 .loc 1 187 0
|
||
115 .cfi_startproc
|
||
116 @ args = 0, pretend = 0, frame = 8
|
||
117 @ frame_needed = 0, uses_anonymous_args = 0
|
||
118 0000 00B5 push {lr}
|
||
119 .LCFI2:
|
||
120 .cfi_def_cfa_offset 4
|
||
121 .cfi_offset 14, -4
|
||
122 0002 83B0 sub sp, sp, #12
|
||
123 .LCFI3:
|
||
124 .cfi_def_cfa_offset 16
|
||
125 .LBB4:
|
||
188:Src/main.c ****
|
||
126 .loc 1 188 0
|
||
127 0004 094A ldr r2, .L5
|
||
128 0006 5169 ldr r1, [r2, #20]
|
||
129 0008 0123 movs r3, #1
|
||
130 000a 1943 orrs r1, r3
|
||
131 000c 5161 str r1, [r2, #20]
|
||
132 000e 5269 ldr r2, [r2, #20]
|
||
133 0010 1340 ands r3, r2
|
||
ARM GAS /tmp/cclvWDtP.s page 7
|
||
|
||
|
||
134 0012 0193 str r3, [sp, #4]
|
||
135 0014 019B ldr r3, [sp, #4]
|
||
136 .LBE4:
|
||
190:Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
|
||
137 .loc 1 190 0
|
||
138 0016 0022 movs r2, #0
|
||
139 0018 0021 movs r1, #0
|
||
140 001a 0920 movs r0, #9
|
||
141 001c FFF7FEFF bl HAL_NVIC_SetPriority
|
||
142 .LVL3:
|
||
191:Src/main.c **** }
|
||
143 .loc 1 191 0
|
||
144 0020 0920 movs r0, #9
|
||
145 0022 FFF7FEFF bl HAL_NVIC_EnableIRQ
|
||
146 .LVL4:
|
||
192:Src/main.c ****
|
||
147 .loc 1 192 0
|
||
148 0026 03B0 add sp, sp, #12
|
||
149 @ sp needed
|
||
150 0028 00BD pop {pc}
|
||
151 .L6:
|
||
152 002a C046 .align 2
|
||
153 .L5:
|
||
154 002c 00100240 .word 1073876992
|
||
155 .cfi_endproc
|
||
156 .LFE47:
|
||
158 .section .text.MX_ADC_Init,"ax",%progbits
|
||
159 .align 1
|
||
160 .syntax unified
|
||
161 .code 16
|
||
162 .thumb_func
|
||
163 .fpu softvfp
|
||
165 MX_ADC_Init:
|
||
166 .LFB45:
|
||
125:Src/main.c ****
|
||
167 .loc 1 125 0
|
||
168 .cfi_startproc
|
||
169 @ args = 0, pretend = 0, frame = 16
|
||
170 @ frame_needed = 0, uses_anonymous_args = 0
|
||
171 0000 F0B5 push {r4, r5, r6, r7, lr}
|
||
172 .LCFI4:
|
||
173 .cfi_def_cfa_offset 20
|
||
174 .cfi_offset 4, -20
|
||
175 .cfi_offset 5, -16
|
||
176 .cfi_offset 6, -12
|
||
177 .cfi_offset 7, -8
|
||
178 .cfi_offset 14, -4
|
||
179 0002 85B0 sub sp, sp, #20
|
||
180 .LCFI5:
|
||
181 .cfi_def_cfa_offset 40
|
||
127:Src/main.c ****
|
||
182 .loc 1 127 0
|
||
183 0004 0C22 movs r2, #12
|
||
184 0006 0021 movs r1, #0
|
||
185 0008 01A8 add r0, sp, #4
|
||
186 000a FFF7FEFF bl memset
|
||
187 .LVL5:
|
||
ARM GAS /tmp/cclvWDtP.s page 8
|
||
|
||
|
||
129:Src/main.c **** hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
|
||
188 .loc 1 129 0
|
||
189 000e 264C ldr r4, .L8
|
||
190 0010 264B ldr r3, .L8+4
|
||
191 0012 2360 str r3, [r4]
|
||
130:Src/main.c **** hadc.Init.Resolution = ADC_RESOLUTION_12B;
|
||
192 .loc 1 130 0
|
||
193 0014 0023 movs r3, #0
|
||
194 0016 6360 str r3, [r4, #4]
|
||
131:Src/main.c **** hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
|
||
195 .loc 1 131 0
|
||
196 0018 A360 str r3, [r4, #8]
|
||
132:Src/main.c **** hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD;
|
||
197 .loc 1 132 0
|
||
198 001a E360 str r3, [r4, #12]
|
||
133:Src/main.c **** hadc.Init.EOCSelection = ADC_EOC_SEQ_CONV;
|
||
199 .loc 1 133 0
|
||
200 001c 0125 movs r5, #1
|
||
201 001e 2561 str r5, [r4, #16]
|
||
134:Src/main.c **** hadc.Init.LowPowerAutoWait = DISABLE;
|
||
202 .loc 1 134 0
|
||
203 0020 0826 movs r6, #8
|
||
204 0022 6661 str r6, [r4, #20]
|
||
135:Src/main.c **** hadc.Init.LowPowerAutoPowerOff = DISABLE;
|
||
205 .loc 1 135 0
|
||
206 0024 2376 strb r3, [r4, #24]
|
||
136:Src/main.c **** hadc.Init.ContinuousConvMode = ENABLE;
|
||
207 .loc 1 136 0
|
||
208 0026 6376 strb r3, [r4, #25]
|
||
137:Src/main.c **** hadc.Init.DiscontinuousConvMode = DISABLE;
|
||
209 .loc 1 137 0
|
||
210 0028 A576 strb r5, [r4, #26]
|
||
138:Src/main.c **** hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
|
||
211 .loc 1 138 0
|
||
212 002a E376 strb r3, [r4, #27]
|
||
139:Src/main.c **** hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
|
||
213 .loc 1 139 0
|
||
214 002c C222 movs r2, #194
|
||
215 002e FF32 adds r2, r2, #255
|
||
216 0030 E261 str r2, [r4, #28]
|
||
140:Src/main.c **** hadc.Init.DMAContinuousRequests = ENABLE;
|
||
217 .loc 1 140 0
|
||
218 0032 2362 str r3, [r4, #32]
|
||
141:Src/main.c **** hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED;
|
||
219 .loc 1 141 0
|
||
220 0034 2433 adds r3, r3, #36
|
||
221 0036 E554 strb r5, [r4, r3]
|
||
142:Src/main.c **** HAL_ADC_Init(&hadc);
|
||
222 .loc 1 142 0
|
||
223 0038 A562 str r5, [r4, #40]
|
||
143:Src/main.c ****
|
||
224 .loc 1 143 0
|
||
225 003a 2000 movs r0, r4
|
||
226 003c FFF7FEFF bl HAL_ADC_Init
|
||
227 .LVL6:
|
||
145:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_71CYCLES_5;
|
||
228 .loc 1 145 0
|
||
ARM GAS /tmp/cclvWDtP.s page 9
|
||
|
||
|
||
229 0040 8023 movs r3, #128
|
||
230 0042 5B01 lsls r3, r3, #5
|
||
231 0044 0293 str r3, [sp, #8]
|
||
146:Src/main.c **** sConfig.Channel = ADC_CHANNEL_1;
|
||
232 .loc 1 146 0
|
||
233 0046 0627 movs r7, #6
|
||
234 0048 0397 str r7, [sp, #12]
|
||
147:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
235 .loc 1 147 0
|
||
236 004a 0195 str r5, [sp, #4]
|
||
148:Src/main.c ****
|
||
237 .loc 1 148 0
|
||
238 004c 01A9 add r1, sp, #4
|
||
239 004e 2000 movs r0, r4
|
||
240 0050 FFF7FEFF bl HAL_ADC_ConfigChannel
|
||
241 .LVL7:
|
||
150:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
242 .loc 1 150 0
|
||
243 0054 0223 movs r3, #2
|
||
244 0056 0193 str r3, [sp, #4]
|
||
151:Src/main.c ****
|
||
245 .loc 1 151 0
|
||
246 0058 01A9 add r1, sp, #4
|
||
247 005a 2000 movs r0, r4
|
||
248 005c FFF7FEFF bl HAL_ADC_ConfigChannel
|
||
249 .LVL8:
|
||
153:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
250 .loc 1 153 0
|
||
251 0060 0323 movs r3, #3
|
||
252 0062 0193 str r3, [sp, #4]
|
||
154:Src/main.c ****
|
||
253 .loc 1 154 0
|
||
254 0064 01A9 add r1, sp, #4
|
||
255 0066 2000 movs r0, r4
|
||
256 0068 FFF7FEFF bl HAL_ADC_ConfigChannel
|
||
257 .LVL9:
|
||
156:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
258 .loc 1 156 0
|
||
259 006c 0423 movs r3, #4
|
||
260 006e 0193 str r3, [sp, #4]
|
||
157:Src/main.c ****
|
||
261 .loc 1 157 0
|
||
262 0070 01A9 add r1, sp, #4
|
||
263 0072 2000 movs r0, r4
|
||
264 0074 FFF7FEFF bl HAL_ADC_ConfigChannel
|
||
265 .LVL10:
|
||
159:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
266 .loc 1 159 0
|
||
267 0078 0523 movs r3, #5
|
||
268 007a 0193 str r3, [sp, #4]
|
||
160:Src/main.c ****
|
||
269 .loc 1 160 0
|
||
270 007c 01A9 add r1, sp, #4
|
||
271 007e 2000 movs r0, r4
|
||
272 0080 FFF7FEFF bl HAL_ADC_ConfigChannel
|
||
273 .LVL11:
|
||
162:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
ARM GAS /tmp/cclvWDtP.s page 10
|
||
|
||
|
||
274 .loc 1 162 0
|
||
275 0084 0197 str r7, [sp, #4]
|
||
163:Src/main.c ****
|
||
276 .loc 1 163 0
|
||
277 0086 01A9 add r1, sp, #4
|
||
278 0088 2000 movs r0, r4
|
||
279 008a FFF7FEFF bl HAL_ADC_ConfigChannel
|
||
280 .LVL12:
|
||
165:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
281 .loc 1 165 0
|
||
282 008e 0723 movs r3, #7
|
||
283 0090 0193 str r3, [sp, #4]
|
||
166:Src/main.c ****
|
||
284 .loc 1 166 0
|
||
285 0092 01A9 add r1, sp, #4
|
||
286 0094 2000 movs r0, r4
|
||
287 0096 FFF7FEFF bl HAL_ADC_ConfigChannel
|
||
288 .LVL13:
|
||
168:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
|
||
289 .loc 1 168 0
|
||
290 009a 0196 str r6, [sp, #4]
|
||
169:Src/main.c **** }
|
||
291 .loc 1 169 0
|
||
292 009c 01A9 add r1, sp, #4
|
||
293 009e 2000 movs r0, r4
|
||
294 00a0 FFF7FEFF bl HAL_ADC_ConfigChannel
|
||
295 .LVL14:
|
||
170:Src/main.c ****
|
||
296 .loc 1 170 0
|
||
297 00a4 05B0 add sp, sp, #20
|
||
298 @ sp needed
|
||
299 00a6 F0BD pop {r4, r5, r6, r7, pc}
|
||
300 .L9:
|
||
301 .align 2
|
||
302 .L8:
|
||
303 00a8 00000000 .word hadc
|
||
304 00ac 00240140 .word 1073816576
|
||
305 .cfi_endproc
|
||
306 .LFE45:
|
||
308 .section .text.SystemClock_Config,"ax",%progbits
|
||
309 .align 1
|
||
310 .global SystemClock_Config
|
||
311 .syntax unified
|
||
312 .code 16
|
||
313 .thumb_func
|
||
314 .fpu softvfp
|
||
316 SystemClock_Config:
|
||
317 .LFB44:
|
||
99:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
|
||
318 .loc 1 99 0
|
||
319 .cfi_startproc
|
||
320 @ args = 0, pretend = 0, frame = 96
|
||
321 @ frame_needed = 0, uses_anonymous_args = 0
|
||
322 0000 10B5 push {r4, lr}
|
||
323 .LCFI6:
|
||
324 .cfi_def_cfa_offset 8
|
||
325 .cfi_offset 4, -8
|
||
ARM GAS /tmp/cclvWDtP.s page 11
|
||
|
||
|
||
326 .cfi_offset 14, -4
|
||
327 0002 98B0 sub sp, sp, #96
|
||
328 .LCFI7:
|
||
329 .cfi_def_cfa_offset 104
|
||
100:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
|
||
330 .loc 1 100 0
|
||
331 0004 3022 movs r2, #48
|
||
332 0006 0021 movs r1, #0
|
||
333 0008 0CA8 add r0, sp, #48
|
||
334 000a FFF7FEFF bl memset
|
||
335 .LVL15:
|
||
101:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
|
||
336 .loc 1 101 0
|
||
337 000e 1022 movs r2, #16
|
||
338 0010 0021 movs r1, #0
|
||
339 0012 07A8 add r0, sp, #28
|
||
340 0014 FFF7FEFF bl memset
|
||
341 .LVL16:
|
||
102:Src/main.c ****
|
||
342 .loc 1 102 0
|
||
343 0018 1C22 movs r2, #28
|
||
344 001a 0021 movs r1, #0
|
||
345 001c 6846 mov r0, sp
|
||
346 001e FFF7FEFF bl memset
|
||
347 .LVL17:
|
||
104:Src/main.c **** RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
|
||
348 .loc 1 104 0
|
||
349 0022 3023 movs r3, #48
|
||
350 0024 0B93 str r3, [sp, #44]
|
||
105:Src/main.c **** RCC_OscInitStruct.HSI14State = RCC_HSI14_ON;
|
||
351 .loc 1 105 0
|
||
352 0026 2F3B subs r3, r3, #47
|
||
353 0028 1393 str r3, [sp, #76]
|
||
106:Src/main.c **** RCC_OscInitStruct.HSI14CalibrationValue = 16;
|
||
354 .loc 1 106 0
|
||
355 002a 1093 str r3, [sp, #64]
|
||
107:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
|
||
356 .loc 1 107 0
|
||
357 002c 0F33 adds r3, r3, #15
|
||
358 002e 1193 str r3, [sp, #68]
|
||
109:Src/main.c ****
|
||
359 .loc 1 109 0
|
||
360 0030 0BA8 add r0, sp, #44
|
||
361 0032 FFF7FEFF bl HAL_RCC_OscConfig
|
||
362 .LVL18:
|
||
111:Src/main.c **** |RCC_CLOCKTYPE_PCLK1;
|
||
363 .loc 1 111 0
|
||
364 0036 0723 movs r3, #7
|
||
365 0038 0793 str r3, [sp, #28]
|
||
113:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
||
366 .loc 1 113 0
|
||
367 003a 043B subs r3, r3, #4
|
||
368 003c 0893 str r3, [sp, #32]
|
||
114:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
|
||
369 .loc 1 114 0
|
||
370 003e 0024 movs r4, #0
|
||
371 0040 0994 str r4, [sp, #36]
|
||
ARM GAS /tmp/cclvWDtP.s page 12
|
||
|
||
|
||
115:Src/main.c **** HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);
|
||
372 .loc 1 115 0
|
||
373 0042 0A94 str r4, [sp, #40]
|
||
116:Src/main.c ****
|
||
374 .loc 1 116 0
|
||
375 0044 0121 movs r1, #1
|
||
376 0046 07A8 add r0, sp, #28
|
||
377 0048 FFF7FEFF bl HAL_RCC_ClockConfig
|
||
378 .LVL19:
|
||
118:Src/main.c **** PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
|
||
379 .loc 1 118 0
|
||
380 004c 8023 movs r3, #128
|
||
381 004e 9B02 lsls r3, r3, #10
|
||
382 0050 0093 str r3, [sp]
|
||
119:Src/main.c **** HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
|
||
383 .loc 1 119 0
|
||
384 0052 0694 str r4, [sp, #24]
|
||
120:Src/main.c ****
|
||
385 .loc 1 120 0
|
||
386 0054 6846 mov r0, sp
|
||
387 0056 FFF7FEFF bl HAL_RCCEx_PeriphCLKConfig
|
||
388 .LVL20:
|
||
122:Src/main.c ****
|
||
389 .loc 1 122 0
|
||
390 005a 18B0 add sp, sp, #96
|
||
391 @ sp needed
|
||
392 005c 10BD pop {r4, pc}
|
||
393 .cfi_endproc
|
||
394 .LFE44:
|
||
396 .global __aeabi_uidiv
|
||
397 .section .text.main,"ax",%progbits
|
||
398 .align 1
|
||
399 .global main
|
||
400 .syntax unified
|
||
401 .code 16
|
||
402 .thumb_func
|
||
403 .fpu softvfp
|
||
405 main:
|
||
406 .LFB43:
|
||
33:Src/main.c **** HAL_Init();
|
||
407 .loc 1 33 0
|
||
408 .cfi_startproc
|
||
409 @ args = 0, pretend = 0, frame = 0
|
||
410 @ frame_needed = 0, uses_anonymous_args = 0
|
||
411 0000 70B5 push {r4, r5, r6, lr}
|
||
412 .LCFI8:
|
||
413 .cfi_def_cfa_offset 16
|
||
414 .cfi_offset 4, -16
|
||
415 .cfi_offset 5, -12
|
||
416 .cfi_offset 6, -8
|
||
417 .cfi_offset 14, -4
|
||
34:Src/main.c ****
|
||
418 .loc 1 34 0
|
||
419 0002 FFF7FEFF bl HAL_Init
|
||
420 .LVL21:
|
||
36:Src/main.c ****
|
||
421 .loc 1 36 0
|
||
ARM GAS /tmp/cclvWDtP.s page 13
|
||
|
||
|
||
422 0006 FFF7FEFF bl SystemClock_Config
|
||
423 .LVL22:
|
||
38:Src/main.c **** MX_DMA_Init();
|
||
424 .loc 1 38 0
|
||
425 000a FFF7FEFF bl MX_GPIO_Init
|
||
426 .LVL23:
|
||
39:Src/main.c **** MX_ADC_Init();
|
||
427 .loc 1 39 0
|
||
428 000e FFF7FEFF bl MX_DMA_Init
|
||
429 .LVL24:
|
||
40:Src/main.c **** MX_USB_MIDI_INIT();
|
||
430 .loc 1 40 0
|
||
431 0012 FFF7FEFF bl MX_ADC_Init
|
||
432 .LVL25:
|
||
41:Src/main.c ****
|
||
433 .loc 1 41 0
|
||
434 0016 FFF7FEFF bl MX_USB_MIDI_INIT
|
||
435 .LVL26:
|
||
43:Src/main.c ****
|
||
436 .loc 1 43 0
|
||
437 001a 0822 movs r2, #8
|
||
438 001c 4049 ldr r1, .L23
|
||
439 001e 4148 ldr r0, .L23+4
|
||
440 0020 FFF7FEFF bl HAL_ADC_Start_DMA
|
||
441 .LVL27:
|
||
46:Src/main.c **** while(1){
|
||
442 .loc 1 46 0
|
||
443 0024 FFF7FEFF bl midiInit
|
||
444 .LVL28:
|
||
445 0028 0028 cmp r0, #0
|
||
446 002a 15D1 bne .L12
|
||
447 .L13:
|
||
48:Src/main.c **** HAL_Delay(500);
|
||
448 .loc 1 48 0 discriminator 1
|
||
449 002c 8026 movs r6, #128
|
||
450 002e B601 lsls r6, r6, #6
|
||
451 0030 3D4D ldr r5, .L23+8
|
||
452 0032 0122 movs r2, #1
|
||
453 0034 3100 movs r1, r6
|
||
454 0036 2800 movs r0, r5
|
||
455 0038 FFF7FEFF bl HAL_GPIO_WritePin
|
||
456 .LVL29:
|
||
49:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
|
||
457 .loc 1 49 0 discriminator 1
|
||
458 003c FA24 movs r4, #250
|
||
459 003e 6400 lsls r4, r4, #1
|
||
460 0040 2000 movs r0, r4
|
||
461 0042 FFF7FEFF bl HAL_Delay
|
||
462 .LVL30:
|
||
50:Src/main.c **** HAL_Delay(500);
|
||
463 .loc 1 50 0 discriminator 1
|
||
464 0046 0022 movs r2, #0
|
||
465 0048 3100 movs r1, r6
|
||
466 004a 2800 movs r0, r5
|
||
467 004c FFF7FEFF bl HAL_GPIO_WritePin
|
||
468 .LVL31:
|
||
51:Src/main.c **** }
|
||
ARM GAS /tmp/cclvWDtP.s page 14
|
||
|
||
|
||
469 .loc 1 51 0 discriminator 1
|
||
470 0050 2000 movs r0, r4
|
||
471 0052 FFF7FEFF bl HAL_Delay
|
||
472 .LVL32:
|
||
473 0056 E9E7 b .L13
|
||
474 .L12:
|
||
58:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
|
||
475 .loc 1 58 0
|
||
476 0058 344A ldr r2, .L23+12
|
||
477 005a FE23 movs r3, #254
|
||
478 005c 5B00 lsls r3, r3, #1
|
||
479 005e D35C ldrb r3, [r2, r3]
|
||
480 0060 032B cmp r3, #3
|
||
481 0062 06D0 beq .L22
|
||
62:Src/main.c **** }
|
||
482 .loc 1 62 0
|
||
483 0064 8021 movs r1, #128
|
||
484 0066 0022 movs r2, #0
|
||
485 0068 8901 lsls r1, r1, #6
|
||
486 006a 2F48 ldr r0, .L23+8
|
||
487 006c FFF7FEFF bl HAL_GPIO_WritePin
|
||
488 .LVL33:
|
||
58:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
|
||
489 .loc 1 58 0
|
||
490 0070 F2E7 b .L12
|
||
491 .L22:
|
||
59:Src/main.c **** break;
|
||
492 .loc 1 59 0
|
||
493 0072 8021 movs r1, #128
|
||
494 0074 0122 movs r2, #1
|
||
495 0076 8901 lsls r1, r1, #6
|
||
496 0078 2B48 ldr r0, .L23+8
|
||
497 007a FFF7FEFF bl HAL_GPIO_WritePin
|
||
498 .LVL34:
|
||
60:Src/main.c **** }else{
|
||
499 .loc 1 60 0
|
||
500 007e 12E0 b .L15
|
||
501 .L16:
|
||
73:Src/main.c **** HAL_Delay(200);
|
||
502 .loc 1 73 0
|
||
503 0080 8025 movs r5, #128
|
||
504 0082 AD01 lsls r5, r5, #6
|
||
505 0084 284C ldr r4, .L23+8
|
||
506 0086 0122 movs r2, #1
|
||
507 0088 2900 movs r1, r5
|
||
508 008a 2000 movs r0, r4
|
||
509 008c FFF7FEFF bl HAL_GPIO_WritePin
|
||
510 .LVL35:
|
||
74:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
|
||
511 .loc 1 74 0
|
||
512 0090 C820 movs r0, #200
|
||
513 0092 FFF7FEFF bl HAL_Delay
|
||
514 .LVL36:
|
||
75:Src/main.c **** HAL_Delay(200);
|
||
515 .loc 1 75 0
|
||
516 0096 0022 movs r2, #0
|
||
517 0098 2900 movs r1, r5
|
||
ARM GAS /tmp/cclvWDtP.s page 15
|
||
|
||
|
||
518 009a 2000 movs r0, r4
|
||
519 009c FFF7FEFF bl HAL_GPIO_WritePin
|
||
520 .LVL37:
|
||
76:Src/main.c **** }
|
||
521 .loc 1 76 0
|
||
522 00a0 C820 movs r0, #200
|
||
523 00a2 FFF7FEFF bl HAL_Delay
|
||
524 .LVL38:
|
||
525 .L15:
|
||
69:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
|
||
526 .loc 1 69 0
|
||
527 00a6 214A ldr r2, .L23+12
|
||
528 00a8 FE23 movs r3, #254
|
||
529 00aa 5B00 lsls r3, r3, #1
|
||
530 00ac D35C ldrb r3, [r2, r3]
|
||
531 00ae 032B cmp r3, #3
|
||
532 00b0 E6D1 bne .L16
|
||
70:Src/main.c **** break;
|
||
533 .loc 1 70 0
|
||
534 00b2 8021 movs r1, #128
|
||
535 00b4 0122 movs r2, #1
|
||
536 00b6 8901 lsls r1, r1, #6
|
||
537 00b8 1B48 ldr r0, .L23+8
|
||
538 00ba FFF7FEFF bl HAL_GPIO_WritePin
|
||
539 .LVL39:
|
||
80:Src/main.c **** for(uint8_t i = 0; i <= 7; i++){
|
||
540 .loc 1 80 0
|
||
541 00be FFF7FEFF bl midiProcess
|
||
542 .LVL40:
|
||
543 .LBB5:
|
||
81:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
|
||
544 .loc 1 81 0
|
||
545 00c2 0024 movs r4, #0
|
||
546 00c4 1AE0 b .L17
|
||
547 .LVL41:
|
||
548 .L19:
|
||
83:Src/main.c **** dial[i] = (uint8_t)((ADC_val[dial_mapping[i]]/dial_div[i]) & 0x7F);
|
||
549 .loc 1 83 0
|
||
550 00c6 5200 lsls r2, r2, #1
|
||
551 00c8 194B ldr r3, .L23+16
|
||
552 00ca D052 strh r0, [r2, r3]
|
||
84:Src/main.c **** midi_packet[3] = dial[i];
|
||
553 .loc 1 84 0
|
||
554 00cc 6A00 lsls r2, r5, #1
|
||
555 00ce 194B ldr r3, .L23+20
|
||
556 00d0 D15A ldrh r1, [r2, r3]
|
||
557 00d2 FFF7FEFF bl __aeabi_uidiv
|
||
558 .LVL42:
|
||
559 00d6 7F23 movs r3, #127
|
||
560 00d8 0340 ands r3, r0
|
||
561 00da 174A ldr r2, .L23+24
|
||
562 00dc 5355 strb r3, [r2, r5]
|
||
85:Src/main.c **** midi_packet[1] = 0xB0 + i;
|
||
563 .loc 1 85 0
|
||
564 00de 1748 ldr r0, .L23+28
|
||
565 00e0 C370 strb r3, [r0, #3]
|
||
86:Src/main.c **** sendMidiMessage(midi_packet, 4);
|
||
ARM GAS /tmp/cclvWDtP.s page 16
|
||
|
||
|
||
566 .loc 1 86 0
|
||
567 00e2 2300 movs r3, r4
|
||
568 00e4 503B subs r3, r3, #80
|
||
569 00e6 4370 strb r3, [r0, #1]
|
||
87:Src/main.c **** USBD_MIDI_SendPacket();
|
||
570 .loc 1 87 0
|
||
571 00e8 0421 movs r1, #4
|
||
572 00ea FFF7FEFF bl sendMidiMessage
|
||
573 .LVL43:
|
||
88:Src/main.c **** HAL_Delay(2);
|
||
574 .loc 1 88 0
|
||
575 00ee FFF7FEFF bl USBD_MIDI_SendPacket
|
||
576 .LVL44:
|
||
89:Src/main.c **** }
|
||
577 .loc 1 89 0
|
||
578 00f2 0220 movs r0, #2
|
||
579 00f4 FFF7FEFF bl HAL_Delay
|
||
580 .LVL45:
|
||
581 .L20:
|
||
81:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
|
||
582 .loc 1 81 0 discriminator 2
|
||
583 00f8 0134 adds r4, r4, #1
|
||
584 .LVL46:
|
||
585 00fa E4B2 uxtb r4, r4
|
||
586 .LVL47:
|
||
587 .L17:
|
||
81:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
|
||
588 .loc 1 81 0 is_stmt 0 discriminator 1
|
||
589 00fc 072C cmp r4, #7
|
||
590 00fe D2D8 bhi .L15
|
||
82:Src/main.c **** ADC_val_old[dial_mapping[i]] = ADC_val[dial_mapping[i]];
|
||
591 .loc 1 82 0 is_stmt 1
|
||
592 0100 2500 movs r5, r4
|
||
593 0102 0F4B ldr r3, .L23+32
|
||
594 0104 1A5D ldrb r2, [r3, r4]
|
||
595 0106 5300 lsls r3, r2, #1
|
||
596 0108 0549 ldr r1, .L23
|
||
597 010a 585A ldrh r0, [r3, r1]
|
||
598 010c 084E ldr r6, .L23+16
|
||
599 010e 9B5B ldrh r3, [r3, r6]
|
||
600 0110 1E00 movs r6, r3
|
||
601 0112 3236 adds r6, r6, #50
|
||
602 0114 B042 cmp r0, r6
|
||
603 0116 D6DA bge .L19
|
||
82:Src/main.c **** ADC_val_old[dial_mapping[i]] = ADC_val[dial_mapping[i]];
|
||
604 .loc 1 82 0 is_stmt 0 discriminator 1
|
||
605 0118 323B subs r3, r3, #50
|
||
606 011a 9842 cmp r0, r3
|
||
607 011c ECDC bgt .L20
|
||
608 011e D2E7 b .L19
|
||
609 .L24:
|
||
610 .align 2
|
||
611 .L23:
|
||
612 0120 00000000 .word ADC_val
|
||
613 0124 00000000 .word hadc
|
||
614 0128 00040048 .word 1207960576
|
||
615 012c 00000000 .word hUsbDeviceFS
|
||
ARM GAS /tmp/cclvWDtP.s page 17
|
||
|
||
|
||
616 0130 00000000 .word ADC_val_old
|
||
617 0134 00000000 .word .LANCHOR1
|
||
618 0138 00000000 .word dial
|
||
619 013c 00000000 .word .LANCHOR2
|
||
620 0140 00000000 .word .LANCHOR0
|
||
621 .LBE5:
|
||
622 .cfi_endproc
|
||
623 .LFE43:
|
||
625 .section .text.Error_Handler,"ax",%progbits
|
||
626 .align 1
|
||
627 .global Error_Handler
|
||
628 .syntax unified
|
||
629 .code 16
|
||
630 .thumb_func
|
||
631 .fpu softvfp
|
||
633 Error_Handler:
|
||
634 .LFB49:
|
||
211:Src/main.c ****
|
||
212:Src/main.c **** void Error_Handler(void)
|
||
213:Src/main.c **** {
|
||
635 .loc 1 213 0 is_stmt 1
|
||
636 .cfi_startproc
|
||
637 @ Volatile: function does not return.
|
||
638 @ args = 0, pretend = 0, frame = 0
|
||
639 @ frame_needed = 0, uses_anonymous_args = 0
|
||
640 0000 70B5 push {r4, r5, r6, lr}
|
||
641 .LCFI9:
|
||
642 .cfi_def_cfa_offset 16
|
||
643 .cfi_offset 4, -16
|
||
644 .cfi_offset 5, -12
|
||
645 .cfi_offset 6, -8
|
||
646 .cfi_offset 14, -4
|
||
647 .L26:
|
||
214:Src/main.c **** while(1){
|
||
215:Src/main.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,1);
|
||
648 .loc 1 215 0 discriminator 1
|
||
649 0002 8025 movs r5, #128
|
||
650 0004 AD01 lsls r5, r5, #6
|
||
651 0006 094C ldr r4, .L27
|
||
652 0008 0122 movs r2, #1
|
||
653 000a 2900 movs r1, r5
|
||
654 000c 2000 movs r0, r4
|
||
655 000e FFF7FEFF bl HAL_GPIO_WritePin
|
||
656 .LVL48:
|
||
216:Src/main.c **** HAL_Delay(100);
|
||
657 .loc 1 216 0 discriminator 1
|
||
658 0012 6420 movs r0, #100
|
||
659 0014 FFF7FEFF bl HAL_Delay
|
||
660 .LVL49:
|
||
217:Src/main.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,0);
|
||
661 .loc 1 217 0 discriminator 1
|
||
662 0018 0022 movs r2, #0
|
||
663 001a 2900 movs r1, r5
|
||
664 001c 2000 movs r0, r4
|
||
665 001e FFF7FEFF bl HAL_GPIO_WritePin
|
||
666 .LVL50:
|
||
218:Src/main.c **** HAL_Delay(100);
|
||
ARM GAS /tmp/cclvWDtP.s page 18
|
||
|
||
|
||
667 .loc 1 218 0 discriminator 1
|
||
668 0022 6420 movs r0, #100
|
||
669 0024 FFF7FEFF bl HAL_Delay
|
||
670 .LVL51:
|
||
671 0028 EBE7 b .L26
|
||
672 .L28:
|
||
673 002a C046 .align 2
|
||
674 .L27:
|
||
675 002c 00040048 .word 1207960576
|
||
676 .cfi_endproc
|
||
677 .LFE49:
|
||
679 .global midi_packet
|
||
680 .global dial_div
|
||
681 .global dial_mapping
|
||
682 .comm dial,8,4
|
||
683 .comm ADC_val_old,16,4
|
||
684 .comm ADC_val,16,4
|
||
685 .comm hpcd_USB_FS,628,4
|
||
686 .comm hdma_adc,68,4
|
||
687 .comm hadc,64,4
|
||
688 .section .data.dial_div,"aw",%progbits
|
||
689 .align 2
|
||
690 .set .LANCHOR1,. + 0
|
||
693 dial_div:
|
||
694 0000 2000 .short 32
|
||
695 0002 2000 .short 32
|
||
696 0004 2000 .short 32
|
||
697 0006 2000 .short 32
|
||
698 0008 2000 .short 32
|
||
699 000a 2000 .short 32
|
||
700 000c 2000 .short 32
|
||
701 000e 0001 .short 256
|
||
702 .section .data.dial_mapping,"aw",%progbits
|
||
703 .align 2
|
||
704 .set .LANCHOR0,. + 0
|
||
707 dial_mapping:
|
||
708 0000 01 .byte 1
|
||
709 0001 02 .byte 2
|
||
710 0002 03 .byte 3
|
||
711 0003 04 .byte 4
|
||
712 0004 05 .byte 5
|
||
713 0005 06 .byte 6
|
||
714 0006 07 .byte 7
|
||
715 0007 00 .byte 0
|
||
716 .section .data.midi_packet,"aw",%progbits
|
||
717 .align 2
|
||
718 .set .LANCHOR2,. + 0
|
||
721 midi_packet:
|
||
722 0000 0B .byte 11
|
||
723 0001 B0 .byte -80
|
||
724 0002 00 .byte 0
|
||
725 0003 00 .byte 0
|
||
726 .text
|
||
727 .Letext0:
|
||
728 .file 2 "/usr/include/newlib/machine/_default_types.h"
|
||
729 .file 3 "/usr/include/newlib/sys/_stdint.h"
|
||
730 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
|
||
ARM GAS /tmp/cclvWDtP.s page 19
|
||
|
||
|
||
731 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
|
||
732 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
|
||
733 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
|
||
734 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h"
|
||
735 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h"
|
||
736 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h"
|
||
737 .file 11 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
|
||
738 .file 12 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h"
|
||
739 .file 13 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
|
||
740 .file 14 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h"
|
||
741 .file 15 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
|
||
742 .file 16 "/usr/include/newlib/sys/lock.h"
|
||
743 .file 17 "/usr/include/newlib/sys/_types.h"
|
||
744 .file 18 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
|
||
745 .file 19 "/usr/include/newlib/sys/reent.h"
|
||
746 .file 20 "/usr/include/newlib/stdlib.h"
|
||
747 .file 21 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
|
||
748 .file 22 "Inc/usb_device.h"
|
||
749 .file 23 "Inc/curelib_inc/curemisc.h"
|
||
750 .file 24 "Middlewares/USBMIDI/Inc/usbd_midi.h"
|
||
751 .file 25 "Inc/usbd_desc.h"
|
||
752 .file 26 "Inc/usbd_midi_if.h"
|
||
753 .file 27 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h"
|
||
754 .file 28 "<built-in>"
|
||
ARM GAS /tmp/cclvWDtP.s page 20
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:0000000000000000 main.c
|
||
/tmp/cclvWDtP.s:16 .text.MX_GPIO_Init:0000000000000000 $t
|
||
/tmp/cclvWDtP.s:22 .text.MX_GPIO_Init:0000000000000000 MX_GPIO_Init
|
||
/tmp/cclvWDtP.s:100 .text.MX_GPIO_Init:000000000000005c $d
|
||
/tmp/cclvWDtP.s:106 .text.MX_DMA_Init:0000000000000000 $t
|
||
/tmp/cclvWDtP.s:112 .text.MX_DMA_Init:0000000000000000 MX_DMA_Init
|
||
/tmp/cclvWDtP.s:154 .text.MX_DMA_Init:000000000000002c $d
|
||
/tmp/cclvWDtP.s:159 .text.MX_ADC_Init:0000000000000000 $t
|
||
/tmp/cclvWDtP.s:165 .text.MX_ADC_Init:0000000000000000 MX_ADC_Init
|
||
/tmp/cclvWDtP.s:303 .text.MX_ADC_Init:00000000000000a8 $d
|
||
*COM*:0000000000000040 hadc
|
||
/tmp/cclvWDtP.s:309 .text.SystemClock_Config:0000000000000000 $t
|
||
/tmp/cclvWDtP.s:316 .text.SystemClock_Config:0000000000000000 SystemClock_Config
|
||
/tmp/cclvWDtP.s:398 .text.main:0000000000000000 $t
|
||
/tmp/cclvWDtP.s:405 .text.main:0000000000000000 main
|
||
/tmp/cclvWDtP.s:612 .text.main:0000000000000120 $d
|
||
*COM*:0000000000000010 ADC_val
|
||
*COM*:0000000000000010 ADC_val_old
|
||
*COM*:0000000000000008 dial
|
||
/tmp/cclvWDtP.s:626 .text.Error_Handler:0000000000000000 $t
|
||
/tmp/cclvWDtP.s:633 .text.Error_Handler:0000000000000000 Error_Handler
|
||
/tmp/cclvWDtP.s:675 .text.Error_Handler:000000000000002c $d
|
||
/tmp/cclvWDtP.s:721 .data.midi_packet:0000000000000000 midi_packet
|
||
/tmp/cclvWDtP.s:693 .data.dial_div:0000000000000000 dial_div
|
||
/tmp/cclvWDtP.s:707 .data.dial_mapping:0000000000000000 dial_mapping
|
||
*COM*:0000000000000274 hpcd_USB_FS
|
||
*COM*:0000000000000044 hdma_adc
|
||
/tmp/cclvWDtP.s:689 .data.dial_div:0000000000000000 $d
|
||
/tmp/cclvWDtP.s:703 .data.dial_mapping:0000000000000000 $d
|
||
/tmp/cclvWDtP.s:717 .data.midi_packet:0000000000000000 $d
|
||
|
||
UNDEFINED SYMBOLS
|
||
memset
|
||
HAL_GPIO_WritePin
|
||
HAL_GPIO_Init
|
||
HAL_NVIC_SetPriority
|
||
HAL_NVIC_EnableIRQ
|
||
HAL_ADC_Init
|
||
HAL_ADC_ConfigChannel
|
||
HAL_RCC_OscConfig
|
||
HAL_RCC_ClockConfig
|
||
HAL_RCCEx_PeriphCLKConfig
|
||
__aeabi_uidiv
|
||
HAL_Init
|
||
MX_USB_MIDI_INIT
|
||
HAL_ADC_Start_DMA
|
||
midiInit
|
||
HAL_Delay
|
||
midiProcess
|
||
sendMidiMessage
|
||
USBD_MIDI_SendPacket
|
||
hUsbDeviceFS
|