2246 lines
88 KiB
Text
2246 lines
88 KiB
Text
ARM GAS /tmp/ccxcefs2.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 "usbd_midi_if.c"
|
||
12 .text
|
||
13 .Ltext0:
|
||
14 .cfi_sections .debug_frame
|
||
15 .section .text.MIDI_DataTx,"ax",%progbits
|
||
16 .align 1
|
||
17 .syntax unified
|
||
18 .code 16
|
||
19 .thumb_func
|
||
20 .fpu softvfp
|
||
22 MIDI_DataTx:
|
||
23 .LFB52:
|
||
24 .file 1 "Src/usbd_midi_if.c"
|
||
1:Src/usbd_midi_if.c **** /**
|
||
2:Src/usbd_midi_if.c **** ******************************************************************************
|
||
3:Src/usbd_midi_if.c **** * @file : usbd_midi_if.c
|
||
4:Src/usbd_midi_if.c **** * @brief :
|
||
5:Src/usbd_midi_if.c **** ******************************************************************************
|
||
6:Src/usbd_midi_if.c ****
|
||
7:Src/usbd_midi_if.c **** (CC at)2016 by D.F.Mac. @TripArts Music
|
||
8:Src/usbd_midi_if.c ****
|
||
9:Src/usbd_midi_if.c **** ******************************************************************************
|
||
10:Src/usbd_midi_if.c ****
|
||
11:Src/usbd_midi_if.c **** Modified by keshikan (www.keshikan.net) 2018
|
||
12:Src/usbd_midi_if.c **** The license is (CC BY 4.0), and takes over from original usbd_midi_if.h/c.
|
||
13:Src/usbd_midi_if.c ****
|
||
14:Src/usbd_midi_if.c **** See also original source code page.
|
||
15:Src/usbd_midi_if.c **** https://github.com/mimuz/mimuz-tuch/blob/master/STM32/
|
||
16:Src/usbd_midi_if.c ****
|
||
17:Src/usbd_midi_if.c **** ******************************************************************************
|
||
18:Src/usbd_midi_if.c **** */
|
||
19:Src/usbd_midi_if.c ****
|
||
20:Src/usbd_midi_if.c **** /* Includes ------------------------------------------------------------------*/
|
||
21:Src/usbd_midi_if.c **** #include "usbd_midi_if.h"
|
||
22:Src/usbd_midi_if.c **** #include "stm32f0xx_hal.h"
|
||
23:Src/usbd_midi_if.c ****
|
||
24:Src/usbd_midi_if.c ****
|
||
25:Src/usbd_midi_if.c **** // basic midi rx/tx functions
|
||
26:Src/usbd_midi_if.c **** static uint16_t MIDI_DataRx(uint8_t *msg, uint16_t length);
|
||
27:Src/usbd_midi_if.c **** static uint16_t MIDI_DataTx(uint8_t *msg, uint16_t length);
|
||
28:Src/usbd_midi_if.c ****
|
||
29:Src/usbd_midi_if.c **** // for Cure Series
|
||
30:Src/usbd_midi_if.c **** #define MIDI_BUFFER_SIZ (512)//FIFO buffer byte size for midi message buffer
|
||
31:Src/usbd_midi_if.c ****
|
||
32:Src/usbd_midi_if.c **** RingBufferU8 rbuf_usb_rx[MIDI_OUT_JACK_NUM]; //for input from USB
|
||
33:Src/usbd_midi_if.c **** RingBufferU8 rbuf_jack_rx[MIDI_IN_JACK_NUM]; //for input from MIDI-IN jack
|
||
34:Src/usbd_midi_if.c ****
|
||
ARM GAS /tmp/ccxcefs2.s page 2
|
||
|
||
|
||
35:Src/usbd_midi_if.c **** //for receiving midi data from jack
|
||
36:Src/usbd_midi_if.c **** MidiAnalysisStatus analyzed_status[MIDI_IN_JACK_NUM];
|
||
37:Src/usbd_midi_if.c **** MIDIEvent midi_event[MIDI_IN_JACK_NUM]; //received midi data
|
||
38:Src/usbd_midi_if.c ****
|
||
39:Src/usbd_midi_if.c **** uint8_t rx_midi_msg[MIDI_IN_JACK_NUM];
|
||
40:Src/usbd_midi_if.c ****
|
||
41:Src/usbd_midi_if.c ****
|
||
42:Src/usbd_midi_if.c **** FUNC_STATUS midiInit()
|
||
43:Src/usbd_midi_if.c **** {
|
||
44:Src/usbd_midi_if.c **** uint32_t i,j;
|
||
45:Src/usbd_midi_if.c ****
|
||
46:Src/usbd_midi_if.c **** for(i=0; i<MIDI_OUT_JACK_NUM; i++){
|
||
47:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Init(&rbuf_usb_rx[i], MIDI_BUFFER_SIZ))
|
||
48:Src/usbd_midi_if.c **** {
|
||
49:Src/usbd_midi_if.c **** return FUNC_ERROR;
|
||
50:Src/usbd_midi_if.c **** }
|
||
51:Src/usbd_midi_if.c **** }
|
||
52:Src/usbd_midi_if.c ****
|
||
53:Src/usbd_midi_if.c **** for(i=0; i<MIDI_IN_JACK_NUM; i++){
|
||
54:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Init(&rbuf_jack_rx[i], MIDI_BUFFER_SIZ))
|
||
55:Src/usbd_midi_if.c **** {
|
||
56:Src/usbd_midi_if.c **** return FUNC_ERROR;
|
||
57:Src/usbd_midi_if.c **** }
|
||
58:Src/usbd_midi_if.c **** }
|
||
59:Src/usbd_midi_if.c ****
|
||
60:Src/usbd_midi_if.c **** //Init RX
|
||
61:Src/usbd_midi_if.c **** for(i=0; i<MIDI_IN_JACK_NUM; i++){
|
||
62:Src/usbd_midi_if.c ****
|
||
63:Src/usbd_midi_if.c **** rx_midi_msg[i] = 0x00;
|
||
64:Src/usbd_midi_if.c **** analyzed_status[i].data_idx = 0;
|
||
65:Src/usbd_midi_if.c **** midi_event[i].length = 0;
|
||
66:Src/usbd_midi_if.c ****
|
||
67:Src/usbd_midi_if.c **** for(j=0; j<MIDI_SENDDATA_MAX; j++){
|
||
68:Src/usbd_midi_if.c **** midi_event[i].midi_byte[j] = 0x00;
|
||
69:Src/usbd_midi_if.c **** }
|
||
70:Src/usbd_midi_if.c **** }
|
||
71:Src/usbd_midi_if.c ****
|
||
72:Src/usbd_midi_if.c **** return FUNC_SUCCESS;
|
||
73:Src/usbd_midi_if.c **** }
|
||
74:Src/usbd_midi_if.c ****
|
||
75:Src/usbd_midi_if.c **** FUNC_STATUS midiGetFromUsbRx(uint8_t cable_num, uint8_t* dat)
|
||
76:Src/usbd_midi_if.c **** {
|
||
77:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Dequeue(&rbuf_usb_rx[cable_num], dat))
|
||
78:Src/usbd_midi_if.c **** {
|
||
79:Src/usbd_midi_if.c **** return FUNC_ERROR;
|
||
80:Src/usbd_midi_if.c **** }
|
||
81:Src/usbd_midi_if.c ****
|
||
82:Src/usbd_midi_if.c **** return FUNC_SUCCESS;
|
||
83:Src/usbd_midi_if.c **** }
|
||
84:Src/usbd_midi_if.c ****
|
||
85:Src/usbd_midi_if.c **** FUNC_STATUS midiGetFromJackRx(uint8_t cable_num)
|
||
86:Src/usbd_midi_if.c **** {
|
||
87:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Dequeue(&rbuf_jack_rx[cable_num], &rx_midi_msg[cable_num]))
|
||
88:Src/usbd_midi_if.c **** {
|
||
89:Src/usbd_midi_if.c **** return FUNC_ERROR;
|
||
90:Src/usbd_midi_if.c **** }
|
||
91:Src/usbd_midi_if.c ****
|
||
ARM GAS /tmp/ccxcefs2.s page 3
|
||
|
||
|
||
92:Src/usbd_midi_if.c **** return FUNC_SUCCESS;
|
||
93:Src/usbd_midi_if.c **** }
|
||
94:Src/usbd_midi_if.c ****
|
||
95:Src/usbd_midi_if.c **** FUNC_STATUS midiSetFromJackRx(uint8_t cable_num, uint8_t* dat)
|
||
96:Src/usbd_midi_if.c **** {
|
||
97:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Enqueue(&rbuf_jack_rx[cable_num], dat))
|
||
98:Src/usbd_midi_if.c **** {
|
||
99:Src/usbd_midi_if.c **** return FUNC_ERROR;
|
||
100:Src/usbd_midi_if.c **** }
|
||
101:Src/usbd_midi_if.c ****
|
||
102:Src/usbd_midi_if.c **** return FUNC_SUCCESS;
|
||
103:Src/usbd_midi_if.c **** }
|
||
104:Src/usbd_midi_if.c ****
|
||
105:Src/usbd_midi_if.c ****
|
||
106:Src/usbd_midi_if.c **** bool isUsbRxBufEmpty(uint8_t cable_num)
|
||
107:Src/usbd_midi_if.c **** {
|
||
108:Src/usbd_midi_if.c **** if( 0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[cable_num]) ){
|
||
109:Src/usbd_midi_if.c **** return false;
|
||
110:Src/usbd_midi_if.c **** }
|
||
111:Src/usbd_midi_if.c ****
|
||
112:Src/usbd_midi_if.c **** return true;
|
||
113:Src/usbd_midi_if.c **** }
|
||
114:Src/usbd_midi_if.c ****
|
||
115:Src/usbd_midi_if.c **** bool isJackRxBufEmpty(uint8_t cable_num)
|
||
116:Src/usbd_midi_if.c **** {
|
||
117:Src/usbd_midi_if.c **** if( 0 != _cureRingBufferU8GetUsedSize(&rbuf_jack_rx[cable_num]) ){
|
||
118:Src/usbd_midi_if.c **** return false;
|
||
119:Src/usbd_midi_if.c **** }
|
||
120:Src/usbd_midi_if.c ****
|
||
121:Src/usbd_midi_if.c **** return true;
|
||
122:Src/usbd_midi_if.c **** }
|
||
123:Src/usbd_midi_if.c ****
|
||
124:Src/usbd_midi_if.c **** bool isRxBufEmpty()
|
||
125:Src/usbd_midi_if.c **** {
|
||
126:Src/usbd_midi_if.c **** uint32_t i;
|
||
127:Src/usbd_midi_if.c ****
|
||
128:Src/usbd_midi_if.c **** for(i=0; i<MIDI_OUT_JACK_NUM; i++){
|
||
129:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[i]))
|
||
130:Src/usbd_midi_if.c **** {
|
||
131:Src/usbd_midi_if.c **** return false;
|
||
132:Src/usbd_midi_if.c **** }
|
||
133:Src/usbd_midi_if.c **** }
|
||
134:Src/usbd_midi_if.c ****
|
||
135:Src/usbd_midi_if.c **** for(i=0; i<MIDI_IN_JACK_NUM; i++){
|
||
136:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_jack_rx[i]))
|
||
137:Src/usbd_midi_if.c **** {
|
||
138:Src/usbd_midi_if.c **** return false;
|
||
139:Src/usbd_midi_if.c **** }
|
||
140:Src/usbd_midi_if.c **** }
|
||
141:Src/usbd_midi_if.c **** return true;
|
||
142:Src/usbd_midi_if.c **** }
|
||
143:Src/usbd_midi_if.c ****
|
||
144:Src/usbd_midi_if.c ****
|
||
145:Src/usbd_midi_if.c **** USBD_MIDI_ItfTypeDef USBD_Interface_fops_FS =
|
||
146:Src/usbd_midi_if.c **** {
|
||
147:Src/usbd_midi_if.c **** MIDI_DataRx,
|
||
148:Src/usbd_midi_if.c **** MIDI_DataTx
|
||
ARM GAS /tmp/ccxcefs2.s page 4
|
||
|
||
|
||
149:Src/usbd_midi_if.c **** };
|
||
150:Src/usbd_midi_if.c ****
|
||
151:Src/usbd_midi_if.c ****
|
||
152:Src/usbd_midi_if.c **** static uint16_t MIDI_DataRx(uint8_t *msg, uint16_t length){
|
||
153:Src/usbd_midi_if.c **** uint16_t cnt;
|
||
154:Src/usbd_midi_if.c **** uint16_t msgs = length / 4;
|
||
155:Src/usbd_midi_if.c **** uint16_t chk = length % 4;
|
||
156:Src/usbd_midi_if.c **** uint8_t u8b;
|
||
157:Src/usbd_midi_if.c **** uint8_t midi_size;
|
||
158:Src/usbd_midi_if.c ****
|
||
159:Src/usbd_midi_if.c **** if(0 != chk)
|
||
160:Src/usbd_midi_if.c **** {
|
||
161:Src/usbd_midi_if.c **** return 0;
|
||
162:Src/usbd_midi_if.c **** }
|
||
163:Src/usbd_midi_if.c ****
|
||
164:Src/usbd_midi_if.c **** for(uint32_t cnt_msgs = 0; cnt_msgs < msgs; cnt_msgs++){
|
||
165:Src/usbd_midi_if.c ****
|
||
166:Src/usbd_midi_if.c **** uint8_t cable_num = (msg[0 + 4*cnt_msgs] & 0xF0) >> 4;
|
||
167:Src/usbd_midi_if.c **** uint8_t code_idx_num = msg[0 + 4*cnt_msgs] & 0x0F;
|
||
168:Src/usbd_midi_if.c ****
|
||
169:Src/usbd_midi_if.c **** switch (code_idx_num) {
|
||
170:Src/usbd_midi_if.c ****
|
||
171:Src/usbd_midi_if.c **** //not defined
|
||
172:Src/usbd_midi_if.c **** case 0x0:
|
||
173:Src/usbd_midi_if.c **** case 0x1:
|
||
174:Src/usbd_midi_if.c **** midi_size = 0;
|
||
175:Src/usbd_midi_if.c **** break;
|
||
176:Src/usbd_midi_if.c ****
|
||
177:Src/usbd_midi_if.c **** //1byte message
|
||
178:Src/usbd_midi_if.c **** case 0x5:
|
||
179:Src/usbd_midi_if.c **** case 0xF:
|
||
180:Src/usbd_midi_if.c **** midi_size = 1;
|
||
181:Src/usbd_midi_if.c **** break;
|
||
182:Src/usbd_midi_if.c ****
|
||
183:Src/usbd_midi_if.c **** //2byte message
|
||
184:Src/usbd_midi_if.c **** case 0x2:
|
||
185:Src/usbd_midi_if.c **** case 0x6:
|
||
186:Src/usbd_midi_if.c **** case 0xC:
|
||
187:Src/usbd_midi_if.c **** case 0xD:
|
||
188:Src/usbd_midi_if.c **** midi_size = 2;
|
||
189:Src/usbd_midi_if.c **** break;
|
||
190:Src/usbd_midi_if.c ****
|
||
191:Src/usbd_midi_if.c **** //3byte message
|
||
192:Src/usbd_midi_if.c **** case 0x3:
|
||
193:Src/usbd_midi_if.c **** case 0x4:
|
||
194:Src/usbd_midi_if.c **** case 0x7:
|
||
195:Src/usbd_midi_if.c **** case 0x8:
|
||
196:Src/usbd_midi_if.c **** case 0x9:
|
||
197:Src/usbd_midi_if.c **** case 0xA:
|
||
198:Src/usbd_midi_if.c **** case 0xB:
|
||
199:Src/usbd_midi_if.c **** case 0xE:
|
||
200:Src/usbd_midi_if.c **** midi_size = 3;
|
||
201:Src/usbd_midi_if.c **** break;
|
||
202:Src/usbd_midi_if.c ****
|
||
203:Src/usbd_midi_if.c **** default:
|
||
204:Src/usbd_midi_if.c **** midi_size = 0;
|
||
205:Src/usbd_midi_if.c **** break;
|
||
ARM GAS /tmp/ccxcefs2.s page 5
|
||
|
||
|
||
206:Src/usbd_midi_if.c **** }
|
||
207:Src/usbd_midi_if.c ****
|
||
208:Src/usbd_midi_if.c **** for(cnt = 0;cnt < midi_size;cnt ++){
|
||
209:Src/usbd_midi_if.c **** u8b = *(msg + 4*cnt_msgs + cnt + 1);
|
||
210:Src/usbd_midi_if.c **** cureRingBufferU8Enqueue(&rbuf_usb_rx[cable_num], &u8b);
|
||
211:Src/usbd_midi_if.c **** }
|
||
212:Src/usbd_midi_if.c **** }
|
||
213:Src/usbd_midi_if.c ****
|
||
214:Src/usbd_midi_if.c **** return 0;
|
||
215:Src/usbd_midi_if.c **** }
|
||
216:Src/usbd_midi_if.c ****
|
||
217:Src/usbd_midi_if.c **** void sendMidiMessage(uint8_t *msg, uint16_t size){
|
||
218:Src/usbd_midi_if.c **** if(size == 4){
|
||
219:Src/usbd_midi_if.c **** // APP_Rx_Buffer[0] = msg[0];
|
||
220:Src/usbd_midi_if.c **** // APP_Rx_Buffer[1] = msg[1];
|
||
221:Src/usbd_midi_if.c **** // APP_Rx_Buffer[2] = msg[2];
|
||
222:Src/usbd_midi_if.c **** // APP_Rx_Buffer[3] = msg[3];
|
||
223:Src/usbd_midi_if.c **** // USBD_MIDI_SendData(&hUsbDeviceFS, APP_Rx_Buffer, size);
|
||
224:Src/usbd_midi_if.c **** MIDI_DataTx(msg, size);
|
||
225:Src/usbd_midi_if.c **** }
|
||
226:Src/usbd_midi_if.c **** }
|
||
227:Src/usbd_midi_if.c ****
|
||
228:Src/usbd_midi_if.c **** static uint16_t MIDI_DataTx(uint8_t *msg, uint16_t length){
|
||
25 .loc 1 228 0
|
||
26 .cfi_startproc
|
||
27 @ args = 0, pretend = 0, frame = 0
|
||
28 @ frame_needed = 0, uses_anonymous_args = 0
|
||
29 .LVL0:
|
||
30 0000 70B5 push {r4, r5, r6, lr}
|
||
31 .LCFI0:
|
||
32 .cfi_def_cfa_offset 16
|
||
33 .cfi_offset 4, -16
|
||
34 .cfi_offset 5, -12
|
||
35 .cfi_offset 6, -8
|
||
36 .cfi_offset 14, -4
|
||
37 .LVL1:
|
||
229:Src/usbd_midi_if.c **** uint32_t i = 0;
|
||
38 .loc 1 229 0
|
||
39 0002 0022 movs r2, #0
|
||
40 .LVL2:
|
||
41 .L2:
|
||
230:Src/usbd_midi_if.c **** while (i < length) {
|
||
42 .loc 1 230 0
|
||
43 0004 9142 cmp r1, r2
|
||
44 0006 0FD9 bls .L5
|
||
231:Src/usbd_midi_if.c **** APP_Rx_Buffer[APP_Rx_ptr_in] = *(msg + i);
|
||
45 .loc 1 231 0
|
||
46 0008 084C ldr r4, .L6
|
||
47 000a 2368 ldr r3, [r4]
|
||
48 000c 865C ldrb r6, [r0, r2]
|
||
49 000e 084D ldr r5, .L6+4
|
||
50 0010 EE54 strb r6, [r5, r3]
|
||
232:Src/usbd_midi_if.c **** APP_Rx_ptr_in++;
|
||
51 .loc 1 232 0
|
||
52 0012 0133 adds r3, r3, #1
|
||
53 0014 2360 str r3, [r4]
|
||
233:Src/usbd_midi_if.c **** i++;
|
||
ARM GAS /tmp/ccxcefs2.s page 6
|
||
|
||
|
||
54 .loc 1 233 0
|
||
55 0016 0132 adds r2, r2, #1
|
||
56 .LVL3:
|
||
234:Src/usbd_midi_if.c **** if (APP_Rx_ptr_in == APP_RX_DATA_SIZE) {
|
||
57 .loc 1 234 0
|
||
58 0018 8024 movs r4, #128
|
||
59 001a 6400 lsls r4, r4, #1
|
||
60 001c A342 cmp r3, r4
|
||
61 001e F1D1 bne .L2
|
||
235:Src/usbd_midi_if.c **** APP_Rx_ptr_in = 0;
|
||
62 .loc 1 235 0
|
||
63 0020 024B ldr r3, .L6
|
||
64 0022 0024 movs r4, #0
|
||
65 0024 1C60 str r4, [r3]
|
||
66 0026 EDE7 b .L2
|
||
67 .L5:
|
||
236:Src/usbd_midi_if.c **** }
|
||
237:Src/usbd_midi_if.c **** }
|
||
238:Src/usbd_midi_if.c **** return USBD_OK;
|
||
239:Src/usbd_midi_if.c **** }
|
||
68 .loc 1 239 0
|
||
69 0028 0020 movs r0, #0
|
||
70 .LVL4:
|
||
71 @ sp needed
|
||
72 002a 70BD pop {r4, r5, r6, pc}
|
||
73 .L7:
|
||
74 .align 2
|
||
75 .L6:
|
||
76 002c 00000000 .word APP_Rx_ptr_in
|
||
77 0030 00000000 .word APP_Rx_Buffer
|
||
78 .cfi_endproc
|
||
79 .LFE52:
|
||
81 .section .text.MIDI_DataRx,"ax",%progbits
|
||
82 .align 1
|
||
83 .syntax unified
|
||
84 .code 16
|
||
85 .thumb_func
|
||
86 .fpu softvfp
|
||
88 MIDI_DataRx:
|
||
89 .LFB50:
|
||
152:Src/usbd_midi_if.c **** uint16_t cnt;
|
||
90 .loc 1 152 0
|
||
91 .cfi_startproc
|
||
92 @ args = 0, pretend = 0, frame = 16
|
||
93 @ frame_needed = 0, uses_anonymous_args = 0
|
||
94 .LVL5:
|
||
95 0000 F0B5 push {r4, r5, r6, r7, lr}
|
||
96 .LCFI1:
|
||
97 .cfi_def_cfa_offset 20
|
||
98 .cfi_offset 4, -20
|
||
99 .cfi_offset 5, -16
|
||
100 .cfi_offset 6, -12
|
||
101 .cfi_offset 7, -8
|
||
102 .cfi_offset 14, -4
|
||
103 0002 DE46 mov lr, fp
|
||
104 0004 4746 mov r7, r8
|
||
105 0006 80B5 push {r7, lr}
|
||
ARM GAS /tmp/ccxcefs2.s page 7
|
||
|
||
|
||
106 .LCFI2:
|
||
107 .cfi_def_cfa_offset 28
|
||
108 .cfi_offset 8, -28
|
||
109 .cfi_offset 11, -24
|
||
110 0008 85B0 sub sp, sp, #20
|
||
111 .LCFI3:
|
||
112 .cfi_def_cfa_offset 48
|
||
113 000a 0600 movs r6, r0
|
||
154:Src/usbd_midi_if.c **** uint16_t chk = length % 4;
|
||
114 .loc 1 154 0
|
||
115 000c 8B08 lsrs r3, r1, #2
|
||
116 000e 9B46 mov fp, r3
|
||
117 .LVL6:
|
||
155:Src/usbd_midi_if.c **** uint8_t u8b;
|
||
118 .loc 1 155 0
|
||
119 0010 0327 movs r7, #3
|
||
120 0012 0F40 ands r7, r1
|
||
121 0014 0197 str r7, [sp, #4]
|
||
122 .LVL7:
|
||
159:Src/usbd_midi_if.c **** {
|
||
123 .loc 1 159 0
|
||
124 0016 27D0 beq .L10
|
||
125 .LVL8:
|
||
126 .L9:
|
||
215:Src/usbd_midi_if.c ****
|
||
127 .loc 1 215 0
|
||
128 0018 0020 movs r0, #0
|
||
129 001a 05B0 add sp, sp, #20
|
||
130 @ sp needed
|
||
131 .LVL9:
|
||
132 .LVL10:
|
||
133 001c 0CBC pop {r2, r3}
|
||
134 001e 9046 mov r8, r2
|
||
135 0020 9B46 mov fp, r3
|
||
136 0022 F0BD pop {r4, r5, r6, r7, pc}
|
||
137 .LVL11:
|
||
138 .L11:
|
||
139 .LBB2:
|
||
140 .LBB3:
|
||
174:Src/usbd_midi_if.c **** break;
|
||
141 .loc 1 174 0
|
||
142 0024 0023 movs r3, #0
|
||
143 0026 0093 str r3, [sp]
|
||
144 .L15:
|
||
145 .LVL12:
|
||
208:Src/usbd_midi_if.c **** u8b = *(msg + 4*cnt_msgs + cnt + 1);
|
||
146 .loc 1 208 0
|
||
147 0028 019C ldr r4, [sp, #4]
|
||
148 002a 18E0 b .L16
|
||
149 .LVL13:
|
||
150 .L12:
|
||
188:Src/usbd_midi_if.c **** break;
|
||
151 .loc 1 188 0
|
||
152 002c 0223 movs r3, #2
|
||
153 002e 0093 str r3, [sp]
|
||
189:Src/usbd_midi_if.c ****
|
||
154 .loc 1 189 0
|
||
ARM GAS /tmp/ccxcefs2.s page 8
|
||
|
||
|
||
155 0030 FAE7 b .L15
|
||
156 .LVL14:
|
||
157 .L14:
|
||
200:Src/usbd_midi_if.c **** break;
|
||
158 .loc 1 200 0
|
||
159 0032 0323 movs r3, #3
|
||
160 0034 0093 str r3, [sp]
|
||
201:Src/usbd_midi_if.c ****
|
||
161 .loc 1 201 0
|
||
162 0036 F7E7 b .L15
|
||
163 .LVL15:
|
||
164 .L19:
|
||
180:Src/usbd_midi_if.c **** break;
|
||
165 .loc 1 180 0
|
||
166 0038 0123 movs r3, #1
|
||
167 003a 0093 str r3, [sp]
|
||
168 003c F4E7 b .L15
|
||
169 .LVL16:
|
||
170 .L17:
|
||
209:Src/usbd_midi_if.c **** cureRingBufferU8Enqueue(&rbuf_usb_rx[cable_num], &u8b);
|
||
171 .loc 1 209 0 discriminator 3
|
||
172 003e 4346 mov r3, r8
|
||
173 0040 E318 adds r3, r4, r3
|
||
174 0042 0133 adds r3, r3, #1
|
||
175 0044 F35C ldrb r3, [r6, r3]
|
||
176 0046 02AA add r2, sp, #8
|
||
177 0048 D11D adds r1, r2, #7
|
||
178 004a 0B70 strb r3, [r1]
|
||
210:Src/usbd_midi_if.c **** }
|
||
179 .loc 1 210 0 discriminator 3
|
||
180 004c 6B00 lsls r3, r5, #1
|
||
181 004e 5B19 adds r3, r3, r5
|
||
182 0050 9800 lsls r0, r3, #2
|
||
183 0052 0B4B ldr r3, .L20
|
||
184 0054 C018 adds r0, r0, r3
|
||
185 0056 FFF7FEFF bl cureRingBufferU8Enqueue
|
||
186 .LVL17:
|
||
208:Src/usbd_midi_if.c **** u8b = *(msg + 4*cnt_msgs + cnt + 1);
|
||
187 .loc 1 208 0 discriminator 3
|
||
188 005a 0134 adds r4, r4, #1
|
||
189 .LVL18:
|
||
190 005c A4B2 uxth r4, r4
|
||
191 .LVL19:
|
||
192 .L16:
|
||
208:Src/usbd_midi_if.c **** u8b = *(msg + 4*cnt_msgs + cnt + 1);
|
||
193 .loc 1 208 0 is_stmt 0 discriminator 1
|
||
194 005e 6B46 mov r3, sp
|
||
195 0060 1B88 ldrh r3, [r3]
|
||
196 0062 A342 cmp r3, r4
|
||
197 0064 EBD8 bhi .L17
|
||
198 .LBE3:
|
||
164:Src/usbd_midi_if.c ****
|
||
199 .loc 1 164 0 is_stmt 1 discriminator 2
|
||
200 0066 0137 adds r7, r7, #1
|
||
201 .LVL20:
|
||
202 .L10:
|
||
164:Src/usbd_midi_if.c ****
|
||
ARM GAS /tmp/ccxcefs2.s page 9
|
||
|
||
|
||
203 .loc 1 164 0 is_stmt 0 discriminator 1
|
||
204 0068 BB45 cmp fp, r7
|
||
205 006a D5D9 bls .L9
|
||
206 .LBB4:
|
||
166:Src/usbd_midi_if.c **** uint8_t code_idx_num = msg[0 + 4*cnt_msgs] & 0x0F;
|
||
207 .loc 1 166 0 is_stmt 1
|
||
208 006c BB00 lsls r3, r7, #2
|
||
209 006e 9846 mov r8, r3
|
||
210 0070 F25C ldrb r2, [r6, r3]
|
||
211 0072 1509 lsrs r5, r2, #4
|
||
212 .LVL21:
|
||
167:Src/usbd_midi_if.c ****
|
||
213 .loc 1 167 0
|
||
214 0074 0F23 movs r3, #15
|
||
215 0076 1340 ands r3, r2
|
||
216 .LVL22:
|
||
169:Src/usbd_midi_if.c ****
|
||
217 .loc 1 169 0
|
||
218 0078 9B00 lsls r3, r3, #2
|
||
219 .LVL23:
|
||
220 007a 024A ldr r2, .L20+4
|
||
221 .LVL24:
|
||
222 007c D358 ldr r3, [r2, r3]
|
||
223 007e 9F46 mov pc, r3
|
||
224 .section .rodata.MIDI_DataRx,"a",%progbits
|
||
225 .align 2
|
||
226 .L13:
|
||
227 0000 24000000 .word .L11
|
||
228 0004 24000000 .word .L11
|
||
229 0008 2C000000 .word .L12
|
||
230 000c 32000000 .word .L14
|
||
231 0010 32000000 .word .L14
|
||
232 0014 38000000 .word .L19
|
||
233 0018 2C000000 .word .L12
|
||
234 001c 32000000 .word .L14
|
||
235 0020 32000000 .word .L14
|
||
236 0024 32000000 .word .L14
|
||
237 0028 32000000 .word .L14
|
||
238 002c 32000000 .word .L14
|
||
239 0030 2C000000 .word .L12
|
||
240 0034 2C000000 .word .L12
|
||
241 0038 32000000 .word .L14
|
||
242 003c 38000000 .word .L19
|
||
243 .section .text.MIDI_DataRx
|
||
244 .L21:
|
||
245 .align 2
|
||
246 .L20:
|
||
247 0080 00000000 .word rbuf_usb_rx
|
||
248 0084 00000000 .word .L13
|
||
249 .LBE4:
|
||
250 .LBE2:
|
||
251 .cfi_endproc
|
||
252 .LFE50:
|
||
254 .section .text.midiInit,"ax",%progbits
|
||
255 .align 1
|
||
256 .global midiInit
|
||
257 .syntax unified
|
||
ARM GAS /tmp/ccxcefs2.s page 10
|
||
|
||
|
||
258 .code 16
|
||
259 .thumb_func
|
||
260 .fpu softvfp
|
||
262 midiInit:
|
||
263 .LFB43:
|
||
43:Src/usbd_midi_if.c **** uint32_t i,j;
|
||
264 .loc 1 43 0
|
||
265 .cfi_startproc
|
||
266 @ args = 0, pretend = 0, frame = 0
|
||
267 @ frame_needed = 0, uses_anonymous_args = 0
|
||
268 0000 10B5 push {r4, lr}
|
||
269 .LCFI4:
|
||
270 .cfi_def_cfa_offset 8
|
||
271 .cfi_offset 4, -8
|
||
272 .cfi_offset 14, -4
|
||
273 .LVL25:
|
||
46:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Init(&rbuf_usb_rx[i], MIDI_BUFFER_SIZ))
|
||
274 .loc 1 46 0
|
||
275 0002 0024 movs r4, #0
|
||
276 .LVL26:
|
||
277 .L23:
|
||
46:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Init(&rbuf_usb_rx[i], MIDI_BUFFER_SIZ))
|
||
278 .loc 1 46 0 is_stmt 0 discriminator 1
|
||
279 0004 002C cmp r4, #0
|
||
280 0006 01D0 beq .L25
|
||
72:Src/usbd_midi_if.c **** }
|
||
281 .loc 1 72 0 is_stmt 1
|
||
282 0008 0120 movs r0, #1
|
||
283 .L24:
|
||
73:Src/usbd_midi_if.c ****
|
||
284 .loc 1 73 0
|
||
285 @ sp needed
|
||
286 .LVL27:
|
||
287 000a 10BD pop {r4, pc}
|
||
288 .LVL28:
|
||
289 .L25:
|
||
47:Src/usbd_midi_if.c **** {
|
||
290 .loc 1 47 0
|
||
291 000c 8021 movs r1, #128
|
||
292 000e 6300 lsls r3, r4, #1
|
||
293 0010 1B19 adds r3, r3, r4
|
||
294 0012 9800 lsls r0, r3, #2
|
||
295 0014 054B ldr r3, .L27
|
||
296 0016 C018 adds r0, r0, r3
|
||
297 0018 8900 lsls r1, r1, #2
|
||
298 001a FFF7FEFF bl cureRingBufferU8Init
|
||
299 .LVL29:
|
||
300 001e 0128 cmp r0, #1
|
||
301 0020 01D1 bne .L26
|
||
46:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Init(&rbuf_usb_rx[i], MIDI_BUFFER_SIZ))
|
||
302 .loc 1 46 0 discriminator 2
|
||
303 0022 0134 adds r4, r4, #1
|
||
304 .LVL30:
|
||
305 0024 EEE7 b .L23
|
||
306 .L26:
|
||
49:Src/usbd_midi_if.c **** }
|
||
307 .loc 1 49 0
|
||
ARM GAS /tmp/ccxcefs2.s page 11
|
||
|
||
|
||
308 0026 0020 movs r0, #0
|
||
309 0028 EFE7 b .L24
|
||
310 .L28:
|
||
311 002a C046 .align 2
|
||
312 .L27:
|
||
313 002c 00000000 .word rbuf_usb_rx
|
||
314 .cfi_endproc
|
||
315 .LFE43:
|
||
317 .section .text.midiGetFromUsbRx,"ax",%progbits
|
||
318 .align 1
|
||
319 .global midiGetFromUsbRx
|
||
320 .syntax unified
|
||
321 .code 16
|
||
322 .thumb_func
|
||
323 .fpu softvfp
|
||
325 midiGetFromUsbRx:
|
||
326 .LFB44:
|
||
76:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Dequeue(&rbuf_usb_rx[cable_num], dat))
|
||
327 .loc 1 76 0
|
||
328 .cfi_startproc
|
||
329 @ args = 0, pretend = 0, frame = 0
|
||
330 @ frame_needed = 0, uses_anonymous_args = 0
|
||
331 .LVL31:
|
||
332 0000 10B5 push {r4, lr}
|
||
333 .LCFI5:
|
||
334 .cfi_def_cfa_offset 8
|
||
335 .cfi_offset 4, -8
|
||
336 .cfi_offset 14, -4
|
||
77:Src/usbd_midi_if.c **** {
|
||
337 .loc 1 77 0
|
||
338 0002 4300 lsls r3, r0, #1
|
||
339 0004 1818 adds r0, r3, r0
|
||
340 .LVL32:
|
||
341 0006 8300 lsls r3, r0, #2
|
||
342 0008 0448 ldr r0, .L32
|
||
343 000a 1818 adds r0, r3, r0
|
||
344 000c FFF7FEFF bl cureRingBufferU8Dequeue
|
||
345 .LVL33:
|
||
346 0010 0128 cmp r0, #1
|
||
347 0012 01D0 beq .L31
|
||
79:Src/usbd_midi_if.c **** }
|
||
348 .loc 1 79 0
|
||
349 0014 0020 movs r0, #0
|
||
350 .L30:
|
||
83:Src/usbd_midi_if.c ****
|
||
351 .loc 1 83 0
|
||
352 @ sp needed
|
||
353 0016 10BD pop {r4, pc}
|
||
354 .L31:
|
||
82:Src/usbd_midi_if.c **** }
|
||
355 .loc 1 82 0
|
||
356 0018 0120 movs r0, #1
|
||
357 001a FCE7 b .L30
|
||
358 .L33:
|
||
359 .align 2
|
||
360 .L32:
|
||
361 001c 00000000 .word rbuf_usb_rx
|
||
ARM GAS /tmp/ccxcefs2.s page 12
|
||
|
||
|
||
362 .cfi_endproc
|
||
363 .LFE44:
|
||
365 .section .text.midiGetFromJackRx,"ax",%progbits
|
||
366 .align 1
|
||
367 .global midiGetFromJackRx
|
||
368 .syntax unified
|
||
369 .code 16
|
||
370 .thumb_func
|
||
371 .fpu softvfp
|
||
373 midiGetFromJackRx:
|
||
374 .LFB45:
|
||
86:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Dequeue(&rbuf_jack_rx[cable_num], &rx_midi_msg[cable_num]))
|
||
375 .loc 1 86 0
|
||
376 .cfi_startproc
|
||
377 @ args = 0, pretend = 0, frame = 0
|
||
378 @ frame_needed = 0, uses_anonymous_args = 0
|
||
379 .LVL34:
|
||
380 0000 10B5 push {r4, lr}
|
||
381 .LCFI6:
|
||
382 .cfi_def_cfa_offset 8
|
||
383 .cfi_offset 4, -8
|
||
384 .cfi_offset 14, -4
|
||
87:Src/usbd_midi_if.c **** {
|
||
385 .loc 1 87 0
|
||
386 0002 0749 ldr r1, .L37
|
||
387 0004 4118 adds r1, r0, r1
|
||
388 0006 4300 lsls r3, r0, #1
|
||
389 0008 1818 adds r0, r3, r0
|
||
390 .LVL35:
|
||
391 000a 8300 lsls r3, r0, #2
|
||
392 000c 0548 ldr r0, .L37+4
|
||
393 000e 1818 adds r0, r3, r0
|
||
394 0010 FFF7FEFF bl cureRingBufferU8Dequeue
|
||
395 .LVL36:
|
||
396 0014 0128 cmp r0, #1
|
||
397 0016 01D0 beq .L36
|
||
89:Src/usbd_midi_if.c **** }
|
||
398 .loc 1 89 0
|
||
399 0018 0020 movs r0, #0
|
||
400 .L35:
|
||
93:Src/usbd_midi_if.c ****
|
||
401 .loc 1 93 0
|
||
402 @ sp needed
|
||
403 001a 10BD pop {r4, pc}
|
||
404 .L36:
|
||
92:Src/usbd_midi_if.c **** }
|
||
405 .loc 1 92 0
|
||
406 001c 0120 movs r0, #1
|
||
407 001e FCE7 b .L35
|
||
408 .L38:
|
||
409 .align 2
|
||
410 .L37:
|
||
411 0020 00000000 .word rx_midi_msg
|
||
412 0024 00000000 .word rbuf_jack_rx
|
||
413 .cfi_endproc
|
||
414 .LFE45:
|
||
416 .section .text.midiSetFromJackRx,"ax",%progbits
|
||
ARM GAS /tmp/ccxcefs2.s page 13
|
||
|
||
|
||
417 .align 1
|
||
418 .global midiSetFromJackRx
|
||
419 .syntax unified
|
||
420 .code 16
|
||
421 .thumb_func
|
||
422 .fpu softvfp
|
||
424 midiSetFromJackRx:
|
||
425 .LFB46:
|
||
96:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Enqueue(&rbuf_jack_rx[cable_num], dat))
|
||
426 .loc 1 96 0
|
||
427 .cfi_startproc
|
||
428 @ args = 0, pretend = 0, frame = 0
|
||
429 @ frame_needed = 0, uses_anonymous_args = 0
|
||
430 .LVL37:
|
||
431 0000 10B5 push {r4, lr}
|
||
432 .LCFI7:
|
||
433 .cfi_def_cfa_offset 8
|
||
434 .cfi_offset 4, -8
|
||
435 .cfi_offset 14, -4
|
||
97:Src/usbd_midi_if.c **** {
|
||
436 .loc 1 97 0
|
||
437 0002 4300 lsls r3, r0, #1
|
||
438 0004 1818 adds r0, r3, r0
|
||
439 .LVL38:
|
||
440 0006 8300 lsls r3, r0, #2
|
||
441 0008 0448 ldr r0, .L42
|
||
442 000a 1818 adds r0, r3, r0
|
||
443 000c FFF7FEFF bl cureRingBufferU8Enqueue
|
||
444 .LVL39:
|
||
445 0010 0128 cmp r0, #1
|
||
446 0012 01D0 beq .L41
|
||
99:Src/usbd_midi_if.c **** }
|
||
447 .loc 1 99 0
|
||
448 0014 0020 movs r0, #0
|
||
449 .L40:
|
||
103:Src/usbd_midi_if.c ****
|
||
450 .loc 1 103 0
|
||
451 @ sp needed
|
||
452 0016 10BD pop {r4, pc}
|
||
453 .L41:
|
||
102:Src/usbd_midi_if.c **** }
|
||
454 .loc 1 102 0
|
||
455 0018 0120 movs r0, #1
|
||
456 001a FCE7 b .L40
|
||
457 .L43:
|
||
458 .align 2
|
||
459 .L42:
|
||
460 001c 00000000 .word rbuf_jack_rx
|
||
461 .cfi_endproc
|
||
462 .LFE46:
|
||
464 .section .text.isUsbRxBufEmpty,"ax",%progbits
|
||
465 .align 1
|
||
466 .global isUsbRxBufEmpty
|
||
467 .syntax unified
|
||
468 .code 16
|
||
469 .thumb_func
|
||
470 .fpu softvfp
|
||
ARM GAS /tmp/ccxcefs2.s page 14
|
||
|
||
|
||
472 isUsbRxBufEmpty:
|
||
473 .LFB47:
|
||
107:Src/usbd_midi_if.c **** if( 0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[cable_num]) ){
|
||
474 .loc 1 107 0
|
||
475 .cfi_startproc
|
||
476 @ args = 0, pretend = 0, frame = 0
|
||
477 @ frame_needed = 0, uses_anonymous_args = 0
|
||
478 .LVL40:
|
||
479 0000 10B5 push {r4, lr}
|
||
480 .LCFI8:
|
||
481 .cfi_def_cfa_offset 8
|
||
482 .cfi_offset 4, -8
|
||
483 .cfi_offset 14, -4
|
||
108:Src/usbd_midi_if.c **** return false;
|
||
484 .loc 1 108 0
|
||
485 0002 4300 lsls r3, r0, #1
|
||
486 0004 1818 adds r0, r3, r0
|
||
487 .LVL41:
|
||
488 0006 8300 lsls r3, r0, #2
|
||
489 0008 0448 ldr r0, .L48
|
||
490 000a 1818 adds r0, r3, r0
|
||
491 000c FFF7FEFF bl _cureRingBufferU8GetUsedSize
|
||
492 .LVL42:
|
||
493 0010 0028 cmp r0, #0
|
||
494 0012 01D1 bne .L47
|
||
112:Src/usbd_midi_if.c **** }
|
||
495 .loc 1 112 0
|
||
496 0014 0120 movs r0, #1
|
||
497 .L45:
|
||
113:Src/usbd_midi_if.c ****
|
||
498 .loc 1 113 0
|
||
499 @ sp needed
|
||
500 0016 10BD pop {r4, pc}
|
||
501 .L47:
|
||
109:Src/usbd_midi_if.c **** }
|
||
502 .loc 1 109 0
|
||
503 0018 0020 movs r0, #0
|
||
504 001a FCE7 b .L45
|
||
505 .L49:
|
||
506 .align 2
|
||
507 .L48:
|
||
508 001c 00000000 .word rbuf_usb_rx
|
||
509 .cfi_endproc
|
||
510 .LFE47:
|
||
512 .section .text.isJackRxBufEmpty,"ax",%progbits
|
||
513 .align 1
|
||
514 .global isJackRxBufEmpty
|
||
515 .syntax unified
|
||
516 .code 16
|
||
517 .thumb_func
|
||
518 .fpu softvfp
|
||
520 isJackRxBufEmpty:
|
||
521 .LFB48:
|
||
116:Src/usbd_midi_if.c **** if( 0 != _cureRingBufferU8GetUsedSize(&rbuf_jack_rx[cable_num]) ){
|
||
522 .loc 1 116 0
|
||
523 .cfi_startproc
|
||
524 @ args = 0, pretend = 0, frame = 0
|
||
ARM GAS /tmp/ccxcefs2.s page 15
|
||
|
||
|
||
525 @ frame_needed = 0, uses_anonymous_args = 0
|
||
526 .LVL43:
|
||
527 0000 10B5 push {r4, lr}
|
||
528 .LCFI9:
|
||
529 .cfi_def_cfa_offset 8
|
||
530 .cfi_offset 4, -8
|
||
531 .cfi_offset 14, -4
|
||
117:Src/usbd_midi_if.c **** return false;
|
||
532 .loc 1 117 0
|
||
533 0002 4300 lsls r3, r0, #1
|
||
534 0004 1818 adds r0, r3, r0
|
||
535 .LVL44:
|
||
536 0006 8300 lsls r3, r0, #2
|
||
537 0008 0448 ldr r0, .L54
|
||
538 000a 1818 adds r0, r3, r0
|
||
539 000c FFF7FEFF bl _cureRingBufferU8GetUsedSize
|
||
540 .LVL45:
|
||
541 0010 0028 cmp r0, #0
|
||
542 0012 01D1 bne .L53
|
||
121:Src/usbd_midi_if.c **** }
|
||
543 .loc 1 121 0
|
||
544 0014 0120 movs r0, #1
|
||
545 .L51:
|
||
122:Src/usbd_midi_if.c ****
|
||
546 .loc 1 122 0
|
||
547 @ sp needed
|
||
548 0016 10BD pop {r4, pc}
|
||
549 .L53:
|
||
118:Src/usbd_midi_if.c **** }
|
||
550 .loc 1 118 0
|
||
551 0018 0020 movs r0, #0
|
||
552 001a FCE7 b .L51
|
||
553 .L55:
|
||
554 .align 2
|
||
555 .L54:
|
||
556 001c 00000000 .word rbuf_jack_rx
|
||
557 .cfi_endproc
|
||
558 .LFE48:
|
||
560 .section .text.isRxBufEmpty,"ax",%progbits
|
||
561 .align 1
|
||
562 .global isRxBufEmpty
|
||
563 .syntax unified
|
||
564 .code 16
|
||
565 .thumb_func
|
||
566 .fpu softvfp
|
||
568 isRxBufEmpty:
|
||
569 .LFB49:
|
||
125:Src/usbd_midi_if.c **** uint32_t i;
|
||
570 .loc 1 125 0
|
||
571 .cfi_startproc
|
||
572 @ args = 0, pretend = 0, frame = 0
|
||
573 @ frame_needed = 0, uses_anonymous_args = 0
|
||
574 0000 10B5 push {r4, lr}
|
||
575 .LCFI10:
|
||
576 .cfi_def_cfa_offset 8
|
||
577 .cfi_offset 4, -8
|
||
578 .cfi_offset 14, -4
|
||
ARM GAS /tmp/ccxcefs2.s page 16
|
||
|
||
|
||
579 .LVL46:
|
||
128:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[i]))
|
||
580 .loc 1 128 0
|
||
581 0002 0024 movs r4, #0
|
||
582 .LVL47:
|
||
583 .L57:
|
||
128:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[i]))
|
||
584 .loc 1 128 0 is_stmt 0 discriminator 1
|
||
585 0004 002C cmp r4, #0
|
||
586 0006 01D0 beq .L59
|
||
141:Src/usbd_midi_if.c **** }
|
||
587 .loc 1 141 0 is_stmt 1
|
||
588 0008 0120 movs r0, #1
|
||
589 .L58:
|
||
142:Src/usbd_midi_if.c ****
|
||
590 .loc 1 142 0
|
||
591 @ sp needed
|
||
592 .LVL48:
|
||
593 000a 10BD pop {r4, pc}
|
||
594 .LVL49:
|
||
595 .L59:
|
||
129:Src/usbd_midi_if.c **** {
|
||
596 .loc 1 129 0
|
||
597 000c 6300 lsls r3, r4, #1
|
||
598 000e 1B19 adds r3, r3, r4
|
||
599 0010 9800 lsls r0, r3, #2
|
||
600 0012 054B ldr r3, .L61
|
||
601 0014 C018 adds r0, r0, r3
|
||
602 0016 FFF7FEFF bl _cureRingBufferU8GetUsedSize
|
||
603 .LVL50:
|
||
604 001a 0028 cmp r0, #0
|
||
605 001c 01D1 bne .L60
|
||
128:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[i]))
|
||
606 .loc 1 128 0 discriminator 2
|
||
607 001e 0134 adds r4, r4, #1
|
||
608 .LVL51:
|
||
609 0020 F0E7 b .L57
|
||
610 .L60:
|
||
131:Src/usbd_midi_if.c **** }
|
||
611 .loc 1 131 0
|
||
612 0022 0020 movs r0, #0
|
||
613 0024 F1E7 b .L58
|
||
614 .L62:
|
||
615 0026 C046 .align 2
|
||
616 .L61:
|
||
617 0028 00000000 .word rbuf_usb_rx
|
||
618 .cfi_endproc
|
||
619 .LFE49:
|
||
621 .section .text.sendMidiMessage,"ax",%progbits
|
||
622 .align 1
|
||
623 .global sendMidiMessage
|
||
624 .syntax unified
|
||
625 .code 16
|
||
626 .thumb_func
|
||
627 .fpu softvfp
|
||
629 sendMidiMessage:
|
||
630 .LFB51:
|
||
ARM GAS /tmp/ccxcefs2.s page 17
|
||
|
||
|
||
217:Src/usbd_midi_if.c **** if(size == 4){
|
||
631 .loc 1 217 0
|
||
632 .cfi_startproc
|
||
633 @ args = 0, pretend = 0, frame = 0
|
||
634 @ frame_needed = 0, uses_anonymous_args = 0
|
||
635 .LVL52:
|
||
636 0000 10B5 push {r4, lr}
|
||
637 .LCFI11:
|
||
638 .cfi_def_cfa_offset 8
|
||
639 .cfi_offset 4, -8
|
||
640 .cfi_offset 14, -4
|
||
218:Src/usbd_midi_if.c **** // APP_Rx_Buffer[0] = msg[0];
|
||
641 .loc 1 218 0
|
||
642 0002 0429 cmp r1, #4
|
||
643 0004 00D0 beq .L65
|
||
644 .LVL53:
|
||
645 .L63:
|
||
226:Src/usbd_midi_if.c ****
|
||
646 .loc 1 226 0
|
||
647 @ sp needed
|
||
648 0006 10BD pop {r4, pc}
|
||
649 .LVL54:
|
||
650 .L65:
|
||
224:Src/usbd_midi_if.c **** }
|
||
651 .loc 1 224 0
|
||
652 0008 FFF7FEFF bl MIDI_DataTx
|
||
653 .LVL55:
|
||
226:Src/usbd_midi_if.c ****
|
||
654 .loc 1 226 0
|
||
655 000c FBE7 b .L63
|
||
656 .cfi_endproc
|
||
657 .LFE51:
|
||
659 .section .text.midiEventIsGenerated,"ax",%progbits
|
||
660 .align 1
|
||
661 .global midiEventIsGenerated
|
||
662 .syntax unified
|
||
663 .code 16
|
||
664 .thumb_func
|
||
665 .fpu softvfp
|
||
667 midiEventIsGenerated:
|
||
668 .LFB53:
|
||
240:Src/usbd_midi_if.c ****
|
||
241:Src/usbd_midi_if.c **** bool midiEventIsGenerated(uint8_t cable_num)
|
||
242:Src/usbd_midi_if.c **** {
|
||
669 .loc 1 242 0
|
||
670 .cfi_startproc
|
||
671 @ args = 0, pretend = 0, frame = 0
|
||
672 @ frame_needed = 0, uses_anonymous_args = 0
|
||
673 .LVL56:
|
||
674 0000 F0B5 push {r4, r5, r6, r7, lr}
|
||
675 .LCFI12:
|
||
676 .cfi_def_cfa_offset 20
|
||
677 .cfi_offset 4, -20
|
||
678 .cfi_offset 5, -16
|
||
679 .cfi_offset 6, -12
|
||
680 .cfi_offset 7, -8
|
||
681 .cfi_offset 14, -4
|
||
ARM GAS /tmp/ccxcefs2.s page 18
|
||
|
||
|
||
243:Src/usbd_midi_if.c **** uint8_t upper_half_byte= (rx_midi_msg[cable_num]) & 0xF0;
|
||
682 .loc 1 243 0
|
||
683 0002 8F4B ldr r3, .L102
|
||
684 0004 1A5C ldrb r2, [r3, r0]
|
||
685 0006 0F23 movs r3, #15
|
||
686 0008 1100 movs r1, r2
|
||
687 000a 9943 bics r1, r3
|
||
688 000c 0B00 movs r3, r1
|
||
689 .LVL57:
|
||
244:Src/usbd_midi_if.c ****
|
||
245:Src/usbd_midi_if.c **** if( upper_half_byte & 0x80 ){//0x80-0xFF:status byte
|
||
690 .loc 1 245 0
|
||
691 000e 49B2 sxtb r1, r1
|
||
692 0010 0029 cmp r1, #0
|
||
693 0012 24DB blt .L93
|
||
246:Src/usbd_midi_if.c ****
|
||
247:Src/usbd_midi_if.c **** switch(upper_half_byte){
|
||
248:Src/usbd_midi_if.c ****
|
||
249:Src/usbd_midi_if.c **** case 0xF0://0xF0-0xFF:system message
|
||
250:Src/usbd_midi_if.c **** switch(rx_midi_msg[cable_num]){
|
||
251:Src/usbd_midi_if.c ****
|
||
252:Src/usbd_midi_if.c **** case 0xF0://SysEx Start
|
||
253:Src/usbd_midi_if.c **** analyzed_status[cable_num].data_idx = 0;
|
||
254:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[ analyzed_status[cable_num].data_idx++ ] = rx_midi_msg[cable_
|
||
255:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_SYSEX;
|
||
256:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_SYSTEM_DATA;
|
||
257:Src/usbd_midi_if.c **** break;
|
||
258:Src/usbd_midi_if.c ****
|
||
259:Src/usbd_midi_if.c **** case 0xF7://SysEx End
|
||
260:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[ analyzed_status[cable_num].data_idx++ ] = rx_midi_msg[cable_
|
||
261:Src/usbd_midi_if.c **** midi_event[cable_num].length = analyzed_status[cable_num].data_idx;
|
||
262:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
263:Src/usbd_midi_if.c **** break;
|
||
264:Src/usbd_midi_if.c ****
|
||
265:Src/usbd_midi_if.c **** case 0xF2://Song Position
|
||
266:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[0] = rx_midi_msg[cable_num];
|
||
267:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_THREE_BYTE;
|
||
268:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
|
||
269:Src/usbd_midi_if.c **** break;
|
||
270:Src/usbd_midi_if.c ****
|
||
271:Src/usbd_midi_if.c **** case 0xF1://Time Code
|
||
272:Src/usbd_midi_if.c **** case 0xF3://Song Select
|
||
273:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[0] = rx_midi_msg[cable_num];
|
||
274:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_TWO_BYTE;
|
||
275:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
|
||
276:Src/usbd_midi_if.c **** break;
|
||
277:Src/usbd_midi_if.c ****
|
||
278:Src/usbd_midi_if.c **** case 0xF4://Undefined
|
||
279:Src/usbd_midi_if.c **** case 0xF5://Undefined
|
||
280:Src/usbd_midi_if.c **** case 0xF6://Tune request
|
||
281:Src/usbd_midi_if.c **** case 0xF8://Timing clock
|
||
282:Src/usbd_midi_if.c **** case 0xF9://Undefined
|
||
283:Src/usbd_midi_if.c **** case 0xFA://Start
|
||
284:Src/usbd_midi_if.c **** case 0xFB://Continue
|
||
285:Src/usbd_midi_if.c **** case 0xFC://Stop
|
||
286:Src/usbd_midi_if.c **** case 0xFD://Undefined
|
||
287:Src/usbd_midi_if.c **** case 0xFE://Active Sensing
|
||
ARM GAS /tmp/ccxcefs2.s page 19
|
||
|
||
|
||
288:Src/usbd_midi_if.c **** case 0xFF://Reset
|
||
289:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[0] = rx_midi_msg[cable_num];
|
||
290:Src/usbd_midi_if.c **** midi_event[cable_num].length = 1;
|
||
291:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_ONE_BYTE;
|
||
292:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
293:Src/usbd_midi_if.c **** break;
|
||
294:Src/usbd_midi_if.c **** }
|
||
295:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = true;
|
||
296:Src/usbd_midi_if.c **** break;
|
||
297:Src/usbd_midi_if.c ****
|
||
298:Src/usbd_midi_if.c **** case 0x80://Note Off
|
||
299:Src/usbd_midi_if.c **** case 0x90://Note On
|
||
300:Src/usbd_midi_if.c **** case 0xA0://Polyphonic key-pressure
|
||
301:Src/usbd_midi_if.c **** case 0xB0://ControlChange
|
||
302:Src/usbd_midi_if.c **** case 0xE0://PitchBend
|
||
303:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[0] = rx_midi_msg[cable_num];
|
||
304:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_THREE_BYTE;
|
||
305:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
|
||
306:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = false;
|
||
307:Src/usbd_midi_if.c **** break;
|
||
308:Src/usbd_midi_if.c ****
|
||
309:Src/usbd_midi_if.c **** case 0xC0://Program Change
|
||
310:Src/usbd_midi_if.c **** case 0xD0://Channel pressure
|
||
311:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[0] = rx_midi_msg[cable_num];
|
||
312:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_TWO_BYTE;
|
||
313:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
|
||
314:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = false;
|
||
315:Src/usbd_midi_if.c **** break;
|
||
316:Src/usbd_midi_if.c ****
|
||
317:Src/usbd_midi_if.c **** default:
|
||
318:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_NOTHING;
|
||
319:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = START_ANALYSIS;
|
||
320:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = false;
|
||
321:Src/usbd_midi_if.c **** break;
|
||
322:Src/usbd_midi_if.c **** }
|
||
323:Src/usbd_midi_if.c ****
|
||
324:Src/usbd_midi_if.c **** }else{//0x00-0x7F:data byte
|
||
325:Src/usbd_midi_if.c ****
|
||
326:Src/usbd_midi_if.c **** switch(analyzed_status[cable_num].stat){
|
||
694 .loc 1 326 0
|
||
695 0014 8300 lsls r3, r0, #2
|
||
696 0016 8B49 ldr r1, .L102+4
|
||
697 .LVL58:
|
||
698 0018 5B5C ldrb r3, [r3, r1]
|
||
699 001a 022B cmp r3, #2
|
||
700 001c 00D1 bne .LCB626
|
||
701 001e DCE0 b .L82 @long jump
|
||
702 .LCB626:
|
||
703 0020 00D8 bhi .LCB628
|
||
704 0022 B7E0 b .L94 @long jump
|
||
705 .LCB628:
|
||
706 0024 032B cmp r3, #3
|
||
707 0026 00D1 bne .LCB630
|
||
708 0028 EEE0 b .L85 @long jump
|
||
709 .LCB630:
|
||
710 002a 042B cmp r3, #4
|
||
711 002c 60D1 bne .L81
|
||
ARM GAS /tmp/ccxcefs2.s page 20
|
||
|
||
|
||
327:Src/usbd_midi_if.c ****
|
||
328:Src/usbd_midi_if.c **** case WAIT_DATA1:
|
||
329:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[1] = rx_midi_msg[cable_num];
|
||
330:Src/usbd_midi_if.c ****
|
||
331:Src/usbd_midi_if.c **** if(MSG_THREE_BYTE == analyzed_status[cable_num].type ){
|
||
332:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA2;
|
||
333:Src/usbd_midi_if.c **** }else if( MSG_TWO_BYTE == analyzed_status[cable_num].type ){
|
||
334:Src/usbd_midi_if.c **** midi_event[cable_num].length = 2;
|
||
335:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
336:Src/usbd_midi_if.c **** }else{
|
||
337:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = START_ANALYSIS;
|
||
338:Src/usbd_midi_if.c **** }
|
||
339:Src/usbd_midi_if.c **** break;
|
||
340:Src/usbd_midi_if.c ****
|
||
341:Src/usbd_midi_if.c **** case WAIT_DATA2:
|
||
342:Src/usbd_midi_if.c **** if(MSG_THREE_BYTE == analyzed_status[cable_num].type ){
|
||
343:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[2] = rx_midi_msg[cable_num];
|
||
344:Src/usbd_midi_if.c **** midi_event[cable_num].length = 3;
|
||
345:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
346:Src/usbd_midi_if.c **** }else{
|
||
347:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = START_ANALYSIS;
|
||
348:Src/usbd_midi_if.c **** }
|
||
349:Src/usbd_midi_if.c **** break;
|
||
350:Src/usbd_midi_if.c ****
|
||
351:Src/usbd_midi_if.c **** case WAIT_SYSTEM_DATA:
|
||
352:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[ analyzed_status[cable_num].data_idx++ ] = rx_midi_msg[cable_nu
|
||
353:Src/usbd_midi_if.c ****
|
||
354:Src/usbd_midi_if.c **** if(analyzed_status[cable_num].data_idx > (MIDI_SENDDATA_MAX - 1) ){
|
||
355:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
356:Src/usbd_midi_if.c **** }
|
||
357:Src/usbd_midi_if.c **** break;
|
||
358:Src/usbd_midi_if.c ****
|
||
359:Src/usbd_midi_if.c **** case END_ANALYSIS://running status:When status byte is omitted.
|
||
360:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[1] = rx_midi_msg[cable_num];
|
||
712 .loc 1 360 0
|
||
713 002e 8101 lsls r1, r0, #6
|
||
714 0030 0918 adds r1, r1, r0
|
||
715 0032 854B ldr r3, .L102+8
|
||
716 0034 5B18 adds r3, r3, r1
|
||
717 0036 9A70 strb r2, [r3, #2]
|
||
361:Src/usbd_midi_if.c **** if(MSG_THREE_BYTE == analyzed_status[cable_num].type){
|
||
718 .loc 1 361 0
|
||
719 0038 8200 lsls r2, r0, #2
|
||
720 .LVL59:
|
||
721 003a 824B ldr r3, .L102+4
|
||
722 003c 9B18 adds r3, r3, r2
|
||
723 003e 5B78 ldrb r3, [r3, #1]
|
||
724 0040 042B cmp r3, #4
|
||
725 0042 00D1 bne .LCB644
|
||
726 0044 F5E0 b .L95 @long jump
|
||
727 .LCB644:
|
||
362:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA2;
|
||
363:Src/usbd_midi_if.c **** }else if(MSG_TWO_BYTE == analyzed_status[cable_num].type){
|
||
728 .loc 1 363 0
|
||
729 0046 032B cmp r3, #3
|
||
730 0048 52D1 bne .L81
|
||
364:Src/usbd_midi_if.c **** midi_event[cable_num].length = 2;
|
||
ARM GAS /tmp/ccxcefs2.s page 21
|
||
|
||
|
||
731 .loc 1 364 0
|
||
732 004a 8301 lsls r3, r0, #6
|
||
733 004c 1B18 adds r3, r3, r0
|
||
734 004e 7E4A ldr r2, .L102+8
|
||
735 0050 0221 movs r1, #2
|
||
736 0052 9954 strb r1, [r3, r2]
|
||
365:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
737 .loc 1 365 0
|
||
738 0054 8300 lsls r3, r0, #2
|
||
739 0056 7B4A ldr r2, .L102+4
|
||
740 0058 0231 adds r1, r1, #2
|
||
741 005a 9954 strb r1, [r3, r2]
|
||
742 005c 48E0 b .L81
|
||
743 .LVL60:
|
||
744 .L93:
|
||
247:Src/usbd_midi_if.c ****
|
||
745 .loc 1 247 0
|
||
746 005e B02B cmp r3, #176
|
||
747 0060 00D1 bne .LCB662
|
||
748 0062 88E0 b .L69 @long jump
|
||
749 .LCB662:
|
||
750 0064 10D9 bls .L96
|
||
751 0066 D02B cmp r3, #208
|
||
752 0068 21D0 beq .L71
|
||
753 006a 1ED9 bls .L97
|
||
754 006c E02B cmp r3, #224
|
||
755 006e 00D1 bne .LCB670
|
||
756 0070 81E0 b .L69 @long jump
|
||
757 .LCB670:
|
||
758 0072 F02B cmp r3, #240
|
||
759 0074 11D1 bne .L68
|
||
250:Src/usbd_midi_if.c ****
|
||
760 .loc 1 250 0
|
||
761 0076 1300 movs r3, r2
|
||
762 0078 1033 adds r3, r3, #16
|
||
763 007a D9B2 uxtb r1, r3
|
||
764 .LVL61:
|
||
765 007c 0F29 cmp r1, #15
|
||
766 007e 32D8 bhi .L74
|
||
767 0080 8B00 lsls r3, r1, #2
|
||
768 0082 7249 ldr r1, .L102+12
|
||
769 0084 CB58 ldr r3, [r1, r3]
|
||
770 0086 9F46 mov pc, r3
|
||
771 .section .rodata.midiEventIsGenerated,"a",%progbits
|
||
772 .align 2
|
||
773 .L76:
|
||
774 0000 CC000000 .word .L75
|
||
775 0004 3E010000 .word .L77
|
||
776 0008 24010000 .word .L78
|
||
777 000c 3E010000 .word .L77
|
||
778 0010 58010000 .word .L79
|
||
779 0014 58010000 .word .L79
|
||
780 0018 58010000 .word .L79
|
||
781 001c 00010000 .word .L80
|
||
782 0020 58010000 .word .L79
|
||
783 0024 58010000 .word .L79
|
||
784 0028 58010000 .word .L79
|
||
ARM GAS /tmp/ccxcefs2.s page 22
|
||
|
||
|
||
785 002c 58010000 .word .L79
|
||
786 0030 58010000 .word .L79
|
||
787 0034 58010000 .word .L79
|
||
788 0038 58010000 .word .L79
|
||
789 003c 58010000 .word .L79
|
||
790 .section .text.midiEventIsGenerated
|
||
791 .LVL62:
|
||
792 .L96:
|
||
247:Src/usbd_midi_if.c ****
|
||
793 .loc 1 247 0
|
||
794 0088 902B cmp r3, #144
|
||
795 008a 00D1 bne .LCB692
|
||
796 008c 73E0 b .L69 @long jump
|
||
797 .LCB692:
|
||
798 008e A02B cmp r3, #160
|
||
799 0090 00D1 bne .LCB694
|
||
800 0092 70E0 b .L69 @long jump
|
||
801 .LCB694:
|
||
802 0094 802B cmp r3, #128
|
||
803 0096 00D1 bne .LCB696
|
||
804 0098 6DE0 b .L69 @long jump
|
||
805 .LCB696:
|
||
806 .L68:
|
||
318:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = START_ANALYSIS;
|
||
807 .loc 1 318 0
|
||
808 009a 6A49 ldr r1, .L102+4
|
||
809 .LVL63:
|
||
810 009c 8400 lsls r4, r0, #2
|
||
811 009e 0A19 adds r2, r1, r4
|
||
812 00a0 0023 movs r3, #0
|
||
813 .LVL64:
|
||
814 00a2 5370 strb r3, [r2, #1]
|
||
319:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = false;
|
||
815 .loc 1 319 0
|
||
816 00a4 6354 strb r3, [r4, r1]
|
||
320:Src/usbd_midi_if.c **** break;
|
||
817 .loc 1 320 0
|
||
818 00a6 9370 strb r3, [r2, #2]
|
||
321:Src/usbd_midi_if.c **** }
|
||
819 .loc 1 321 0
|
||
820 00a8 22E0 b .L81
|
||
821 .LVL65:
|
||
822 .L97:
|
||
247:Src/usbd_midi_if.c ****
|
||
823 .loc 1 247 0
|
||
824 00aa C02B cmp r3, #192
|
||
825 00ac F5D1 bne .L68
|
||
826 .L71:
|
||
311:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_TWO_BYTE;
|
||
827 .loc 1 311 0
|
||
828 00ae 8101 lsls r1, r0, #6
|
||
829 .LVL66:
|
||
830 00b0 0918 adds r1, r1, r0
|
||
831 00b2 654B ldr r3, .L102+8
|
||
832 .LVL67:
|
||
833 00b4 5B18 adds r3, r3, r1
|
||
834 00b6 5A70 strb r2, [r3, #1]
|
||
ARM GAS /tmp/ccxcefs2.s page 23
|
||
|
||
|
||
312:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
|
||
835 .loc 1 312 0
|
||
836 00b8 624A ldr r2, .L102+4
|
||
837 .LVL68:
|
||
838 00ba 8100 lsls r1, r0, #2
|
||
839 00bc 5318 adds r3, r2, r1
|
||
840 00be 0324 movs r4, #3
|
||
841 00c0 5C70 strb r4, [r3, #1]
|
||
313:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = false;
|
||
842 .loc 1 313 0
|
||
843 00c2 023C subs r4, r4, #2
|
||
844 00c4 8C54 strb r4, [r1, r2]
|
||
314:Src/usbd_midi_if.c **** break;
|
||
845 .loc 1 314 0
|
||
846 00c6 0022 movs r2, #0
|
||
847 00c8 9A70 strb r2, [r3, #2]
|
||
315:Src/usbd_midi_if.c ****
|
||
848 .loc 1 315 0
|
||
849 00ca 11E0 b .L81
|
||
850 .LVL69:
|
||
851 .L75:
|
||
254:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_SYSEX;
|
||
852 .loc 1 254 0
|
||
853 00cc 5D4C ldr r4, .L102+4
|
||
854 00ce 8500 lsls r5, r0, #2
|
||
855 00d0 6619 adds r6, r4, r5
|
||
856 00d2 0127 movs r7, #1
|
||
857 00d4 F770 strb r7, [r6, #3]
|
||
858 00d6 8101 lsls r1, r0, #6
|
||
859 00d8 0918 adds r1, r1, r0
|
||
860 00da 5B4B ldr r3, .L102+8
|
||
861 00dc 5B18 adds r3, r3, r1
|
||
862 00de 5A70 strb r2, [r3, #1]
|
||
255:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_SYSTEM_DATA;
|
||
863 .loc 1 255 0
|
||
864 00e0 7770 strb r7, [r6, #1]
|
||
256:Src/usbd_midi_if.c **** break;
|
||
865 .loc 1 256 0
|
||
866 00e2 0323 movs r3, #3
|
||
867 00e4 2B55 strb r3, [r5, r4]
|
||
868 .LVL70:
|
||
869 .L74:
|
||
295:Src/usbd_midi_if.c **** break;
|
||
870 .loc 1 295 0
|
||
871 00e6 8200 lsls r2, r0, #2
|
||
872 00e8 564B ldr r3, .L102+4
|
||
873 00ea 9B18 adds r3, r3, r2
|
||
874 00ec 0122 movs r2, #1
|
||
875 00ee 9A70 strb r2, [r3, #2]
|
||
876 .L81:
|
||
366:Src/usbd_midi_if.c **** }
|
||
367:Src/usbd_midi_if.c **** break;
|
||
368:Src/usbd_midi_if.c ****
|
||
369:Src/usbd_midi_if.c **** case START_ANALYSIS:
|
||
370:Src/usbd_midi_if.c **** break;
|
||
371:Src/usbd_midi_if.c ****
|
||
372:Src/usbd_midi_if.c **** default:
|
||
ARM GAS /tmp/ccxcefs2.s page 24
|
||
|
||
|
||
373:Src/usbd_midi_if.c **** break;
|
||
374:Src/usbd_midi_if.c **** }
|
||
375:Src/usbd_midi_if.c **** }
|
||
376:Src/usbd_midi_if.c ****
|
||
377:Src/usbd_midi_if.c **** if(END_ANALYSIS == analyzed_status[cable_num].stat){
|
||
877 .loc 1 377 0
|
||
878 00f0 8000 lsls r0, r0, #2
|
||
879 .LVL71:
|
||
880 00f2 544B ldr r3, .L102+4
|
||
881 00f4 C35C ldrb r3, [r0, r3]
|
||
882 00f6 042B cmp r3, #4
|
||
883 00f8 00D1 bne .LCB767
|
||
884 00fa 9FE0 b .L98 @long jump
|
||
885 .LCB767:
|
||
378:Src/usbd_midi_if.c **** return true;
|
||
379:Src/usbd_midi_if.c **** }else{
|
||
380:Src/usbd_midi_if.c **** return false;
|
||
886 .loc 1 380 0
|
||
887 00fc 0020 movs r0, #0
|
||
888 .L91:
|
||
381:Src/usbd_midi_if.c **** }
|
||
382:Src/usbd_midi_if.c ****
|
||
383:Src/usbd_midi_if.c **** }
|
||
889 .loc 1 383 0
|
||
890 @ sp needed
|
||
891 00fe F0BD pop {r4, r5, r6, r7, pc}
|
||
892 .LVL72:
|
||
893 .L80:
|
||
260:Src/usbd_midi_if.c **** midi_event[cable_num].length = analyzed_status[cable_num].data_idx;
|
||
894 .loc 1 260 0
|
||
895 0100 504D ldr r5, .L102+4
|
||
896 0102 8600 lsls r6, r0, #2
|
||
897 0104 AB19 adds r3, r5, r6
|
||
898 0106 D978 ldrb r1, [r3, #3]
|
||
899 0108 8C46 mov ip, r1
|
||
900 010a 0131 adds r1, r1, #1
|
||
901 010c C9B2 uxtb r1, r1
|
||
902 010e D970 strb r1, [r3, #3]
|
||
903 0110 4D4F ldr r7, .L102+8
|
||
904 0112 8301 lsls r3, r0, #6
|
||
905 0114 1B18 adds r3, r3, r0
|
||
906 0116 FC18 adds r4, r7, r3
|
||
907 0118 6444 add r4, r4, ip
|
||
908 011a 6270 strb r2, [r4, #1]
|
||
261:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
909 .loc 1 261 0
|
||
910 011c D955 strb r1, [r3, r7]
|
||
262:Src/usbd_midi_if.c **** break;
|
||
911 .loc 1 262 0
|
||
912 011e 0423 movs r3, #4
|
||
913 0120 7355 strb r3, [r6, r5]
|
||
263:Src/usbd_midi_if.c ****
|
||
914 .loc 1 263 0
|
||
915 0122 E0E7 b .L74
|
||
916 .L78:
|
||
266:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_THREE_BYTE;
|
||
917 .loc 1 266 0
|
||
ARM GAS /tmp/ccxcefs2.s page 25
|
||
|
||
|
||
918 0124 8101 lsls r1, r0, #6
|
||
919 0126 0918 adds r1, r1, r0
|
||
920 0128 474B ldr r3, .L102+8
|
||
921 012a 5B18 adds r3, r3, r1
|
||
922 012c 5A70 strb r2, [r3, #1]
|
||
267:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
|
||
923 .loc 1 267 0
|
||
924 012e 454B ldr r3, .L102+4
|
||
925 0130 8200 lsls r2, r0, #2
|
||
926 .LVL73:
|
||
927 0132 9918 adds r1, r3, r2
|
||
928 0134 0424 movs r4, #4
|
||
929 0136 4C70 strb r4, [r1, #1]
|
||
268:Src/usbd_midi_if.c **** break;
|
||
930 .loc 1 268 0
|
||
931 0138 0121 movs r1, #1
|
||
932 013a D154 strb r1, [r2, r3]
|
||
269:Src/usbd_midi_if.c ****
|
||
933 .loc 1 269 0
|
||
934 013c D3E7 b .L74
|
||
935 .LVL74:
|
||
936 .L77:
|
||
273:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_TWO_BYTE;
|
||
937 .loc 1 273 0
|
||
938 013e 8101 lsls r1, r0, #6
|
||
939 0140 0918 adds r1, r1, r0
|
||
940 0142 414B ldr r3, .L102+8
|
||
941 0144 5B18 adds r3, r3, r1
|
||
942 0146 5A70 strb r2, [r3, #1]
|
||
274:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
|
||
943 .loc 1 274 0
|
||
944 0148 3E4B ldr r3, .L102+4
|
||
945 014a 8200 lsls r2, r0, #2
|
||
946 .LVL75:
|
||
947 014c 9918 adds r1, r3, r2
|
||
948 014e 0324 movs r4, #3
|
||
949 0150 4C70 strb r4, [r1, #1]
|
||
275:Src/usbd_midi_if.c **** break;
|
||
950 .loc 1 275 0
|
||
951 0152 0121 movs r1, #1
|
||
952 0154 D154 strb r1, [r2, r3]
|
||
276:Src/usbd_midi_if.c ****
|
||
953 .loc 1 276 0
|
||
954 0156 C6E7 b .L74
|
||
955 .LVL76:
|
||
956 .L79:
|
||
289:Src/usbd_midi_if.c **** midi_event[cable_num].length = 1;
|
||
957 .loc 1 289 0
|
||
958 0158 3B49 ldr r1, .L102+8
|
||
959 015a 8301 lsls r3, r0, #6
|
||
960 015c 1B18 adds r3, r3, r0
|
||
961 015e CC18 adds r4, r1, r3
|
||
962 0160 6270 strb r2, [r4, #1]
|
||
290:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_ONE_BYTE;
|
||
963 .loc 1 290 0
|
||
964 0162 0122 movs r2, #1
|
||
965 .LVL77:
|
||
ARM GAS /tmp/ccxcefs2.s page 26
|
||
|
||
|
||
966 0164 5A54 strb r2, [r3, r1]
|
||
291:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
967 .loc 1 291 0
|
||
968 0166 374B ldr r3, .L102+4
|
||
969 0168 8200 lsls r2, r0, #2
|
||
970 016a 9918 adds r1, r3, r2
|
||
971 016c 0224 movs r4, #2
|
||
972 016e 4C70 strb r4, [r1, #1]
|
||
292:Src/usbd_midi_if.c **** break;
|
||
973 .loc 1 292 0
|
||
974 0170 0421 movs r1, #4
|
||
975 0172 D154 strb r1, [r2, r3]
|
||
293:Src/usbd_midi_if.c **** }
|
||
976 .loc 1 293 0
|
||
977 0174 B7E7 b .L74
|
||
978 .LVL78:
|
||
979 .L69:
|
||
303:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_THREE_BYTE;
|
||
980 .loc 1 303 0
|
||
981 0176 8101 lsls r1, r0, #6
|
||
982 .LVL79:
|
||
983 0178 0918 adds r1, r1, r0
|
||
984 017a 334B ldr r3, .L102+8
|
||
985 .LVL80:
|
||
986 017c 5B18 adds r3, r3, r1
|
||
987 017e 5A70 strb r2, [r3, #1]
|
||
304:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
|
||
988 .loc 1 304 0
|
||
989 0180 304A ldr r2, .L102+4
|
||
990 .LVL81:
|
||
991 0182 8100 lsls r1, r0, #2
|
||
992 0184 5318 adds r3, r2, r1
|
||
993 0186 0424 movs r4, #4
|
||
994 0188 5C70 strb r4, [r3, #1]
|
||
305:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = false;
|
||
995 .loc 1 305 0
|
||
996 018a 033C subs r4, r4, #3
|
||
997 018c 8C54 strb r4, [r1, r2]
|
||
306:Src/usbd_midi_if.c **** break;
|
||
998 .loc 1 306 0
|
||
999 018e 0022 movs r2, #0
|
||
1000 0190 9A70 strb r2, [r3, #2]
|
||
307:Src/usbd_midi_if.c ****
|
||
1001 .loc 1 307 0
|
||
1002 0192 ADE7 b .L81
|
||
1003 .LVL82:
|
||
1004 .L94:
|
||
326:Src/usbd_midi_if.c ****
|
||
1005 .loc 1 326 0
|
||
1006 0194 012B cmp r3, #1
|
||
1007 0196 ABD1 bne .L81
|
||
329:Src/usbd_midi_if.c ****
|
||
1008 .loc 1 329 0
|
||
1009 0198 8101 lsls r1, r0, #6
|
||
1010 019a 0918 adds r1, r1, r0
|
||
1011 019c 2A4B ldr r3, .L102+8
|
||
1012 019e 5B18 adds r3, r3, r1
|
||
ARM GAS /tmp/ccxcefs2.s page 27
|
||
|
||
|
||
1013 01a0 9A70 strb r2, [r3, #2]
|
||
331:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA2;
|
||
1014 .loc 1 331 0
|
||
1015 01a2 8200 lsls r2, r0, #2
|
||
1016 .LVL83:
|
||
1017 01a4 274B ldr r3, .L102+4
|
||
1018 01a6 9B18 adds r3, r3, r2
|
||
1019 01a8 5B78 ldrb r3, [r3, #1]
|
||
1020 01aa 042B cmp r3, #4
|
||
1021 01ac 06D0 beq .L99
|
||
333:Src/usbd_midi_if.c **** midi_event[cable_num].length = 2;
|
||
1022 .loc 1 333 0
|
||
1023 01ae 032B cmp r3, #3
|
||
1024 01b0 09D0 beq .L100
|
||
337:Src/usbd_midi_if.c **** }
|
||
1025 .loc 1 337 0
|
||
1026 01b2 8300 lsls r3, r0, #2
|
||
1027 01b4 234A ldr r2, .L102+4
|
||
1028 01b6 0021 movs r1, #0
|
||
1029 01b8 9954 strb r1, [r3, r2]
|
||
1030 01ba 99E7 b .L81
|
||
1031 .L99:
|
||
332:Src/usbd_midi_if.c **** }else if( MSG_TWO_BYTE == analyzed_status[cable_num].type ){
|
||
1032 .loc 1 332 0
|
||
1033 01bc 1300 movs r3, r2
|
||
1034 01be 214A ldr r2, .L102+4
|
||
1035 01c0 0221 movs r1, #2
|
||
1036 01c2 9954 strb r1, [r3, r2]
|
||
1037 01c4 94E7 b .L81
|
||
1038 .L100:
|
||
334:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
1039 .loc 1 334 0
|
||
1040 01c6 8301 lsls r3, r0, #6
|
||
1041 01c8 1B18 adds r3, r3, r0
|
||
1042 01ca 1F4A ldr r2, .L102+8
|
||
1043 01cc 0221 movs r1, #2
|
||
1044 01ce 9954 strb r1, [r3, r2]
|
||
335:Src/usbd_midi_if.c **** }else{
|
||
1045 .loc 1 335 0
|
||
1046 01d0 8300 lsls r3, r0, #2
|
||
1047 01d2 1C4A ldr r2, .L102+4
|
||
1048 01d4 0231 adds r1, r1, #2
|
||
1049 01d6 9954 strb r1, [r3, r2]
|
||
1050 01d8 8AE7 b .L81
|
||
1051 .LVL84:
|
||
1052 .L82:
|
||
342:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[2] = rx_midi_msg[cable_num];
|
||
1053 .loc 1 342 0
|
||
1054 01da 8100 lsls r1, r0, #2
|
||
1055 01dc 194B ldr r3, .L102+4
|
||
1056 01de 5B18 adds r3, r3, r1
|
||
1057 01e0 5B78 ldrb r3, [r3, #1]
|
||
1058 01e2 042B cmp r3, #4
|
||
1059 01e4 04D0 beq .L101
|
||
347:Src/usbd_midi_if.c **** }
|
||
1060 .loc 1 347 0
|
||
1061 01e6 8300 lsls r3, r0, #2
|
||
ARM GAS /tmp/ccxcefs2.s page 28
|
||
|
||
|
||
1062 01e8 164A ldr r2, .L102+4
|
||
1063 .LVL85:
|
||
1064 01ea 0021 movs r1, #0
|
||
1065 01ec 9954 strb r1, [r3, r2]
|
||
1066 01ee 7FE7 b .L81
|
||
1067 .LVL86:
|
||
1068 .L101:
|
||
343:Src/usbd_midi_if.c **** midi_event[cable_num].length = 3;
|
||
1069 .loc 1 343 0
|
||
1070 01f0 1549 ldr r1, .L102+8
|
||
1071 01f2 8301 lsls r3, r0, #6
|
||
1072 01f4 1B18 adds r3, r3, r0
|
||
1073 01f6 CC18 adds r4, r1, r3
|
||
1074 01f8 E270 strb r2, [r4, #3]
|
||
344:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
1075 .loc 1 344 0
|
||
1076 01fa 0322 movs r2, #3
|
||
1077 .LVL87:
|
||
1078 01fc 5A54 strb r2, [r3, r1]
|
||
345:Src/usbd_midi_if.c **** }else{
|
||
1079 .loc 1 345 0
|
||
1080 01fe 8300 lsls r3, r0, #2
|
||
1081 0200 104A ldr r2, .L102+4
|
||
1082 0202 0421 movs r1, #4
|
||
1083 0204 9954 strb r1, [r3, r2]
|
||
1084 0206 73E7 b .L81
|
||
1085 .LVL88:
|
||
1086 .L85:
|
||
352:Src/usbd_midi_if.c ****
|
||
1087 .loc 1 352 0
|
||
1088 0208 8300 lsls r3, r0, #2
|
||
1089 020a 0E4C ldr r4, .L102+4
|
||
1090 020c E418 adds r4, r4, r3
|
||
1091 020e E578 ldrb r5, [r4, #3]
|
||
1092 0210 691C adds r1, r5, #1
|
||
1093 0212 C9B2 uxtb r1, r1
|
||
1094 0214 E170 strb r1, [r4, #3]
|
||
1095 0216 8401 lsls r4, r0, #6
|
||
1096 0218 2418 adds r4, r4, r0
|
||
1097 021a 0B4B ldr r3, .L102+8
|
||
1098 021c 1B19 adds r3, r3, r4
|
||
1099 021e 5B19 adds r3, r3, r5
|
||
1100 0220 5A70 strb r2, [r3, #1]
|
||
354:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
|
||
1101 .loc 1 354 0
|
||
1102 0222 3F29 cmp r1, #63
|
||
1103 0224 00D8 bhi .LCB977
|
||
1104 0226 63E7 b .L81 @long jump
|
||
1105 .LCB977:
|
||
355:Src/usbd_midi_if.c **** }
|
||
1106 .loc 1 355 0
|
||
1107 0228 8300 lsls r3, r0, #2
|
||
1108 022a 064A ldr r2, .L102+4
|
||
1109 .LVL89:
|
||
1110 022c 0421 movs r1, #4
|
||
1111 022e 9954 strb r1, [r3, r2]
|
||
1112 0230 5EE7 b .L81
|
||
ARM GAS /tmp/ccxcefs2.s page 29
|
||
|
||
|
||
1113 .L95:
|
||
362:Src/usbd_midi_if.c **** }else if(MSG_TWO_BYTE == analyzed_status[cable_num].type){
|
||
1114 .loc 1 362 0
|
||
1115 0232 1300 movs r3, r2
|
||
1116 0234 034A ldr r2, .L102+4
|
||
1117 0236 0221 movs r1, #2
|
||
1118 0238 9954 strb r1, [r3, r2]
|
||
1119 023a 59E7 b .L81
|
||
1120 .LVL90:
|
||
1121 .L98:
|
||
378:Src/usbd_midi_if.c **** }else{
|
||
1122 .loc 1 378 0
|
||
1123 023c 0120 movs r0, #1
|
||
1124 023e 5EE7 b .L91
|
||
1125 .L103:
|
||
1126 .align 2
|
||
1127 .L102:
|
||
1128 0240 00000000 .word rx_midi_msg
|
||
1129 0244 00000000 .word analyzed_status
|
||
1130 0248 00000000 .word midi_event
|
||
1131 024c 00000000 .word .L76
|
||
1132 .cfi_endproc
|
||
1133 .LFE53:
|
||
1135 .section .text.midiGenerateUsbPacket,"ax",%progbits
|
||
1136 .align 1
|
||
1137 .global midiGenerateUsbPacket
|
||
1138 .syntax unified
|
||
1139 .code 16
|
||
1140 .thumb_func
|
||
1141 .fpu softvfp
|
||
1143 midiGenerateUsbPacket:
|
||
1144 .LFB54:
|
||
384:Src/usbd_midi_if.c ****
|
||
385:Src/usbd_midi_if.c ****
|
||
386:Src/usbd_midi_if.c **** void midiGenerateUsbPacket(uint8_t cable_num)
|
||
387:Src/usbd_midi_if.c **** {
|
||
1145 .loc 1 387 0
|
||
1146 .cfi_startproc
|
||
1147 @ args = 0, pretend = 0, frame = 8
|
||
1148 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1149 .LVL91:
|
||
1150 0000 F0B5 push {r4, r5, r6, r7, lr}
|
||
1151 .LCFI13:
|
||
1152 .cfi_def_cfa_offset 20
|
||
1153 .cfi_offset 4, -20
|
||
1154 .cfi_offset 5, -16
|
||
1155 .cfi_offset 6, -12
|
||
1156 .cfi_offset 7, -8
|
||
1157 .cfi_offset 14, -4
|
||
1158 0002 83B0 sub sp, sp, #12
|
||
1159 .LCFI14:
|
||
1160 .cfi_def_cfa_offset 32
|
||
1161 0004 0700 movs r7, r0
|
||
388:Src/usbd_midi_if.c **** uint8_t msg_buf[4] = {0x00,0x00,0x00,0x00};
|
||
1162 .loc 1 388 0
|
||
1163 0006 0023 movs r3, #0
|
||
1164 0008 0193 str r3, [sp, #4]
|
||
ARM GAS /tmp/ccxcefs2.s page 30
|
||
|
||
|
||
1165 .LVL92:
|
||
389:Src/usbd_midi_if.c **** uint32_t cnt_remain=0, cnt_length;
|
||
390:Src/usbd_midi_if.c ****
|
||
391:Src/usbd_midi_if.c **** switch(analyzed_status[cable_num].type){
|
||
1166 .loc 1 391 0
|
||
1167 000a 0400 movs r4, r0
|
||
1168 000c 8200 lsls r2, r0, #2
|
||
1169 000e 504B ldr r3, .L126
|
||
1170 0010 9B18 adds r3, r3, r2
|
||
1171 0012 5B78 ldrb r3, [r3, #1]
|
||
1172 0014 022B cmp r3, #2
|
||
1173 0016 18D0 beq .L106
|
||
1174 0018 04D8 bhi .L107
|
||
1175 001a 012B cmp r3, #1
|
||
1176 001c 23D1 bne .L105
|
||
392:Src/usbd_midi_if.c ****
|
||
393:Src/usbd_midi_if.c **** case MSG_ONE_BYTE:
|
||
394:Src/usbd_midi_if.c **** //byte 0: cable number + code index number
|
||
395:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + ((midi_event[cable_num].midi_byte[0] & 0xF0) >> 4);
|
||
396:Src/usbd_midi_if.c ****
|
||
397:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
398:Src/usbd_midi_if.c **** break;
|
||
399:Src/usbd_midi_if.c ****
|
||
400:Src/usbd_midi_if.c **** case MSG_TWO_BYTE:
|
||
401:Src/usbd_midi_if.c **** case MSG_THREE_BYTE:
|
||
402:Src/usbd_midi_if.c **** //byte 0: cable number + code index number
|
||
403:Src/usbd_midi_if.c **** if(analyzed_status[cable_num].is_system_common){
|
||
404:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + midi_event[cable_num].length;
|
||
405:Src/usbd_midi_if.c **** }else{
|
||
406:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + ((midi_event[cable_num].midi_byte[0] & 0xF0) >> 4);
|
||
407:Src/usbd_midi_if.c **** }
|
||
408:Src/usbd_midi_if.c ****
|
||
409:Src/usbd_midi_if.c **** //byte 1-3
|
||
410:Src/usbd_midi_if.c **** for(uint32_t i=0; i<midi_event[cable_num].length; i++){
|
||
411:Src/usbd_midi_if.c **** msg_buf[i+1] = midi_event[cable_num].midi_byte[i];
|
||
412:Src/usbd_midi_if.c **** }
|
||
413:Src/usbd_midi_if.c ****
|
||
414:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
415:Src/usbd_midi_if.c **** break;
|
||
416:Src/usbd_midi_if.c ****
|
||
417:Src/usbd_midi_if.c **** case MSG_SYSEX:
|
||
418:Src/usbd_midi_if.c **** for(cnt_length = 0; cnt_length < midi_event[cable_num].length; cnt_length++){
|
||
1177 .loc 1 418 0
|
||
1178 001e 0026 movs r6, #0
|
||
389:Src/usbd_midi_if.c **** uint32_t cnt_remain=0, cnt_length;
|
||
1179 .loc 1 389 0
|
||
1180 0020 0025 movs r5, #0
|
||
1181 0022 7CE0 b .L108
|
||
1182 .L107:
|
||
391:Src/usbd_midi_if.c ****
|
||
1183 .loc 1 391 0
|
||
1184 0024 042B cmp r3, #4
|
||
1185 0026 1ED8 bhi .L105
|
||
403:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + midi_event[cable_num].length;
|
||
1186 .loc 1 403 0
|
||
1187 0028 8200 lsls r2, r0, #2
|
||
1188 002a 494B ldr r3, .L126
|
||
ARM GAS /tmp/ccxcefs2.s page 31
|
||
|
||
|
||
1189 002c 9B18 adds r3, r3, r2
|
||
1190 002e 9B78 ldrb r3, [r3, #2]
|
||
1191 0030 002B cmp r3, #0
|
||
1192 0032 1CD0 beq .L110
|
||
404:Src/usbd_midi_if.c **** }else{
|
||
1193 .loc 1 404 0
|
||
1194 0034 0301 lsls r3, r0, #4
|
||
1195 0036 DBB2 uxtb r3, r3
|
||
1196 0038 8201 lsls r2, r0, #6
|
||
1197 003a 1718 adds r7, r2, r0
|
||
1198 003c 454A ldr r2, .L126+4
|
||
1199 003e BA5C ldrb r2, [r7, r2]
|
||
1200 0040 9B18 adds r3, r3, r2
|
||
1201 0042 01AA add r2, sp, #4
|
||
1202 0044 1370 strb r3, [r2]
|
||
1203 .L111:
|
||
387:Src/usbd_midi_if.c **** uint8_t msg_buf[4] = {0x00,0x00,0x00,0x00};
|
||
1204 .loc 1 387 0 discriminator 1
|
||
1205 0046 0021 movs r1, #0
|
||
1206 0048 27E0 b .L112
|
||
1207 .L106:
|
||
395:Src/usbd_midi_if.c ****
|
||
1208 .loc 1 395 0
|
||
1209 004a 0301 lsls r3, r0, #4
|
||
1210 004c DBB2 uxtb r3, r3
|
||
1211 004e 8201 lsls r2, r0, #6
|
||
1212 0050 1218 adds r2, r2, r0
|
||
1213 0052 404F ldr r7, .L126+4
|
||
1214 0054 BF18 adds r7, r7, r2
|
||
1215 0056 7A78 ldrb r2, [r7, #1]
|
||
1216 0058 1209 lsrs r2, r2, #4
|
||
1217 005a 9B18 adds r3, r3, r2
|
||
1218 005c 01A8 add r0, sp, #4
|
||
1219 .LVL93:
|
||
1220 005e 0370 strb r3, [r0]
|
||
397:Src/usbd_midi_if.c **** break;
|
||
1221 .loc 1 397 0
|
||
1222 0060 0421 movs r1, #4
|
||
1223 0062 FFF7FEFF bl sendMidiMessage
|
||
1224 .LVL94:
|
||
1225 .L105:
|
||
419:Src/usbd_midi_if.c **** if( 0xF7 !=midi_event[cable_num].midi_byte[cnt_length] ){
|
||
420:Src/usbd_midi_if.c **** if(2 == cnt_remain){
|
||
421:Src/usbd_midi_if.c **** msg_buf[3] = midi_event[cable_num].midi_byte[cnt_length];
|
||
422:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + 0x4; //SysEx starts or continues
|
||
423:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
424:Src/usbd_midi_if.c **** }else{
|
||
425:Src/usbd_midi_if.c **** msg_buf[1 + cnt_remain] = midi_event[cable_num].midi_byte[cnt_length];
|
||
426:Src/usbd_midi_if.c **** }
|
||
427:Src/usbd_midi_if.c ****
|
||
428:Src/usbd_midi_if.c ****
|
||
429:Src/usbd_midi_if.c **** }else{
|
||
430:Src/usbd_midi_if.c ****
|
||
431:Src/usbd_midi_if.c **** switch (cnt_remain) {
|
||
432:Src/usbd_midi_if.c **** case 0:
|
||
433:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + 0x5; //SysEx ends with following single byte
|
||
434:Src/usbd_midi_if.c **** msg_buf[1] = 0xF7;
|
||
ARM GAS /tmp/ccxcefs2.s page 32
|
||
|
||
|
||
435:Src/usbd_midi_if.c **** msg_buf[2] = msg_buf[3] = 0x00;
|
||
436:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
437:Src/usbd_midi_if.c **** break;
|
||
438:Src/usbd_midi_if.c ****
|
||
439:Src/usbd_midi_if.c **** case 1:
|
||
440:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + 0x6; //SysEx ends with following two bytes.
|
||
441:Src/usbd_midi_if.c **** msg_buf[2] = 0xF7;
|
||
442:Src/usbd_midi_if.c **** msg_buf[3] = 0x00;
|
||
443:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
444:Src/usbd_midi_if.c **** break;
|
||
445:Src/usbd_midi_if.c ****
|
||
446:Src/usbd_midi_if.c **** case 2:
|
||
447:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + 0x7; //SysEx ends with following three bytes.
|
||
448:Src/usbd_midi_if.c **** msg_buf[3] = 0xF7;
|
||
449:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
450:Src/usbd_midi_if.c **** break;
|
||
451:Src/usbd_midi_if.c **** default:
|
||
452:Src/usbd_midi_if.c **** break;
|
||
453:Src/usbd_midi_if.c **** }
|
||
454:Src/usbd_midi_if.c **** }
|
||
455:Src/usbd_midi_if.c ****
|
||
456:Src/usbd_midi_if.c **** cnt_remain++;
|
||
457:Src/usbd_midi_if.c **** if(cnt_remain >=3){
|
||
458:Src/usbd_midi_if.c **** cnt_remain = 0;
|
||
459:Src/usbd_midi_if.c **** }
|
||
460:Src/usbd_midi_if.c **** }
|
||
461:Src/usbd_midi_if.c **** break;
|
||
462:Src/usbd_midi_if.c ****
|
||
463:Src/usbd_midi_if.c **** default:
|
||
464:Src/usbd_midi_if.c **** break;
|
||
465:Src/usbd_midi_if.c **** }
|
||
466:Src/usbd_midi_if.c **** USBD_MIDI_SendPacket();
|
||
1226 .loc 1 466 0
|
||
1227 0066 FFF7FEFF bl USBD_MIDI_SendPacket
|
||
1228 .LVL95:
|
||
467:Src/usbd_midi_if.c **** }
|
||
1229 .loc 1 467 0
|
||
1230 006a 03B0 add sp, sp, #12
|
||
1231 @ sp needed
|
||
1232 006c F0BD pop {r4, r5, r6, r7, pc}
|
||
1233 .LVL96:
|
||
1234 .L110:
|
||
406:Src/usbd_midi_if.c **** }
|
||
1235 .loc 1 406 0
|
||
1236 006e 0301 lsls r3, r0, #4
|
||
1237 0070 DBB2 uxtb r3, r3
|
||
1238 0072 8201 lsls r2, r0, #6
|
||
1239 0074 1218 adds r2, r2, r0
|
||
1240 0076 374F ldr r7, .L126+4
|
||
1241 0078 BF18 adds r7, r7, r2
|
||
1242 007a 7A78 ldrb r2, [r7, #1]
|
||
1243 007c 1209 lsrs r2, r2, #4
|
||
1244 007e 9B18 adds r3, r3, r2
|
||
1245 0080 01AA add r2, sp, #4
|
||
1246 0082 1370 strb r3, [r2]
|
||
1247 0084 DFE7 b .L111
|
||
1248 .LVL97:
|
||
ARM GAS /tmp/ccxcefs2.s page 33
|
||
|
||
|
||
1249 .L113:
|
||
1250 .LBB5:
|
||
411:Src/usbd_midi_if.c **** }
|
||
1251 .loc 1 411 0 discriminator 3
|
||
1252 0086 481C adds r0, r1, #1
|
||
1253 0088 A201 lsls r2, r4, #6
|
||
1254 008a 1219 adds r2, r2, r4
|
||
1255 008c 314B ldr r3, .L126+4
|
||
1256 008e 9B18 adds r3, r3, r2
|
||
1257 0090 5B18 adds r3, r3, r1
|
||
1258 0092 5A78 ldrb r2, [r3, #1]
|
||
1259 0094 01AB add r3, sp, #4
|
||
1260 0096 1A54 strb r2, [r3, r0]
|
||
1261 .LVL98:
|
||
410:Src/usbd_midi_if.c **** msg_buf[i+1] = midi_event[cable_num].midi_byte[i];
|
||
1262 .loc 1 410 0 discriminator 3
|
||
1263 0098 0100 movs r1, r0
|
||
1264 .LVL99:
|
||
1265 .L112:
|
||
410:Src/usbd_midi_if.c **** msg_buf[i+1] = midi_event[cable_num].midi_byte[i];
|
||
1266 .loc 1 410 0 is_stmt 0 discriminator 1
|
||
1267 009a A201 lsls r2, r4, #6
|
||
1268 009c 1219 adds r2, r2, r4
|
||
1269 009e 2D4B ldr r3, .L126+4
|
||
1270 00a0 D35C ldrb r3, [r2, r3]
|
||
1271 00a2 8B42 cmp r3, r1
|
||
1272 00a4 EFD8 bhi .L113
|
||
1273 .LBE5:
|
||
414:Src/usbd_midi_if.c **** break;
|
||
1274 .loc 1 414 0 is_stmt 1
|
||
1275 00a6 0421 movs r1, #4
|
||
1276 .LVL100:
|
||
1277 00a8 01A8 add r0, sp, #4
|
||
1278 00aa FFF7FEFF bl sendMidiMessage
|
||
1279 .LVL101:
|
||
415:Src/usbd_midi_if.c ****
|
||
1280 .loc 1 415 0
|
||
1281 00ae DAE7 b .L105
|
||
1282 .LVL102:
|
||
1283 .L125:
|
||
421:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + 0x4; //SysEx starts or continues
|
||
1284 .loc 1 421 0
|
||
1285 00b0 01A8 add r0, sp, #4
|
||
1286 00b2 C370 strb r3, [r0, #3]
|
||
422:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
1287 .loc 1 422 0
|
||
1288 00b4 3B01 lsls r3, r7, #4
|
||
1289 00b6 DBB2 uxtb r3, r3
|
||
1290 00b8 0433 adds r3, r3, #4
|
||
1291 00ba 0370 strb r3, [r0]
|
||
423:Src/usbd_midi_if.c **** }else{
|
||
1292 .loc 1 423 0
|
||
1293 00bc 0421 movs r1, #4
|
||
1294 00be FFF7FEFF bl sendMidiMessage
|
||
1295 .LVL103:
|
||
1296 00c2 3FE0 b .L116
|
||
1297 .L114:
|
||
ARM GAS /tmp/ccxcefs2.s page 34
|
||
|
||
|
||
431:Src/usbd_midi_if.c **** case 0:
|
||
1298 .loc 1 431 0
|
||
1299 00c4 012D cmp r5, #1
|
||
1300 00c6 1CD0 beq .L117
|
||
1301 00c8 002D cmp r5, #0
|
||
1302 00ca 0CD0 beq .L118
|
||
1303 00cc 022D cmp r5, #2
|
||
1304 00ce 39D1 bne .L116
|
||
447:Src/usbd_midi_if.c **** msg_buf[3] = 0xF7;
|
||
1305 .loc 1 447 0
|
||
1306 00d0 3B01 lsls r3, r7, #4
|
||
1307 00d2 DBB2 uxtb r3, r3
|
||
1308 00d4 0733 adds r3, r3, #7
|
||
1309 00d6 01A8 add r0, sp, #4
|
||
1310 00d8 0370 strb r3, [r0]
|
||
448:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
1311 .loc 1 448 0
|
||
1312 00da F723 movs r3, #247
|
||
1313 00dc C370 strb r3, [r0, #3]
|
||
449:Src/usbd_midi_if.c **** break;
|
||
1314 .loc 1 449 0
|
||
1315 00de 0421 movs r1, #4
|
||
1316 00e0 FFF7FEFF bl sendMidiMessage
|
||
1317 .LVL104:
|
||
450:Src/usbd_midi_if.c **** default:
|
||
1318 .loc 1 450 0
|
||
1319 00e4 2EE0 b .L116
|
||
1320 .L118:
|
||
433:Src/usbd_midi_if.c **** msg_buf[1] = 0xF7;
|
||
1321 .loc 1 433 0
|
||
1322 00e6 3B01 lsls r3, r7, #4
|
||
1323 00e8 DBB2 uxtb r3, r3
|
||
1324 00ea 0533 adds r3, r3, #5
|
||
1325 00ec 01A8 add r0, sp, #4
|
||
1326 00ee 0370 strb r3, [r0]
|
||
434:Src/usbd_midi_if.c **** msg_buf[2] = msg_buf[3] = 0x00;
|
||
1327 .loc 1 434 0
|
||
1328 00f0 F723 movs r3, #247
|
||
1329 00f2 4370 strb r3, [r0, #1]
|
||
435:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
1330 .loc 1 435 0
|
||
1331 00f4 0023 movs r3, #0
|
||
1332 00f6 C370 strb r3, [r0, #3]
|
||
1333 00f8 8370 strb r3, [r0, #2]
|
||
436:Src/usbd_midi_if.c **** break;
|
||
1334 .loc 1 436 0
|
||
1335 00fa 0421 movs r1, #4
|
||
1336 00fc FFF7FEFF bl sendMidiMessage
|
||
1337 .LVL105:
|
||
437:Src/usbd_midi_if.c ****
|
||
1338 .loc 1 437 0
|
||
1339 0100 20E0 b .L116
|
||
1340 .L117:
|
||
440:Src/usbd_midi_if.c **** msg_buf[2] = 0xF7;
|
||
1341 .loc 1 440 0
|
||
1342 0102 3B01 lsls r3, r7, #4
|
||
1343 0104 DBB2 uxtb r3, r3
|
||
ARM GAS /tmp/ccxcefs2.s page 35
|
||
|
||
|
||
1344 0106 0633 adds r3, r3, #6
|
||
1345 0108 01A8 add r0, sp, #4
|
||
1346 010a 0370 strb r3, [r0]
|
||
441:Src/usbd_midi_if.c **** msg_buf[3] = 0x00;
|
||
1347 .loc 1 441 0
|
||
1348 010c F723 movs r3, #247
|
||
1349 010e 8370 strb r3, [r0, #2]
|
||
442:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
|
||
1350 .loc 1 442 0
|
||
1351 0110 0023 movs r3, #0
|
||
1352 0112 C370 strb r3, [r0, #3]
|
||
443:Src/usbd_midi_if.c **** break;
|
||
1353 .loc 1 443 0
|
||
1354 0114 0421 movs r1, #4
|
||
1355 0116 FFF7FEFF bl sendMidiMessage
|
||
1356 .LVL106:
|
||
444:Src/usbd_midi_if.c ****
|
||
1357 .loc 1 444 0
|
||
1358 011a 13E0 b .L116
|
||
1359 .LVL107:
|
||
1360 .L120:
|
||
418:Src/usbd_midi_if.c **** if( 0xF7 !=midi_event[cable_num].midi_byte[cnt_length] ){
|
||
1361 .loc 1 418 0 discriminator 2
|
||
1362 011c 0136 adds r6, r6, #1
|
||
1363 .LVL108:
|
||
1364 .L108:
|
||
418:Src/usbd_midi_if.c **** if( 0xF7 !=midi_event[cable_num].midi_byte[cnt_length] ){
|
||
1365 .loc 1 418 0 is_stmt 0 discriminator 1
|
||
1366 011e A301 lsls r3, r4, #6
|
||
1367 0120 1B19 adds r3, r3, r4
|
||
1368 0122 0C4A ldr r2, .L126+4
|
||
1369 0124 9B5C ldrb r3, [r3, r2]
|
||
1370 0126 B342 cmp r3, r6
|
||
1371 0128 9DD9 bls .L105
|
||
419:Src/usbd_midi_if.c **** if(2 == cnt_remain){
|
||
1372 .loc 1 419 0 is_stmt 1
|
||
1373 012a A201 lsls r2, r4, #6
|
||
1374 012c 1219 adds r2, r2, r4
|
||
1375 012e 094B ldr r3, .L126+4
|
||
1376 0130 9B18 adds r3, r3, r2
|
||
1377 0132 9B19 adds r3, r3, r6
|
||
1378 0134 5B78 ldrb r3, [r3, #1]
|
||
1379 0136 F72B cmp r3, #247
|
||
1380 0138 C4D0 beq .L114
|
||
420:Src/usbd_midi_if.c **** msg_buf[3] = midi_event[cable_num].midi_byte[cnt_length];
|
||
1381 .loc 1 420 0
|
||
1382 013a 022D cmp r5, #2
|
||
1383 013c B8D0 beq .L125
|
||
425:Src/usbd_midi_if.c **** }
|
||
1384 .loc 1 425 0
|
||
1385 013e 6A1C adds r2, r5, #1
|
||
1386 0140 01A9 add r1, sp, #4
|
||
1387 0142 8B54 strb r3, [r1, r2]
|
||
1388 .L116:
|
||
456:Src/usbd_midi_if.c **** if(cnt_remain >=3){
|
||
1389 .loc 1 456 0
|
||
1390 0144 0135 adds r5, r5, #1
|
||
ARM GAS /tmp/ccxcefs2.s page 36
|
||
|
||
|
||
1391 .LVL109:
|
||
457:Src/usbd_midi_if.c **** cnt_remain = 0;
|
||
1392 .loc 1 457 0
|
||
1393 0146 022D cmp r5, #2
|
||
1394 0148 E8D9 bls .L120
|
||
458:Src/usbd_midi_if.c **** }
|
||
1395 .loc 1 458 0
|
||
1396 014a 0025 movs r5, #0
|
||
1397 .LVL110:
|
||
1398 014c E6E7 b .L120
|
||
1399 .L127:
|
||
1400 014e C046 .align 2
|
||
1401 .L126:
|
||
1402 0150 00000000 .word analyzed_status
|
||
1403 0154 00000000 .word midi_event
|
||
1404 .cfi_endproc
|
||
1405 .LFE54:
|
||
1407 .section .text.midiProcess,"ax",%progbits
|
||
1408 .align 1
|
||
1409 .global midiProcess
|
||
1410 .syntax unified
|
||
1411 .code 16
|
||
1412 .thumb_func
|
||
1413 .fpu softvfp
|
||
1415 midiProcess:
|
||
1416 .LFB55:
|
||
468:Src/usbd_midi_if.c ****
|
||
469:Src/usbd_midi_if.c **** void midiProcess(){
|
||
1417 .loc 1 469 0
|
||
1418 .cfi_startproc
|
||
1419 @ args = 0, pretend = 0, frame = 0
|
||
1420 @ frame_needed = 0, uses_anonymous_args = 0
|
||
1421 @ link register save eliminated.
|
||
1422 .LVL111:
|
||
470:Src/usbd_midi_if.c ****
|
||
471:Src/usbd_midi_if.c **** for(uint32_t cable_num=0; cable_num<MIDI_IN_JACK_NUM; cable_num++){
|
||
472:Src/usbd_midi_if.c **** while( FUNC_SUCCESS == midiGetFromJackRx(cable_num) ){
|
||
473:Src/usbd_midi_if.c **** if( midiEventIsGenerated(cable_num) ){// Generate MIDI event from UART buffer.
|
||
474:Src/usbd_midi_if.c **** //Analyze MIDI Message.
|
||
475:Src/usbd_midi_if.c **** midiGenerateUsbPacket(cable_num);
|
||
476:Src/usbd_midi_if.c **** }
|
||
477:Src/usbd_midi_if.c **** }
|
||
478:Src/usbd_midi_if.c **** }
|
||
479:Src/usbd_midi_if.c **** }
|
||
1423 .loc 1 479 0
|
||
1424 @ sp needed
|
||
1425 0000 7047 bx lr
|
||
1426 .cfi_endproc
|
||
1427 .LFE55:
|
||
1429 .global USBD_Interface_fops_FS
|
||
1430 .comm rx_midi_msg,0,4
|
||
1431 .comm midi_event,0,4
|
||
1432 .comm analyzed_status,0,4
|
||
1433 .comm rbuf_jack_rx,0,4
|
||
1434 .comm rbuf_usb_rx,12,4
|
||
1435 .section .data.USBD_Interface_fops_FS,"aw",%progbits
|
||
1436 .align 2
|
||
ARM GAS /tmp/ccxcefs2.s page 37
|
||
|
||
|
||
1439 USBD_Interface_fops_FS:
|
||
1440 0000 00000000 .word MIDI_DataRx
|
||
1441 0004 00000000 .word MIDI_DataTx
|
||
1442 .text
|
||
1443 .Letext0:
|
||
1444 .file 2 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/machin
|
||
1445 .file 3 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/lo
|
||
1446 .file 4 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_t
|
||
1447 .file 5 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/lib/gcc/arm-none-eabi/7.3.1/
|
||
1448 .file 6 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/re
|
||
1449 .file 7 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/sys/_s
|
||
1450 .file 8 "/home/janhenrik/programme/gcc-arm-none-eabi-7-2018-q2-update/arm-none-eabi/include/stdlib
|
||
1451 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
|
||
1452 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
|
||
1453 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
|
||
1454 .file 12 "Middlewares/USBMIDI/Inc/usbd_midi.h"
|
||
1455 .file 13 "Inc/usbd_desc.h"
|
||
1456 .file 14 "Inc/curelib_inc/curemisc.h"
|
||
1457 .file 15 "Inc/curelib_inc/curebuffer.h"
|
||
1458 .file 16 "Inc/usbd_midi_if.h"
|
||
ARM GAS /tmp/ccxcefs2.s page 38
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:0000000000000000 usbd_midi_if.c
|
||
/tmp/ccxcefs2.s:16 .text.MIDI_DataTx:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:22 .text.MIDI_DataTx:0000000000000000 MIDI_DataTx
|
||
/tmp/ccxcefs2.s:76 .text.MIDI_DataTx:000000000000002c $d
|
||
/tmp/ccxcefs2.s:82 .text.MIDI_DataRx:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:88 .text.MIDI_DataRx:0000000000000000 MIDI_DataRx
|
||
/tmp/ccxcefs2.s:225 .rodata.MIDI_DataRx:0000000000000000 $d
|
||
/tmp/ccxcefs2.s:247 .text.MIDI_DataRx:0000000000000080 $d
|
||
*COM*:000000000000000c rbuf_usb_rx
|
||
/tmp/ccxcefs2.s:255 .text.midiInit:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:262 .text.midiInit:0000000000000000 midiInit
|
||
/tmp/ccxcefs2.s:313 .text.midiInit:000000000000002c $d
|
||
/tmp/ccxcefs2.s:318 .text.midiGetFromUsbRx:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:325 .text.midiGetFromUsbRx:0000000000000000 midiGetFromUsbRx
|
||
/tmp/ccxcefs2.s:361 .text.midiGetFromUsbRx:000000000000001c $d
|
||
/tmp/ccxcefs2.s:366 .text.midiGetFromJackRx:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:373 .text.midiGetFromJackRx:0000000000000000 midiGetFromJackRx
|
||
/tmp/ccxcefs2.s:411 .text.midiGetFromJackRx:0000000000000020 $d
|
||
*COM*:0000000000000000 rx_midi_msg
|
||
*COM*:0000000000000000 rbuf_jack_rx
|
||
/tmp/ccxcefs2.s:417 .text.midiSetFromJackRx:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:424 .text.midiSetFromJackRx:0000000000000000 midiSetFromJackRx
|
||
/tmp/ccxcefs2.s:460 .text.midiSetFromJackRx:000000000000001c $d
|
||
/tmp/ccxcefs2.s:465 .text.isUsbRxBufEmpty:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:472 .text.isUsbRxBufEmpty:0000000000000000 isUsbRxBufEmpty
|
||
/tmp/ccxcefs2.s:508 .text.isUsbRxBufEmpty:000000000000001c $d
|
||
/tmp/ccxcefs2.s:513 .text.isJackRxBufEmpty:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:520 .text.isJackRxBufEmpty:0000000000000000 isJackRxBufEmpty
|
||
/tmp/ccxcefs2.s:556 .text.isJackRxBufEmpty:000000000000001c $d
|
||
/tmp/ccxcefs2.s:561 .text.isRxBufEmpty:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:568 .text.isRxBufEmpty:0000000000000000 isRxBufEmpty
|
||
/tmp/ccxcefs2.s:617 .text.isRxBufEmpty:0000000000000028 $d
|
||
/tmp/ccxcefs2.s:622 .text.sendMidiMessage:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:629 .text.sendMidiMessage:0000000000000000 sendMidiMessage
|
||
/tmp/ccxcefs2.s:660 .text.midiEventIsGenerated:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:667 .text.midiEventIsGenerated:0000000000000000 midiEventIsGenerated
|
||
/tmp/ccxcefs2.s:772 .rodata.midiEventIsGenerated:0000000000000000 $d
|
||
/tmp/ccxcefs2.s:1128 .text.midiEventIsGenerated:0000000000000240 $d
|
||
*COM*:0000000000000000 analyzed_status
|
||
*COM*:0000000000000000 midi_event
|
||
/tmp/ccxcefs2.s:1136 .text.midiGenerateUsbPacket:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:1143 .text.midiGenerateUsbPacket:0000000000000000 midiGenerateUsbPacket
|
||
/tmp/ccxcefs2.s:1402 .text.midiGenerateUsbPacket:0000000000000150 $d
|
||
/tmp/ccxcefs2.s:1408 .text.midiProcess:0000000000000000 $t
|
||
/tmp/ccxcefs2.s:1415 .text.midiProcess:0000000000000000 midiProcess
|
||
/tmp/ccxcefs2.s:1439 .data.USBD_Interface_fops_FS:0000000000000000 USBD_Interface_fops_FS
|
||
/tmp/ccxcefs2.s:1436 .data.USBD_Interface_fops_FS:0000000000000000 $d
|
||
|
||
UNDEFINED SYMBOLS
|
||
APP_Rx_ptr_in
|
||
APP_Rx_Buffer
|
||
cureRingBufferU8Enqueue
|
||
cureRingBufferU8Init
|
||
cureRingBufferU8Dequeue
|
||
_cureRingBufferU8GetUsedSize
|
||
USBD_MIDI_SendPacket
|
||
ARM GAS /tmp/ccxcefs2.s page 39
|
||
|
||
|