summaryrefslogtreecommitdiff
path: root/fw/midi-dials/build/usbd_midi_if.lst
diff options
context:
space:
mode:
Diffstat (limited to 'fw/midi-dials/build/usbd_midi_if.lst')
-rw-r--r--fw/midi-dials/build/usbd_midi_if.lst2430
1 files changed, 0 insertions, 2430 deletions
diff --git a/fw/midi-dials/build/usbd_midi_if.lst b/fw/midi-dials/build/usbd_midi_if.lst
deleted file mode 100644
index 1fe0750..0000000
--- a/fw/midi-dials/build/usbd_midi_if.lst
+++ /dev/null
@@ -1,2430 +0,0 @@
-ARM GAS /tmp/ccjHqQBe.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/ccjHqQBe.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/ccjHqQBe.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/ccjHqQBe.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/ccjHqQBe.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/ccjHqQBe.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/ccjHqQBe.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/ccjHqQBe.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/ccjHqQBe.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/ccjHqQBe.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 07D0 beq .L25
- 53:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Init(&rbuf_jack_rx[i], MIDI_BUFFER_SIZ))
- 281 .loc 1 53 0 is_stmt 1
- 282 0008 0024 movs r4, #0
- 283 .LVL27:
- 284 .L26:
- 53:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Init(&rbuf_jack_rx[i], MIDI_BUFFER_SIZ))
- 285 .loc 1 53 0 is_stmt 0 discriminator 1
- 286 000a 002C cmp r4, #0
- 287 000c 11D0 beq .L27
- 61:Src/usbd_midi_if.c ****
- 288 .loc 1 61 0 is_stmt 1
- 289 000e 0020 movs r0, #0
- 290 .LVL28:
- 291 .L28:
- 61:Src/usbd_midi_if.c ****
- 292 .loc 1 61 0 is_stmt 0 discriminator 1
- 293 0010 0028 cmp r0, #0
- 294 0012 1BD0 beq .L31
- 72:Src/usbd_midi_if.c **** }
- 295 .loc 1 72 0 is_stmt 1
- 296 0014 0120 movs r0, #1
- 297 .LVL29:
- 298 .L24:
- 73:Src/usbd_midi_if.c ****
- 299 .loc 1 73 0
- 300 @ sp needed
- 301 0016 10BD pop {r4, pc}
- 302 .LVL30:
- 303 .L25:
- 47:Src/usbd_midi_if.c **** {
- 304 .loc 1 47 0
- 305 0018 8021 movs r1, #128
- ARM GAS /tmp/ccjHqQBe.s page 11
-
-
- 306 001a 6300 lsls r3, r4, #1
- 307 001c 1B19 adds r3, r3, r4
- 308 001e 9800 lsls r0, r3, #2
- 309 0020 194B ldr r3, .L34
- 310 0022 C018 adds r0, r0, r3
- 311 0024 8900 lsls r1, r1, #2
- 312 0026 FFF7FEFF bl cureRingBufferU8Init
- 313 .LVL31:
- 314 002a 0128 cmp r0, #1
- 315 002c 27D1 bne .L32
- 46:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Init(&rbuf_usb_rx[i], MIDI_BUFFER_SIZ))
- 316 .loc 1 46 0 discriminator 2
- 317 002e 0134 adds r4, r4, #1
- 318 .LVL32:
- 319 0030 E8E7 b .L23
- 320 .L27:
- 54:Src/usbd_midi_if.c **** {
- 321 .loc 1 54 0
- 322 0032 8021 movs r1, #128
- 323 0034 6300 lsls r3, r4, #1
- 324 0036 1B19 adds r3, r3, r4
- 325 0038 9800 lsls r0, r3, #2
- 326 003a 144B ldr r3, .L34+4
- 327 003c C018 adds r0, r0, r3
- 328 003e 8900 lsls r1, r1, #2
- 329 0040 FFF7FEFF bl cureRingBufferU8Init
- 330 .LVL33:
- 331 0044 0128 cmp r0, #1
- 332 0046 1CD1 bne .L33
- 53:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Init(&rbuf_jack_rx[i], MIDI_BUFFER_SIZ))
- 333 .loc 1 53 0 discriminator 2
- 334 0048 0134 adds r4, r4, #1
- 335 .LVL34:
- 336 004a DEE7 b .L26
- 337 .LVL35:
- 338 .L31:
- 63:Src/usbd_midi_if.c **** analyzed_status[i].data_idx = 0;
- 339 .loc 1 63 0
- 340 004c 0022 movs r2, #0
- 341 004e 104B ldr r3, .L34+8
- 342 0050 1A54 strb r2, [r3, r0]
- 64:Src/usbd_midi_if.c **** midi_event[i].length = 0;
- 343 .loc 1 64 0
- 344 0052 8100 lsls r1, r0, #2
- 345 0054 0F4B ldr r3, .L34+12
- 346 0056 5B18 adds r3, r3, r1
- 347 0058 DA70 strb r2, [r3, #3]
- 65:Src/usbd_midi_if.c ****
- 348 .loc 1 65 0
- 349 005a 8301 lsls r3, r0, #6
- 350 005c 1B18 adds r3, r3, r0
- 351 005e 0E49 ldr r1, .L34+16
- 352 0060 5A54 strb r2, [r3, r1]
- 353 .LVL36:
- 67:Src/usbd_midi_if.c **** midi_event[i].midi_byte[j] = 0x00;
- 354 .loc 1 67 0
- 355 0062 0200 movs r2, r0
- ARM GAS /tmp/ccjHqQBe.s page 12
-
-
- 356 0064 07E0 b .L29
- 357 .LVL37:
- 358 .L30:
- 68:Src/usbd_midi_if.c **** }
- 359 .loc 1 68 0 discriminator 3
- 360 0066 8101 lsls r1, r0, #6
- 361 0068 0918 adds r1, r1, r0
- 362 006a 0B4B ldr r3, .L34+16
- 363 006c 5B18 adds r3, r3, r1
- 364 006e 9B18 adds r3, r3, r2
- 365 0070 0021 movs r1, #0
- 366 0072 5970 strb r1, [r3, #1]
- 67:Src/usbd_midi_if.c **** midi_event[i].midi_byte[j] = 0x00;
- 367 .loc 1 67 0 discriminator 3
- 368 0074 0132 adds r2, r2, #1
- 369 .LVL38:
- 370 .L29:
- 67:Src/usbd_midi_if.c **** midi_event[i].midi_byte[j] = 0x00;
- 371 .loc 1 67 0 is_stmt 0 discriminator 1
- 372 0076 3F2A cmp r2, #63
- 373 0078 F5D9 bls .L30
- 61:Src/usbd_midi_if.c ****
- 374 .loc 1 61 0 is_stmt 1 discriminator 2
- 375 007a 0130 adds r0, r0, #1
- 376 .LVL39:
- 377 007c C8E7 b .L28
- 378 .LVL40:
- 379 .L32:
- 49:Src/usbd_midi_if.c **** }
- 380 .loc 1 49 0
- 381 007e 0020 movs r0, #0
- 382 0080 C9E7 b .L24
- 383 .L33:
- 56:Src/usbd_midi_if.c **** }
- 384 .loc 1 56 0
- 385 0082 0020 movs r0, #0
- 386 0084 C7E7 b .L24
- 387 .L35:
- 388 0086 C046 .align 2
- 389 .L34:
- 390 0088 00000000 .word rbuf_usb_rx
- 391 008c 00000000 .word rbuf_jack_rx
- 392 0090 00000000 .word rx_midi_msg
- 393 0094 00000000 .word analyzed_status
- 394 0098 00000000 .word midi_event
- 395 .cfi_endproc
- 396 .LFE43:
- 398 .section .text.midiGetFromUsbRx,"ax",%progbits
- 399 .align 1
- 400 .global midiGetFromUsbRx
- 401 .syntax unified
- 402 .code 16
- 403 .thumb_func
- 404 .fpu softvfp
- 406 midiGetFromUsbRx:
- 407 .LFB44:
- 76:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Dequeue(&rbuf_usb_rx[cable_num], dat))
- ARM GAS /tmp/ccjHqQBe.s page 13
-
-
- 408 .loc 1 76 0
- 409 .cfi_startproc
- 410 @ args = 0, pretend = 0, frame = 0
- 411 @ frame_needed = 0, uses_anonymous_args = 0
- 412 .LVL41:
- 413 0000 10B5 push {r4, lr}
- 414 .LCFI5:
- 415 .cfi_def_cfa_offset 8
- 416 .cfi_offset 4, -8
- 417 .cfi_offset 14, -4
- 77:Src/usbd_midi_if.c **** {
- 418 .loc 1 77 0
- 419 0002 4300 lsls r3, r0, #1
- 420 0004 1818 adds r0, r3, r0
- 421 .LVL42:
- 422 0006 8300 lsls r3, r0, #2
- 423 0008 0448 ldr r0, .L39
- 424 000a 1818 adds r0, r3, r0
- 425 000c FFF7FEFF bl cureRingBufferU8Dequeue
- 426 .LVL43:
- 427 0010 0128 cmp r0, #1
- 428 0012 01D0 beq .L38
- 79:Src/usbd_midi_if.c **** }
- 429 .loc 1 79 0
- 430 0014 0020 movs r0, #0
- 431 .L37:
- 83:Src/usbd_midi_if.c ****
- 432 .loc 1 83 0
- 433 @ sp needed
- 434 0016 10BD pop {r4, pc}
- 435 .L38:
- 82:Src/usbd_midi_if.c **** }
- 436 .loc 1 82 0
- 437 0018 0120 movs r0, #1
- 438 001a FCE7 b .L37
- 439 .L40:
- 440 .align 2
- 441 .L39:
- 442 001c 00000000 .word rbuf_usb_rx
- 443 .cfi_endproc
- 444 .LFE44:
- 446 .section .text.midiGetFromJackRx,"ax",%progbits
- 447 .align 1
- 448 .global midiGetFromJackRx
- 449 .syntax unified
- 450 .code 16
- 451 .thumb_func
- 452 .fpu softvfp
- 454 midiGetFromJackRx:
- 455 .LFB45:
- 86:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Dequeue(&rbuf_jack_rx[cable_num], &rx_midi_msg[cable_num]))
- 456 .loc 1 86 0
- 457 .cfi_startproc
- 458 @ args = 0, pretend = 0, frame = 0
- 459 @ frame_needed = 0, uses_anonymous_args = 0
- 460 .LVL44:
- 461 0000 10B5 push {r4, lr}
- ARM GAS /tmp/ccjHqQBe.s page 14
-
-
- 462 .LCFI6:
- 463 .cfi_def_cfa_offset 8
- 464 .cfi_offset 4, -8
- 465 .cfi_offset 14, -4
- 87:Src/usbd_midi_if.c **** {
- 466 .loc 1 87 0
- 467 0002 0749 ldr r1, .L44
- 468 0004 4118 adds r1, r0, r1
- 469 0006 4300 lsls r3, r0, #1
- 470 0008 1818 adds r0, r3, r0
- 471 .LVL45:
- 472 000a 8300 lsls r3, r0, #2
- 473 000c 0548 ldr r0, .L44+4
- 474 000e 1818 adds r0, r3, r0
- 475 0010 FFF7FEFF bl cureRingBufferU8Dequeue
- 476 .LVL46:
- 477 0014 0128 cmp r0, #1
- 478 0016 01D0 beq .L43
- 89:Src/usbd_midi_if.c **** }
- 479 .loc 1 89 0
- 480 0018 0020 movs r0, #0
- 481 .L42:
- 93:Src/usbd_midi_if.c ****
- 482 .loc 1 93 0
- 483 @ sp needed
- 484 001a 10BD pop {r4, pc}
- 485 .L43:
- 92:Src/usbd_midi_if.c **** }
- 486 .loc 1 92 0
- 487 001c 0120 movs r0, #1
- 488 001e FCE7 b .L42
- 489 .L45:
- 490 .align 2
- 491 .L44:
- 492 0020 00000000 .word rx_midi_msg
- 493 0024 00000000 .word rbuf_jack_rx
- 494 .cfi_endproc
- 495 .LFE45:
- 497 .section .text.midiSetFromJackRx,"ax",%progbits
- 498 .align 1
- 499 .global midiSetFromJackRx
- 500 .syntax unified
- 501 .code 16
- 502 .thumb_func
- 503 .fpu softvfp
- 505 midiSetFromJackRx:
- 506 .LFB46:
- 96:Src/usbd_midi_if.c **** if(BUFFER_SUCCESS != cureRingBufferU8Enqueue(&rbuf_jack_rx[cable_num], dat))
- 507 .loc 1 96 0
- 508 .cfi_startproc
- 509 @ args = 0, pretend = 0, frame = 0
- 510 @ frame_needed = 0, uses_anonymous_args = 0
- 511 .LVL47:
- 512 0000 10B5 push {r4, lr}
- 513 .LCFI7:
- 514 .cfi_def_cfa_offset 8
- 515 .cfi_offset 4, -8
- ARM GAS /tmp/ccjHqQBe.s page 15
-
-
- 516 .cfi_offset 14, -4
- 97:Src/usbd_midi_if.c **** {
- 517 .loc 1 97 0
- 518 0002 4300 lsls r3, r0, #1
- 519 0004 1818 adds r0, r3, r0
- 520 .LVL48:
- 521 0006 8300 lsls r3, r0, #2
- 522 0008 0448 ldr r0, .L49
- 523 000a 1818 adds r0, r3, r0
- 524 000c FFF7FEFF bl cureRingBufferU8Enqueue
- 525 .LVL49:
- 526 0010 0128 cmp r0, #1
- 527 0012 01D0 beq .L48
- 99:Src/usbd_midi_if.c **** }
- 528 .loc 1 99 0
- 529 0014 0020 movs r0, #0
- 530 .L47:
- 103:Src/usbd_midi_if.c ****
- 531 .loc 1 103 0
- 532 @ sp needed
- 533 0016 10BD pop {r4, pc}
- 534 .L48:
- 102:Src/usbd_midi_if.c **** }
- 535 .loc 1 102 0
- 536 0018 0120 movs r0, #1
- 537 001a FCE7 b .L47
- 538 .L50:
- 539 .align 2
- 540 .L49:
- 541 001c 00000000 .word rbuf_jack_rx
- 542 .cfi_endproc
- 543 .LFE46:
- 545 .section .text.isUsbRxBufEmpty,"ax",%progbits
- 546 .align 1
- 547 .global isUsbRxBufEmpty
- 548 .syntax unified
- 549 .code 16
- 550 .thumb_func
- 551 .fpu softvfp
- 553 isUsbRxBufEmpty:
- 554 .LFB47:
- 107:Src/usbd_midi_if.c **** if( 0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[cable_num]) ){
- 555 .loc 1 107 0
- 556 .cfi_startproc
- 557 @ args = 0, pretend = 0, frame = 0
- 558 @ frame_needed = 0, uses_anonymous_args = 0
- 559 .LVL50:
- 560 0000 10B5 push {r4, lr}
- 561 .LCFI8:
- 562 .cfi_def_cfa_offset 8
- 563 .cfi_offset 4, -8
- 564 .cfi_offset 14, -4
- 108:Src/usbd_midi_if.c **** return false;
- 565 .loc 1 108 0
- 566 0002 4300 lsls r3, r0, #1
- 567 0004 1818 adds r0, r3, r0
- 568 .LVL51:
- ARM GAS /tmp/ccjHqQBe.s page 16
-
-
- 569 0006 8300 lsls r3, r0, #2
- 570 0008 0448 ldr r0, .L55
- 571 000a 1818 adds r0, r3, r0
- 572 000c FFF7FEFF bl _cureRingBufferU8GetUsedSize
- 573 .LVL52:
- 574 0010 0028 cmp r0, #0
- 575 0012 01D1 bne .L54
- 112:Src/usbd_midi_if.c **** }
- 576 .loc 1 112 0
- 577 0014 0120 movs r0, #1
- 578 .L52:
- 113:Src/usbd_midi_if.c ****
- 579 .loc 1 113 0
- 580 @ sp needed
- 581 0016 10BD pop {r4, pc}
- 582 .L54:
- 109:Src/usbd_midi_if.c **** }
- 583 .loc 1 109 0
- 584 0018 0020 movs r0, #0
- 585 001a FCE7 b .L52
- 586 .L56:
- 587 .align 2
- 588 .L55:
- 589 001c 00000000 .word rbuf_usb_rx
- 590 .cfi_endproc
- 591 .LFE47:
- 593 .section .text.isJackRxBufEmpty,"ax",%progbits
- 594 .align 1
- 595 .global isJackRxBufEmpty
- 596 .syntax unified
- 597 .code 16
- 598 .thumb_func
- 599 .fpu softvfp
- 601 isJackRxBufEmpty:
- 602 .LFB48:
- 116:Src/usbd_midi_if.c **** if( 0 != _cureRingBufferU8GetUsedSize(&rbuf_jack_rx[cable_num]) ){
- 603 .loc 1 116 0
- 604 .cfi_startproc
- 605 @ args = 0, pretend = 0, frame = 0
- 606 @ frame_needed = 0, uses_anonymous_args = 0
- 607 .LVL53:
- 608 0000 10B5 push {r4, lr}
- 609 .LCFI9:
- 610 .cfi_def_cfa_offset 8
- 611 .cfi_offset 4, -8
- 612 .cfi_offset 14, -4
- 117:Src/usbd_midi_if.c **** return false;
- 613 .loc 1 117 0
- 614 0002 4300 lsls r3, r0, #1
- 615 0004 1818 adds r0, r3, r0
- 616 .LVL54:
- 617 0006 8300 lsls r3, r0, #2
- 618 0008 0448 ldr r0, .L61
- 619 000a 1818 adds r0, r3, r0
- 620 000c FFF7FEFF bl _cureRingBufferU8GetUsedSize
- 621 .LVL55:
- 622 0010 0028 cmp r0, #0
- ARM GAS /tmp/ccjHqQBe.s page 17
-
-
- 623 0012 01D1 bne .L60
- 121:Src/usbd_midi_if.c **** }
- 624 .loc 1 121 0
- 625 0014 0120 movs r0, #1
- 626 .L58:
- 122:Src/usbd_midi_if.c ****
- 627 .loc 1 122 0
- 628 @ sp needed
- 629 0016 10BD pop {r4, pc}
- 630 .L60:
- 118:Src/usbd_midi_if.c **** }
- 631 .loc 1 118 0
- 632 0018 0020 movs r0, #0
- 633 001a FCE7 b .L58
- 634 .L62:
- 635 .align 2
- 636 .L61:
- 637 001c 00000000 .word rbuf_jack_rx
- 638 .cfi_endproc
- 639 .LFE48:
- 641 .section .text.isRxBufEmpty,"ax",%progbits
- 642 .align 1
- 643 .global isRxBufEmpty
- 644 .syntax unified
- 645 .code 16
- 646 .thumb_func
- 647 .fpu softvfp
- 649 isRxBufEmpty:
- 650 .LFB49:
- 125:Src/usbd_midi_if.c **** uint32_t i;
- 651 .loc 1 125 0
- 652 .cfi_startproc
- 653 @ args = 0, pretend = 0, frame = 0
- 654 @ frame_needed = 0, uses_anonymous_args = 0
- 655 0000 10B5 push {r4, lr}
- 656 .LCFI10:
- 657 .cfi_def_cfa_offset 8
- 658 .cfi_offset 4, -8
- 659 .cfi_offset 14, -4
- 660 .LVL56:
- 128:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[i]))
- 661 .loc 1 128 0
- 662 0002 0024 movs r4, #0
- 663 .LVL57:
- 664 .L64:
- 128:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[i]))
- 665 .loc 1 128 0 is_stmt 0 discriminator 1
- 666 0004 002C cmp r4, #0
- 667 0006 04D0 beq .L66
- 135:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_jack_rx[i]))
- 668 .loc 1 135 0 is_stmt 1
- 669 0008 0024 movs r4, #0
- 670 .LVL58:
- 671 .L67:
- 135:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_jack_rx[i]))
- 672 .loc 1 135 0 is_stmt 0 discriminator 1
- 673 000a 002C cmp r4, #0
- ARM GAS /tmp/ccjHqQBe.s page 18
-
-
- 674 000c 0CD0 beq .L68
- 141:Src/usbd_midi_if.c **** }
- 675 .loc 1 141 0 is_stmt 1
- 676 000e 0120 movs r0, #1
- 677 .L65:
- 142:Src/usbd_midi_if.c ****
- 678 .loc 1 142 0
- 679 @ sp needed
- 680 .LVL59:
- 681 0010 10BD pop {r4, pc}
- 682 .LVL60:
- 683 .L66:
- 129:Src/usbd_midi_if.c **** {
- 684 .loc 1 129 0
- 685 0012 6300 lsls r3, r4, #1
- 686 0014 1B19 adds r3, r3, r4
- 687 0016 9800 lsls r0, r3, #2
- 688 0018 0B4B ldr r3, .L71
- 689 001a C018 adds r0, r0, r3
- 690 001c FFF7FEFF bl _cureRingBufferU8GetUsedSize
- 691 .LVL61:
- 692 0020 0028 cmp r0, #0
- 693 0022 0CD1 bne .L69
- 128:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_usb_rx[i]))
- 694 .loc 1 128 0 discriminator 2
- 695 0024 0134 adds r4, r4, #1
- 696 .LVL62:
- 697 0026 EDE7 b .L64
- 698 .L68:
- 136:Src/usbd_midi_if.c **** {
- 699 .loc 1 136 0
- 700 0028 6300 lsls r3, r4, #1
- 701 002a 1B19 adds r3, r3, r4
- 702 002c 9800 lsls r0, r3, #2
- 703 002e 074B ldr r3, .L71+4
- 704 0030 C018 adds r0, r0, r3
- 705 0032 FFF7FEFF bl _cureRingBufferU8GetUsedSize
- 706 .LVL63:
- 707 0036 0028 cmp r0, #0
- 708 0038 03D1 bne .L70
- 135:Src/usbd_midi_if.c **** if(0 != _cureRingBufferU8GetUsedSize(&rbuf_jack_rx[i]))
- 709 .loc 1 135 0 discriminator 2
- 710 003a 0134 adds r4, r4, #1
- 711 .LVL64:
- 712 003c E5E7 b .L67
- 713 .L69:
- 131:Src/usbd_midi_if.c **** }
- 714 .loc 1 131 0
- 715 003e 0020 movs r0, #0
- 716 0040 E6E7 b .L65
- 717 .L70:
- 138:Src/usbd_midi_if.c **** }
- 718 .loc 1 138 0
- 719 0042 0020 movs r0, #0
- 720 0044 E4E7 b .L65
- 721 .L72:
- 722 0046 C046 .align 2
- ARM GAS /tmp/ccjHqQBe.s page 19
-
-
- 723 .L71:
- 724 0048 00000000 .word rbuf_usb_rx
- 725 004c 00000000 .word rbuf_jack_rx
- 726 .cfi_endproc
- 727 .LFE49:
- 729 .section .text.sendMidiMessage,"ax",%progbits
- 730 .align 1
- 731 .global sendMidiMessage
- 732 .syntax unified
- 733 .code 16
- 734 .thumb_func
- 735 .fpu softvfp
- 737 sendMidiMessage:
- 738 .LFB51:
- 217:Src/usbd_midi_if.c **** if(size == 4){
- 739 .loc 1 217 0
- 740 .cfi_startproc
- 741 @ args = 0, pretend = 0, frame = 0
- 742 @ frame_needed = 0, uses_anonymous_args = 0
- 743 .LVL65:
- 744 0000 10B5 push {r4, lr}
- 745 .LCFI11:
- 746 .cfi_def_cfa_offset 8
- 747 .cfi_offset 4, -8
- 748 .cfi_offset 14, -4
- 218:Src/usbd_midi_if.c **** // APP_Rx_Buffer[0] = msg[0];
- 749 .loc 1 218 0
- 750 0002 0429 cmp r1, #4
- 751 0004 00D0 beq .L75
- 752 .LVL66:
- 753 .L73:
- 226:Src/usbd_midi_if.c ****
- 754 .loc 1 226 0
- 755 @ sp needed
- 756 0006 10BD pop {r4, pc}
- 757 .LVL67:
- 758 .L75:
- 224:Src/usbd_midi_if.c **** }
- 759 .loc 1 224 0
- 760 0008 FFF7FEFF bl MIDI_DataTx
- 761 .LVL68:
- 226:Src/usbd_midi_if.c ****
- 762 .loc 1 226 0
- 763 000c FBE7 b .L73
- 764 .cfi_endproc
- 765 .LFE51:
- 767 .section .text.midiEventIsGenerated,"ax",%progbits
- 768 .align 1
- 769 .global midiEventIsGenerated
- 770 .syntax unified
- 771 .code 16
- 772 .thumb_func
- 773 .fpu softvfp
- 775 midiEventIsGenerated:
- 776 .LFB53:
- 240:Src/usbd_midi_if.c ****
- 241:Src/usbd_midi_if.c **** bool midiEventIsGenerated(uint8_t cable_num)
- ARM GAS /tmp/ccjHqQBe.s page 20
-
-
- 242:Src/usbd_midi_if.c **** {
- 777 .loc 1 242 0
- 778 .cfi_startproc
- 779 @ args = 0, pretend = 0, frame = 0
- 780 @ frame_needed = 0, uses_anonymous_args = 0
- 781 .LVL69:
- 782 0000 F0B5 push {r4, r5, r6, r7, lr}
- 783 .LCFI12:
- 784 .cfi_def_cfa_offset 20
- 785 .cfi_offset 4, -20
- 786 .cfi_offset 5, -16
- 787 .cfi_offset 6, -12
- 788 .cfi_offset 7, -8
- 789 .cfi_offset 14, -4
- 243:Src/usbd_midi_if.c **** uint8_t upper_half_byte= (rx_midi_msg[cable_num]) & 0xF0;
- 790 .loc 1 243 0
- 791 0002 8F4B ldr r3, .L112
- 792 0004 1A5C ldrb r2, [r3, r0]
- 793 0006 0F23 movs r3, #15
- 794 0008 1100 movs r1, r2
- 795 000a 9943 bics r1, r3
- 796 000c 0B00 movs r3, r1
- 797 .LVL70:
- 244:Src/usbd_midi_if.c ****
- 245:Src/usbd_midi_if.c **** if( upper_half_byte & 0x80 ){//0x80-0xFF:status byte
- 798 .loc 1 245 0
- 799 000e 49B2 sxtb r1, r1
- 800 0010 0029 cmp r1, #0
- 801 0012 24DB blt .L103
- 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];
- ARM GAS /tmp/ccjHqQBe.s page 21
-
-
- 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
- 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){
- 802 .loc 1 326 0
- 803 0014 8300 lsls r3, r0, #2
- 804 0016 8B49 ldr r1, .L112+4
- 805 .LVL71:
- ARM GAS /tmp/ccjHqQBe.s page 22
-
-
- 806 0018 5B5C ldrb r3, [r3, r1]
- 807 001a 022B cmp r3, #2
- 808 001c 00D1 bne .LCB748
- 809 001e DCE0 b .L92 @long jump
- 810 .LCB748:
- 811 0020 00D8 bhi .LCB750
- 812 0022 B7E0 b .L104 @long jump
- 813 .LCB750:
- 814 0024 032B cmp r3, #3
- 815 0026 00D1 bne .LCB752
- 816 0028 EEE0 b .L95 @long jump
- 817 .LCB752:
- 818 002a 042B cmp r3, #4
- 819 002c 60D1 bne .L91
- 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];
- 820 .loc 1 360 0
- 821 002e 8101 lsls r1, r0, #6
- 822 0030 0918 adds r1, r1, r0
- 823 0032 854B ldr r3, .L112+8
- 824 0034 5B18 adds r3, r3, r1
- 825 0036 9A70 strb r2, [r3, #2]
- 361:Src/usbd_midi_if.c **** if(MSG_THREE_BYTE == analyzed_status[cable_num].type){
- 826 .loc 1 361 0
- 827 0038 8200 lsls r2, r0, #2
- ARM GAS /tmp/ccjHqQBe.s page 23
-
-
- 828 .LVL72:
- 829 003a 824B ldr r3, .L112+4
- 830 003c 9B18 adds r3, r3, r2
- 831 003e 5B78 ldrb r3, [r3, #1]
- 832 0040 042B cmp r3, #4
- 833 0042 00D1 bne .LCB766
- 834 0044 F5E0 b .L105 @long jump
- 835 .LCB766:
- 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){
- 836 .loc 1 363 0
- 837 0046 032B cmp r3, #3
- 838 0048 52D1 bne .L91
- 364:Src/usbd_midi_if.c **** midi_event[cable_num].length = 2;
- 839 .loc 1 364 0
- 840 004a 8301 lsls r3, r0, #6
- 841 004c 1B18 adds r3, r3, r0
- 842 004e 7E4A ldr r2, .L112+8
- 843 0050 0221 movs r1, #2
- 844 0052 9954 strb r1, [r3, r2]
- 365:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
- 845 .loc 1 365 0
- 846 0054 8300 lsls r3, r0, #2
- 847 0056 7B4A ldr r2, .L112+4
- 848 0058 0231 adds r1, r1, #2
- 849 005a 9954 strb r1, [r3, r2]
- 850 005c 48E0 b .L91
- 851 .LVL73:
- 852 .L103:
- 247:Src/usbd_midi_if.c ****
- 853 .loc 1 247 0
- 854 005e B02B cmp r3, #176
- 855 0060 00D1 bne .LCB784
- 856 0062 88E0 b .L79 @long jump
- 857 .LCB784:
- 858 0064 10D9 bls .L106
- 859 0066 D02B cmp r3, #208
- 860 0068 21D0 beq .L81
- 861 006a 1ED9 bls .L107
- 862 006c E02B cmp r3, #224
- 863 006e 00D1 bne .LCB792
- 864 0070 81E0 b .L79 @long jump
- 865 .LCB792:
- 866 0072 F02B cmp r3, #240
- 867 0074 11D1 bne .L78
- 250:Src/usbd_midi_if.c ****
- 868 .loc 1 250 0
- 869 0076 1300 movs r3, r2
- 870 0078 1033 adds r3, r3, #16
- 871 007a D9B2 uxtb r1, r3
- 872 .LVL74:
- 873 007c 0F29 cmp r1, #15
- 874 007e 32D8 bhi .L84
- 875 0080 8B00 lsls r3, r1, #2
- 876 0082 7249 ldr r1, .L112+12
- 877 0084 CB58 ldr r3, [r1, r3]
- 878 0086 9F46 mov pc, r3
- ARM GAS /tmp/ccjHqQBe.s page 24
-
-
- 879 .section .rodata.midiEventIsGenerated,"a",%progbits
- 880 .align 2
- 881 .L86:
- 882 0000 CC000000 .word .L85
- 883 0004 3E010000 .word .L87
- 884 0008 24010000 .word .L88
- 885 000c 3E010000 .word .L87
- 886 0010 58010000 .word .L89
- 887 0014 58010000 .word .L89
- 888 0018 58010000 .word .L89
- 889 001c 00010000 .word .L90
- 890 0020 58010000 .word .L89
- 891 0024 58010000 .word .L89
- 892 0028 58010000 .word .L89
- 893 002c 58010000 .word .L89
- 894 0030 58010000 .word .L89
- 895 0034 58010000 .word .L89
- 896 0038 58010000 .word .L89
- 897 003c 58010000 .word .L89
- 898 .section .text.midiEventIsGenerated
- 899 .LVL75:
- 900 .L106:
- 247:Src/usbd_midi_if.c ****
- 901 .loc 1 247 0
- 902 0088 902B cmp r3, #144
- 903 008a 00D1 bne .LCB814
- 904 008c 73E0 b .L79 @long jump
- 905 .LCB814:
- 906 008e A02B cmp r3, #160
- 907 0090 00D1 bne .LCB816
- 908 0092 70E0 b .L79 @long jump
- 909 .LCB816:
- 910 0094 802B cmp r3, #128
- 911 0096 00D1 bne .LCB818
- 912 0098 6DE0 b .L79 @long jump
- 913 .LCB818:
- 914 .L78:
- 318:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = START_ANALYSIS;
- 915 .loc 1 318 0
- 916 009a 6A49 ldr r1, .L112+4
- 917 .LVL76:
- 918 009c 8400 lsls r4, r0, #2
- 919 009e 0A19 adds r2, r1, r4
- 920 00a0 0023 movs r3, #0
- 921 .LVL77:
- 922 00a2 5370 strb r3, [r2, #1]
- 319:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = false;
- 923 .loc 1 319 0
- 924 00a4 6354 strb r3, [r4, r1]
- 320:Src/usbd_midi_if.c **** break;
- 925 .loc 1 320 0
- 926 00a6 9370 strb r3, [r2, #2]
- 321:Src/usbd_midi_if.c **** }
- 927 .loc 1 321 0
- 928 00a8 22E0 b .L91
- 929 .LVL78:
- 930 .L107:
- ARM GAS /tmp/ccjHqQBe.s page 25
-
-
- 247:Src/usbd_midi_if.c ****
- 931 .loc 1 247 0
- 932 00aa C02B cmp r3, #192
- 933 00ac F5D1 bne .L78
- 934 .L81:
- 311:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_TWO_BYTE;
- 935 .loc 1 311 0
- 936 00ae 8101 lsls r1, r0, #6
- 937 .LVL79:
- 938 00b0 0918 adds r1, r1, r0
- 939 00b2 654B ldr r3, .L112+8
- 940 .LVL80:
- 941 00b4 5B18 adds r3, r3, r1
- 942 00b6 5A70 strb r2, [r3, #1]
- 312:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
- 943 .loc 1 312 0
- 944 00b8 624A ldr r2, .L112+4
- 945 .LVL81:
- 946 00ba 8100 lsls r1, r0, #2
- 947 00bc 5318 adds r3, r2, r1
- 948 00be 0324 movs r4, #3
- 949 00c0 5C70 strb r4, [r3, #1]
- 313:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = false;
- 950 .loc 1 313 0
- 951 00c2 023C subs r4, r4, #2
- 952 00c4 8C54 strb r4, [r1, r2]
- 314:Src/usbd_midi_if.c **** break;
- 953 .loc 1 314 0
- 954 00c6 0022 movs r2, #0
- 955 00c8 9A70 strb r2, [r3, #2]
- 315:Src/usbd_midi_if.c ****
- 956 .loc 1 315 0
- 957 00ca 11E0 b .L91
- 958 .LVL82:
- 959 .L85:
- 254:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_SYSEX;
- 960 .loc 1 254 0
- 961 00cc 5D4C ldr r4, .L112+4
- 962 00ce 8500 lsls r5, r0, #2
- 963 00d0 6619 adds r6, r4, r5
- 964 00d2 0127 movs r7, #1
- 965 00d4 F770 strb r7, [r6, #3]
- 966 00d6 8101 lsls r1, r0, #6
- 967 00d8 0918 adds r1, r1, r0
- 968 00da 5B4B ldr r3, .L112+8
- 969 00dc 5B18 adds r3, r3, r1
- 970 00de 5A70 strb r2, [r3, #1]
- 255:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_SYSTEM_DATA;
- 971 .loc 1 255 0
- 972 00e0 7770 strb r7, [r6, #1]
- 256:Src/usbd_midi_if.c **** break;
- 973 .loc 1 256 0
- 974 00e2 0323 movs r3, #3
- 975 00e4 2B55 strb r3, [r5, r4]
- 976 .LVL83:
- 977 .L84:
- 295:Src/usbd_midi_if.c **** break;
- ARM GAS /tmp/ccjHqQBe.s page 26
-
-
- 978 .loc 1 295 0
- 979 00e6 8200 lsls r2, r0, #2
- 980 00e8 564B ldr r3, .L112+4
- 981 00ea 9B18 adds r3, r3, r2
- 982 00ec 0122 movs r2, #1
- 983 00ee 9A70 strb r2, [r3, #2]
- 984 .L91:
- 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:
- 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){
- 985 .loc 1 377 0
- 986 00f0 8000 lsls r0, r0, #2
- 987 .LVL84:
- 988 00f2 544B ldr r3, .L112+4
- 989 00f4 C35C ldrb r3, [r0, r3]
- 990 00f6 042B cmp r3, #4
- 991 00f8 00D1 bne .LCB889
- 992 00fa 9FE0 b .L108 @long jump
- 993 .LCB889:
- 378:Src/usbd_midi_if.c **** return true;
- 379:Src/usbd_midi_if.c **** }else{
- 380:Src/usbd_midi_if.c **** return false;
- 994 .loc 1 380 0
- 995 00fc 0020 movs r0, #0
- 996 .L101:
- 381:Src/usbd_midi_if.c **** }
- 382:Src/usbd_midi_if.c ****
- 383:Src/usbd_midi_if.c **** }
- 997 .loc 1 383 0
- 998 @ sp needed
- 999 00fe F0BD pop {r4, r5, r6, r7, pc}
- 1000 .LVL85:
- 1001 .L90:
- 260:Src/usbd_midi_if.c **** midi_event[cable_num].length = analyzed_status[cable_num].data_idx;
- 1002 .loc 1 260 0
- 1003 0100 504D ldr r5, .L112+4
- 1004 0102 8600 lsls r6, r0, #2
- 1005 0104 AB19 adds r3, r5, r6
- 1006 0106 D978 ldrb r1, [r3, #3]
- 1007 0108 8C46 mov ip, r1
- 1008 010a 0131 adds r1, r1, #1
- 1009 010c C9B2 uxtb r1, r1
- 1010 010e D970 strb r1, [r3, #3]
- 1011 0110 4D4F ldr r7, .L112+8
- 1012 0112 8301 lsls r3, r0, #6
- 1013 0114 1B18 adds r3, r3, r0
- 1014 0116 FC18 adds r4, r7, r3
- 1015 0118 6444 add r4, r4, ip
- ARM GAS /tmp/ccjHqQBe.s page 27
-
-
- 1016 011a 6270 strb r2, [r4, #1]
- 261:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
- 1017 .loc 1 261 0
- 1018 011c D955 strb r1, [r3, r7]
- 262:Src/usbd_midi_if.c **** break;
- 1019 .loc 1 262 0
- 1020 011e 0423 movs r3, #4
- 1021 0120 7355 strb r3, [r6, r5]
- 263:Src/usbd_midi_if.c ****
- 1022 .loc 1 263 0
- 1023 0122 E0E7 b .L84
- 1024 .L88:
- 266:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_THREE_BYTE;
- 1025 .loc 1 266 0
- 1026 0124 8101 lsls r1, r0, #6
- 1027 0126 0918 adds r1, r1, r0
- 1028 0128 474B ldr r3, .L112+8
- 1029 012a 5B18 adds r3, r3, r1
- 1030 012c 5A70 strb r2, [r3, #1]
- 267:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
- 1031 .loc 1 267 0
- 1032 012e 454B ldr r3, .L112+4
- 1033 0130 8200 lsls r2, r0, #2
- 1034 .LVL86:
- 1035 0132 9918 adds r1, r3, r2
- 1036 0134 0424 movs r4, #4
- 1037 0136 4C70 strb r4, [r1, #1]
- 268:Src/usbd_midi_if.c **** break;
- 1038 .loc 1 268 0
- 1039 0138 0121 movs r1, #1
- 1040 013a D154 strb r1, [r2, r3]
- 269:Src/usbd_midi_if.c ****
- 1041 .loc 1 269 0
- 1042 013c D3E7 b .L84
- 1043 .LVL87:
- 1044 .L87:
- 273:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_TWO_BYTE;
- 1045 .loc 1 273 0
- 1046 013e 8101 lsls r1, r0, #6
- 1047 0140 0918 adds r1, r1, r0
- 1048 0142 414B ldr r3, .L112+8
- 1049 0144 5B18 adds r3, r3, r1
- 1050 0146 5A70 strb r2, [r3, #1]
- 274:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
- 1051 .loc 1 274 0
- 1052 0148 3E4B ldr r3, .L112+4
- 1053 014a 8200 lsls r2, r0, #2
- 1054 .LVL88:
- 1055 014c 9918 adds r1, r3, r2
- 1056 014e 0324 movs r4, #3
- 1057 0150 4C70 strb r4, [r1, #1]
- 275:Src/usbd_midi_if.c **** break;
- 1058 .loc 1 275 0
- 1059 0152 0121 movs r1, #1
- 1060 0154 D154 strb r1, [r2, r3]
- 276:Src/usbd_midi_if.c ****
- 1061 .loc 1 276 0
- ARM GAS /tmp/ccjHqQBe.s page 28
-
-
- 1062 0156 C6E7 b .L84
- 1063 .LVL89:
- 1064 .L89:
- 289:Src/usbd_midi_if.c **** midi_event[cable_num].length = 1;
- 1065 .loc 1 289 0
- 1066 0158 3B49 ldr r1, .L112+8
- 1067 015a 8301 lsls r3, r0, #6
- 1068 015c 1B18 adds r3, r3, r0
- 1069 015e CC18 adds r4, r1, r3
- 1070 0160 6270 strb r2, [r4, #1]
- 290:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_ONE_BYTE;
- 1071 .loc 1 290 0
- 1072 0162 0122 movs r2, #1
- 1073 .LVL90:
- 1074 0164 5A54 strb r2, [r3, r1]
- 291:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
- 1075 .loc 1 291 0
- 1076 0166 374B ldr r3, .L112+4
- 1077 0168 8200 lsls r2, r0, #2
- 1078 016a 9918 adds r1, r3, r2
- 1079 016c 0224 movs r4, #2
- 1080 016e 4C70 strb r4, [r1, #1]
- 292:Src/usbd_midi_if.c **** break;
- 1081 .loc 1 292 0
- 1082 0170 0421 movs r1, #4
- 1083 0172 D154 strb r1, [r2, r3]
- 293:Src/usbd_midi_if.c **** }
- 1084 .loc 1 293 0
- 1085 0174 B7E7 b .L84
- 1086 .LVL91:
- 1087 .L79:
- 303:Src/usbd_midi_if.c **** analyzed_status[cable_num].type = MSG_THREE_BYTE;
- 1088 .loc 1 303 0
- 1089 0176 8101 lsls r1, r0, #6
- 1090 .LVL92:
- 1091 0178 0918 adds r1, r1, r0
- 1092 017a 334B ldr r3, .L112+8
- 1093 .LVL93:
- 1094 017c 5B18 adds r3, r3, r1
- 1095 017e 5A70 strb r2, [r3, #1]
- 304:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA1;
- 1096 .loc 1 304 0
- 1097 0180 304A ldr r2, .L112+4
- 1098 .LVL94:
- 1099 0182 8100 lsls r1, r0, #2
- 1100 0184 5318 adds r3, r2, r1
- 1101 0186 0424 movs r4, #4
- 1102 0188 5C70 strb r4, [r3, #1]
- 305:Src/usbd_midi_if.c **** analyzed_status[cable_num].is_system_common = false;
- 1103 .loc 1 305 0
- 1104 018a 033C subs r4, r4, #3
- 1105 018c 8C54 strb r4, [r1, r2]
- 306:Src/usbd_midi_if.c **** break;
- 1106 .loc 1 306 0
- 1107 018e 0022 movs r2, #0
- 1108 0190 9A70 strb r2, [r3, #2]
- 307:Src/usbd_midi_if.c ****
- ARM GAS /tmp/ccjHqQBe.s page 29
-
-
- 1109 .loc 1 307 0
- 1110 0192 ADE7 b .L91
- 1111 .LVL95:
- 1112 .L104:
- 326:Src/usbd_midi_if.c ****
- 1113 .loc 1 326 0
- 1114 0194 012B cmp r3, #1
- 1115 0196 ABD1 bne .L91
- 329:Src/usbd_midi_if.c ****
- 1116 .loc 1 329 0
- 1117 0198 8101 lsls r1, r0, #6
- 1118 019a 0918 adds r1, r1, r0
- 1119 019c 2A4B ldr r3, .L112+8
- 1120 019e 5B18 adds r3, r3, r1
- 1121 01a0 9A70 strb r2, [r3, #2]
- 331:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = WAIT_DATA2;
- 1122 .loc 1 331 0
- 1123 01a2 8200 lsls r2, r0, #2
- 1124 .LVL96:
- 1125 01a4 274B ldr r3, .L112+4
- 1126 01a6 9B18 adds r3, r3, r2
- 1127 01a8 5B78 ldrb r3, [r3, #1]
- 1128 01aa 042B cmp r3, #4
- 1129 01ac 06D0 beq .L109
- 333:Src/usbd_midi_if.c **** midi_event[cable_num].length = 2;
- 1130 .loc 1 333 0
- 1131 01ae 032B cmp r3, #3
- 1132 01b0 09D0 beq .L110
- 337:Src/usbd_midi_if.c **** }
- 1133 .loc 1 337 0
- 1134 01b2 8300 lsls r3, r0, #2
- 1135 01b4 234A ldr r2, .L112+4
- 1136 01b6 0021 movs r1, #0
- 1137 01b8 9954 strb r1, [r3, r2]
- 1138 01ba 99E7 b .L91
- 1139 .L109:
- 332:Src/usbd_midi_if.c **** }else if( MSG_TWO_BYTE == analyzed_status[cable_num].type ){
- 1140 .loc 1 332 0
- 1141 01bc 1300 movs r3, r2
- 1142 01be 214A ldr r2, .L112+4
- 1143 01c0 0221 movs r1, #2
- 1144 01c2 9954 strb r1, [r3, r2]
- 1145 01c4 94E7 b .L91
- 1146 .L110:
- 334:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
- 1147 .loc 1 334 0
- 1148 01c6 8301 lsls r3, r0, #6
- 1149 01c8 1B18 adds r3, r3, r0
- 1150 01ca 1F4A ldr r2, .L112+8
- 1151 01cc 0221 movs r1, #2
- 1152 01ce 9954 strb r1, [r3, r2]
- 335:Src/usbd_midi_if.c **** }else{
- 1153 .loc 1 335 0
- 1154 01d0 8300 lsls r3, r0, #2
- 1155 01d2 1C4A ldr r2, .L112+4
- 1156 01d4 0231 adds r1, r1, #2
- 1157 01d6 9954 strb r1, [r3, r2]
- ARM GAS /tmp/ccjHqQBe.s page 30
-
-
- 1158 01d8 8AE7 b .L91
- 1159 .LVL97:
- 1160 .L92:
- 342:Src/usbd_midi_if.c **** midi_event[cable_num].midi_byte[2] = rx_midi_msg[cable_num];
- 1161 .loc 1 342 0
- 1162 01da 8100 lsls r1, r0, #2
- 1163 01dc 194B ldr r3, .L112+4
- 1164 01de 5B18 adds r3, r3, r1
- 1165 01e0 5B78 ldrb r3, [r3, #1]
- 1166 01e2 042B cmp r3, #4
- 1167 01e4 04D0 beq .L111
- 347:Src/usbd_midi_if.c **** }
- 1168 .loc 1 347 0
- 1169 01e6 8300 lsls r3, r0, #2
- 1170 01e8 164A ldr r2, .L112+4
- 1171 .LVL98:
- 1172 01ea 0021 movs r1, #0
- 1173 01ec 9954 strb r1, [r3, r2]
- 1174 01ee 7FE7 b .L91
- 1175 .LVL99:
- 1176 .L111:
- 343:Src/usbd_midi_if.c **** midi_event[cable_num].length = 3;
- 1177 .loc 1 343 0
- 1178 01f0 1549 ldr r1, .L112+8
- 1179 01f2 8301 lsls r3, r0, #6
- 1180 01f4 1B18 adds r3, r3, r0
- 1181 01f6 CC18 adds r4, r1, r3
- 1182 01f8 E270 strb r2, [r4, #3]
- 344:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
- 1183 .loc 1 344 0
- 1184 01fa 0322 movs r2, #3
- 1185 .LVL100:
- 1186 01fc 5A54 strb r2, [r3, r1]
- 345:Src/usbd_midi_if.c **** }else{
- 1187 .loc 1 345 0
- 1188 01fe 8300 lsls r3, r0, #2
- 1189 0200 104A ldr r2, .L112+4
- 1190 0202 0421 movs r1, #4
- 1191 0204 9954 strb r1, [r3, r2]
- 1192 0206 73E7 b .L91
- 1193 .LVL101:
- 1194 .L95:
- 352:Src/usbd_midi_if.c ****
- 1195 .loc 1 352 0
- 1196 0208 8300 lsls r3, r0, #2
- 1197 020a 0E4C ldr r4, .L112+4
- 1198 020c E418 adds r4, r4, r3
- 1199 020e E578 ldrb r5, [r4, #3]
- 1200 0210 691C adds r1, r5, #1
- 1201 0212 C9B2 uxtb r1, r1
- 1202 0214 E170 strb r1, [r4, #3]
- 1203 0216 8401 lsls r4, r0, #6
- 1204 0218 2418 adds r4, r4, r0
- 1205 021a 0B4B ldr r3, .L112+8
- 1206 021c 1B19 adds r3, r3, r4
- 1207 021e 5B19 adds r3, r3, r5
- 1208 0220 5A70 strb r2, [r3, #1]
- ARM GAS /tmp/ccjHqQBe.s page 31
-
-
- 354:Src/usbd_midi_if.c **** analyzed_status[cable_num].stat = END_ANALYSIS;
- 1209 .loc 1 354 0
- 1210 0222 3F29 cmp r1, #63
- 1211 0224 00D8 bhi .LCB1099
- 1212 0226 63E7 b .L91 @long jump
- 1213 .LCB1099:
- 355:Src/usbd_midi_if.c **** }
- 1214 .loc 1 355 0
- 1215 0228 8300 lsls r3, r0, #2
- 1216 022a 064A ldr r2, .L112+4
- 1217 .LVL102:
- 1218 022c 0421 movs r1, #4
- 1219 022e 9954 strb r1, [r3, r2]
- 1220 0230 5EE7 b .L91
- 1221 .L105:
- 362:Src/usbd_midi_if.c **** }else if(MSG_TWO_BYTE == analyzed_status[cable_num].type){
- 1222 .loc 1 362 0
- 1223 0232 1300 movs r3, r2
- 1224 0234 034A ldr r2, .L112+4
- 1225 0236 0221 movs r1, #2
- 1226 0238 9954 strb r1, [r3, r2]
- 1227 023a 59E7 b .L91
- 1228 .LVL103:
- 1229 .L108:
- 378:Src/usbd_midi_if.c **** }else{
- 1230 .loc 1 378 0
- 1231 023c 0120 movs r0, #1
- 1232 023e 5EE7 b .L101
- 1233 .L113:
- 1234 .align 2
- 1235 .L112:
- 1236 0240 00000000 .word rx_midi_msg
- 1237 0244 00000000 .word analyzed_status
- 1238 0248 00000000 .word midi_event
- 1239 024c 00000000 .word .L86
- 1240 .cfi_endproc
- 1241 .LFE53:
- 1243 .section .text.midiGenerateUsbPacket,"ax",%progbits
- 1244 .align 1
- 1245 .global midiGenerateUsbPacket
- 1246 .syntax unified
- 1247 .code 16
- 1248 .thumb_func
- 1249 .fpu softvfp
- 1251 midiGenerateUsbPacket:
- 1252 .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 **** {
- 1253 .loc 1 387 0
- 1254 .cfi_startproc
- 1255 @ args = 0, pretend = 0, frame = 8
- 1256 @ frame_needed = 0, uses_anonymous_args = 0
- 1257 .LVL104:
- 1258 0000 F0B5 push {r4, r5, r6, r7, lr}
- 1259 .LCFI13:
- ARM GAS /tmp/ccjHqQBe.s page 32
-
-
- 1260 .cfi_def_cfa_offset 20
- 1261 .cfi_offset 4, -20
- 1262 .cfi_offset 5, -16
- 1263 .cfi_offset 6, -12
- 1264 .cfi_offset 7, -8
- 1265 .cfi_offset 14, -4
- 1266 0002 83B0 sub sp, sp, #12
- 1267 .LCFI14:
- 1268 .cfi_def_cfa_offset 32
- 1269 0004 0700 movs r7, r0
- 388:Src/usbd_midi_if.c **** uint8_t msg_buf[4] = {0x00,0x00,0x00,0x00};
- 1270 .loc 1 388 0
- 1271 0006 0023 movs r3, #0
- 1272 0008 0193 str r3, [sp, #4]
- 1273 .LVL105:
- 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){
- 1274 .loc 1 391 0
- 1275 000a 0400 movs r4, r0
- 1276 000c 8200 lsls r2, r0, #2
- 1277 000e 504B ldr r3, .L136
- 1278 0010 9B18 adds r3, r3, r2
- 1279 0012 5B78 ldrb r3, [r3, #1]
- 1280 0014 022B cmp r3, #2
- 1281 0016 18D0 beq .L116
- 1282 0018 04D8 bhi .L117
- 1283 001a 012B cmp r3, #1
- 1284 001c 23D1 bne .L115
- 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++){
- 1285 .loc 1 418 0
- ARM GAS /tmp/ccjHqQBe.s page 33
-
-
- 1286 001e 0026 movs r6, #0
- 389:Src/usbd_midi_if.c **** uint32_t cnt_remain=0, cnt_length;
- 1287 .loc 1 389 0
- 1288 0020 0025 movs r5, #0
- 1289 0022 7CE0 b .L118
- 1290 .L117:
- 391:Src/usbd_midi_if.c ****
- 1291 .loc 1 391 0
- 1292 0024 042B cmp r3, #4
- 1293 0026 1ED8 bhi .L115
- 403:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + midi_event[cable_num].length;
- 1294 .loc 1 403 0
- 1295 0028 8200 lsls r2, r0, #2
- 1296 002a 494B ldr r3, .L136
- 1297 002c 9B18 adds r3, r3, r2
- 1298 002e 9B78 ldrb r3, [r3, #2]
- 1299 0030 002B cmp r3, #0
- 1300 0032 1CD0 beq .L120
- 404:Src/usbd_midi_if.c **** }else{
- 1301 .loc 1 404 0
- 1302 0034 0301 lsls r3, r0, #4
- 1303 0036 DBB2 uxtb r3, r3
- 1304 0038 8201 lsls r2, r0, #6
- 1305 003a 1718 adds r7, r2, r0
- 1306 003c 454A ldr r2, .L136+4
- 1307 003e BA5C ldrb r2, [r7, r2]
- 1308 0040 9B18 adds r3, r3, r2
- 1309 0042 01AA add r2, sp, #4
- 1310 0044 1370 strb r3, [r2]
- 1311 .L121:
- 387:Src/usbd_midi_if.c **** uint8_t msg_buf[4] = {0x00,0x00,0x00,0x00};
- 1312 .loc 1 387 0 discriminator 1
- 1313 0046 0021 movs r1, #0
- 1314 0048 27E0 b .L122
- 1315 .L116:
- 395:Src/usbd_midi_if.c ****
- 1316 .loc 1 395 0
- 1317 004a 0301 lsls r3, r0, #4
- 1318 004c DBB2 uxtb r3, r3
- 1319 004e 8201 lsls r2, r0, #6
- 1320 0050 1218 adds r2, r2, r0
- 1321 0052 404F ldr r7, .L136+4
- 1322 0054 BF18 adds r7, r7, r2
- 1323 0056 7A78 ldrb r2, [r7, #1]
- 1324 0058 1209 lsrs r2, r2, #4
- 1325 005a 9B18 adds r3, r3, r2
- 1326 005c 01A8 add r0, sp, #4
- 1327 .LVL106:
- 1328 005e 0370 strb r3, [r0]
- 397:Src/usbd_midi_if.c **** break;
- 1329 .loc 1 397 0
- 1330 0060 0421 movs r1, #4
- 1331 0062 FFF7FEFF bl sendMidiMessage
- 1332 .LVL107:
- 1333 .L115:
- 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){
- ARM GAS /tmp/ccjHqQBe.s page 34
-
-
- 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;
- 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();
- 1334 .loc 1 466 0
- 1335 0066 FFF7FEFF bl USBD_MIDI_SendPacket
- 1336 .LVL108:
- 467:Src/usbd_midi_if.c **** }
- 1337 .loc 1 467 0
- 1338 006a 03B0 add sp, sp, #12
- 1339 @ sp needed
- 1340 006c F0BD pop {r4, r5, r6, r7, pc}
- 1341 .LVL109:
- 1342 .L120:
- 406:Src/usbd_midi_if.c **** }
- ARM GAS /tmp/ccjHqQBe.s page 35
-
-
- 1343 .loc 1 406 0
- 1344 006e 0301 lsls r3, r0, #4
- 1345 0070 DBB2 uxtb r3, r3
- 1346 0072 8201 lsls r2, r0, #6
- 1347 0074 1218 adds r2, r2, r0
- 1348 0076 374F ldr r7, .L136+4
- 1349 0078 BF18 adds r7, r7, r2
- 1350 007a 7A78 ldrb r2, [r7, #1]
- 1351 007c 1209 lsrs r2, r2, #4
- 1352 007e 9B18 adds r3, r3, r2
- 1353 0080 01AA add r2, sp, #4
- 1354 0082 1370 strb r3, [r2]
- 1355 0084 DFE7 b .L121
- 1356 .LVL110:
- 1357 .L123:
- 1358 .LBB5:
- 411:Src/usbd_midi_if.c **** }
- 1359 .loc 1 411 0 discriminator 3
- 1360 0086 481C adds r0, r1, #1
- 1361 0088 A201 lsls r2, r4, #6
- 1362 008a 1219 adds r2, r2, r4
- 1363 008c 314B ldr r3, .L136+4
- 1364 008e 9B18 adds r3, r3, r2
- 1365 0090 5B18 adds r3, r3, r1
- 1366 0092 5A78 ldrb r2, [r3, #1]
- 1367 0094 01AB add r3, sp, #4
- 1368 0096 1A54 strb r2, [r3, r0]
- 1369 .LVL111:
- 410:Src/usbd_midi_if.c **** msg_buf[i+1] = midi_event[cable_num].midi_byte[i];
- 1370 .loc 1 410 0 discriminator 3
- 1371 0098 0100 movs r1, r0
- 1372 .LVL112:
- 1373 .L122:
- 410:Src/usbd_midi_if.c **** msg_buf[i+1] = midi_event[cable_num].midi_byte[i];
- 1374 .loc 1 410 0 is_stmt 0 discriminator 1
- 1375 009a A201 lsls r2, r4, #6
- 1376 009c 1219 adds r2, r2, r4
- 1377 009e 2D4B ldr r3, .L136+4
- 1378 00a0 D35C ldrb r3, [r2, r3]
- 1379 00a2 8B42 cmp r3, r1
- 1380 00a4 EFD8 bhi .L123
- 1381 .LBE5:
- 414:Src/usbd_midi_if.c **** break;
- 1382 .loc 1 414 0 is_stmt 1
- 1383 00a6 0421 movs r1, #4
- 1384 .LVL113:
- 1385 00a8 01A8 add r0, sp, #4
- 1386 00aa FFF7FEFF bl sendMidiMessage
- 1387 .LVL114:
- 415:Src/usbd_midi_if.c ****
- 1388 .loc 1 415 0
- 1389 00ae DAE7 b .L115
- 1390 .LVL115:
- 1391 .L135:
- 421:Src/usbd_midi_if.c **** msg_buf[0] = (cable_num << 4) + 0x4; //SysEx starts or continues
- 1392 .loc 1 421 0
- 1393 00b0 01A8 add r0, sp, #4
- ARM GAS /tmp/ccjHqQBe.s page 36
-
-
- 1394 00b2 C370 strb r3, [r0, #3]
- 422:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
- 1395 .loc 1 422 0
- 1396 00b4 3B01 lsls r3, r7, #4
- 1397 00b6 DBB2 uxtb r3, r3
- 1398 00b8 0433 adds r3, r3, #4
- 1399 00ba 0370 strb r3, [r0]
- 423:Src/usbd_midi_if.c **** }else{
- 1400 .loc 1 423 0
- 1401 00bc 0421 movs r1, #4
- 1402 00be FFF7FEFF bl sendMidiMessage
- 1403 .LVL116:
- 1404 00c2 3FE0 b .L126
- 1405 .L124:
- 431:Src/usbd_midi_if.c **** case 0:
- 1406 .loc 1 431 0
- 1407 00c4 012D cmp r5, #1
- 1408 00c6 1CD0 beq .L127
- 1409 00c8 002D cmp r5, #0
- 1410 00ca 0CD0 beq .L128
- 1411 00cc 022D cmp r5, #2
- 1412 00ce 39D1 bne .L126
- 447:Src/usbd_midi_if.c **** msg_buf[3] = 0xF7;
- 1413 .loc 1 447 0
- 1414 00d0 3B01 lsls r3, r7, #4
- 1415 00d2 DBB2 uxtb r3, r3
- 1416 00d4 0733 adds r3, r3, #7
- 1417 00d6 01A8 add r0, sp, #4
- 1418 00d8 0370 strb r3, [r0]
- 448:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
- 1419 .loc 1 448 0
- 1420 00da F723 movs r3, #247
- 1421 00dc C370 strb r3, [r0, #3]
- 449:Src/usbd_midi_if.c **** break;
- 1422 .loc 1 449 0
- 1423 00de 0421 movs r1, #4
- 1424 00e0 FFF7FEFF bl sendMidiMessage
- 1425 .LVL117:
- 450:Src/usbd_midi_if.c **** default:
- 1426 .loc 1 450 0
- 1427 00e4 2EE0 b .L126
- 1428 .L128:
- 433:Src/usbd_midi_if.c **** msg_buf[1] = 0xF7;
- 1429 .loc 1 433 0
- 1430 00e6 3B01 lsls r3, r7, #4
- 1431 00e8 DBB2 uxtb r3, r3
- 1432 00ea 0533 adds r3, r3, #5
- 1433 00ec 01A8 add r0, sp, #4
- 1434 00ee 0370 strb r3, [r0]
- 434:Src/usbd_midi_if.c **** msg_buf[2] = msg_buf[3] = 0x00;
- 1435 .loc 1 434 0
- 1436 00f0 F723 movs r3, #247
- 1437 00f2 4370 strb r3, [r0, #1]
- 435:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
- 1438 .loc 1 435 0
- 1439 00f4 0023 movs r3, #0
- 1440 00f6 C370 strb r3, [r0, #3]
- ARM GAS /tmp/ccjHqQBe.s page 37
-
-
- 1441 00f8 8370 strb r3, [r0, #2]
- 436:Src/usbd_midi_if.c **** break;
- 1442 .loc 1 436 0
- 1443 00fa 0421 movs r1, #4
- 1444 00fc FFF7FEFF bl sendMidiMessage
- 1445 .LVL118:
- 437:Src/usbd_midi_if.c ****
- 1446 .loc 1 437 0
- 1447 0100 20E0 b .L126
- 1448 .L127:
- 440:Src/usbd_midi_if.c **** msg_buf[2] = 0xF7;
- 1449 .loc 1 440 0
- 1450 0102 3B01 lsls r3, r7, #4
- 1451 0104 DBB2 uxtb r3, r3
- 1452 0106 0633 adds r3, r3, #6
- 1453 0108 01A8 add r0, sp, #4
- 1454 010a 0370 strb r3, [r0]
- 441:Src/usbd_midi_if.c **** msg_buf[3] = 0x00;
- 1455 .loc 1 441 0
- 1456 010c F723 movs r3, #247
- 1457 010e 8370 strb r3, [r0, #2]
- 442:Src/usbd_midi_if.c **** sendMidiMessage(msg_buf,4);
- 1458 .loc 1 442 0
- 1459 0110 0023 movs r3, #0
- 1460 0112 C370 strb r3, [r0, #3]
- 443:Src/usbd_midi_if.c **** break;
- 1461 .loc 1 443 0
- 1462 0114 0421 movs r1, #4
- 1463 0116 FFF7FEFF bl sendMidiMessage
- 1464 .LVL119:
- 444:Src/usbd_midi_if.c ****
- 1465 .loc 1 444 0
- 1466 011a 13E0 b .L126
- 1467 .LVL120:
- 1468 .L130:
- 418:Src/usbd_midi_if.c **** if( 0xF7 !=midi_event[cable_num].midi_byte[cnt_length] ){
- 1469 .loc 1 418 0 discriminator 2
- 1470 011c 0136 adds r6, r6, #1
- 1471 .LVL121:
- 1472 .L118:
- 418:Src/usbd_midi_if.c **** if( 0xF7 !=midi_event[cable_num].midi_byte[cnt_length] ){
- 1473 .loc 1 418 0 is_stmt 0 discriminator 1
- 1474 011e A301 lsls r3, r4, #6
- 1475 0120 1B19 adds r3, r3, r4
- 1476 0122 0C4A ldr r2, .L136+4
- 1477 0124 9B5C ldrb r3, [r3, r2]
- 1478 0126 B342 cmp r3, r6
- 1479 0128 9DD9 bls .L115
- 419:Src/usbd_midi_if.c **** if(2 == cnt_remain){
- 1480 .loc 1 419 0 is_stmt 1
- 1481 012a A201 lsls r2, r4, #6
- 1482 012c 1219 adds r2, r2, r4
- 1483 012e 094B ldr r3, .L136+4
- 1484 0130 9B18 adds r3, r3, r2
- 1485 0132 9B19 adds r3, r3, r6
- 1486 0134 5B78 ldrb r3, [r3, #1]
- 1487 0136 F72B cmp r3, #247
- ARM GAS /tmp/ccjHqQBe.s page 38
-
-
- 1488 0138 C4D0 beq .L124
- 420:Src/usbd_midi_if.c **** msg_buf[3] = midi_event[cable_num].midi_byte[cnt_length];
- 1489 .loc 1 420 0
- 1490 013a 022D cmp r5, #2
- 1491 013c B8D0 beq .L135
- 425:Src/usbd_midi_if.c **** }
- 1492 .loc 1 425 0
- 1493 013e 6A1C adds r2, r5, #1
- 1494 0140 01A9 add r1, sp, #4
- 1495 0142 8B54 strb r3, [r1, r2]
- 1496 .L126:
- 456:Src/usbd_midi_if.c **** if(cnt_remain >=3){
- 1497 .loc 1 456 0
- 1498 0144 0135 adds r5, r5, #1
- 1499 .LVL122:
- 457:Src/usbd_midi_if.c **** cnt_remain = 0;
- 1500 .loc 1 457 0
- 1501 0146 022D cmp r5, #2
- 1502 0148 E8D9 bls .L130
- 458:Src/usbd_midi_if.c **** }
- 1503 .loc 1 458 0
- 1504 014a 0025 movs r5, #0
- 1505 .LVL123:
- 1506 014c E6E7 b .L130
- 1507 .L137:
- 1508 014e C046 .align 2
- 1509 .L136:
- 1510 0150 00000000 .word analyzed_status
- 1511 0154 00000000 .word midi_event
- 1512 .cfi_endproc
- 1513 .LFE54:
- 1515 .section .text.midiProcess,"ax",%progbits
- 1516 .align 1
- 1517 .global midiProcess
- 1518 .syntax unified
- 1519 .code 16
- 1520 .thumb_func
- 1521 .fpu softvfp
- 1523 midiProcess:
- 1524 .LFB55:
- 468:Src/usbd_midi_if.c ****
- 469:Src/usbd_midi_if.c **** void midiProcess(){
- 1525 .loc 1 469 0
- 1526 .cfi_startproc
- 1527 @ args = 0, pretend = 0, frame = 0
- 1528 @ frame_needed = 0, uses_anonymous_args = 0
- 1529 0000 70B5 push {r4, r5, r6, lr}
- 1530 .LCFI15:
- 1531 .cfi_def_cfa_offset 16
- 1532 .cfi_offset 4, -16
- 1533 .cfi_offset 5, -12
- 1534 .cfi_offset 6, -8
- 1535 .cfi_offset 14, -4
- 1536 .LVL124:
- 1537 .LBB6:
- 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++){
- ARM GAS /tmp/ccjHqQBe.s page 39
-
-
- 1538 .loc 1 471 0
- 1539 0002 0025 movs r5, #0
- 1540 .LVL125:
- 1541 .L139:
- 1542 .loc 1 471 0 is_stmt 0 discriminator 1
- 1543 0004 002D cmp r5, #0
- 1544 0006 00D0 beq .L140
- 1545 .LBE6:
- 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 **** }
- 1546 .loc 1 479 0 is_stmt 1
- 1547 @ sp needed
- 1548 .LVL126:
- 1549 0008 70BD pop {r4, r5, r6, pc}
- 1550 .LVL127:
- 1551 .L140:
- 1552 .LBB7:
- 472:Src/usbd_midi_if.c **** while( FUNC_SUCCESS == midiGetFromJackRx(cable_num) ){
- 1553 .loc 1 472 0
- 1554 000a ECB2 uxtb r4, r5
- 1555 000c 2000 movs r0, r4
- 1556 000e FFF7FEFF bl midiGetFromJackRx
- 1557 .LVL128:
- 1558 0012 0128 cmp r0, #1
- 1559 0014 08D1 bne .L143
- 473:Src/usbd_midi_if.c **** //Analyze MIDI Message.
- 1560 .loc 1 473 0
- 1561 0016 2000 movs r0, r4
- 1562 0018 FFF7FEFF bl midiEventIsGenerated
- 1563 .LVL129:
- 1564 001c 0028 cmp r0, #0
- 1565 001e F4D0 beq .L140
- 475:Src/usbd_midi_if.c **** }
- 1566 .loc 1 475 0
- 1567 0020 2000 movs r0, r4
- 1568 0022 FFF7FEFF bl midiGenerateUsbPacket
- 1569 .LVL130:
- 1570 0026 F0E7 b .L140
- 1571 .L143:
- 471:Src/usbd_midi_if.c **** while( FUNC_SUCCESS == midiGetFromJackRx(cable_num) ){
- 1572 .loc 1 471 0 discriminator 2
- 1573 0028 0135 adds r5, r5, #1
- 1574 .LVL131:
- 1575 002a EBE7 b .L139
- 1576 .LBE7:
- 1577 .cfi_endproc
- 1578 .LFE55:
- 1580 .global USBD_Interface_fops_FS
- 1581 .comm rx_midi_msg,1,4
- 1582 .comm midi_event,65,4
- 1583 .comm analyzed_status,4,4
- ARM GAS /tmp/ccjHqQBe.s page 40
-
-
- 1584 .comm rbuf_jack_rx,12,4
- 1585 .comm rbuf_usb_rx,12,4
- 1586 .section .data.USBD_Interface_fops_FS,"aw",%progbits
- 1587 .align 2
- 1590 USBD_Interface_fops_FS:
- 1591 0000 00000000 .word MIDI_DataRx
- 1592 0004 00000000 .word MIDI_DataTx
- 1593 .text
- 1594 .Letext0:
- 1595 .file 2 "/usr/include/newlib/machine/_default_types.h"
- 1596 .file 3 "/usr/include/newlib/sys/lock.h"
- 1597 .file 4 "/usr/include/newlib/sys/_types.h"
- 1598 .file 5 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
- 1599 .file 6 "/usr/include/newlib/sys/reent.h"
- 1600 .file 7 "/usr/include/newlib/sys/_stdint.h"
- 1601 .file 8 "/usr/include/newlib/stdlib.h"
- 1602 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
- 1603 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
- 1604 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
- 1605 .file 12 "Middlewares/USBMIDI/Inc/usbd_midi.h"
- 1606 .file 13 "Inc/usbd_desc.h"
- 1607 .file 14 "Inc/curelib_inc/curemisc.h"
- 1608 .file 15 "Inc/curelib_inc/curebuffer.h"
- 1609 .file 16 "Inc/usbd_midi_if.h"
- ARM GAS /tmp/ccjHqQBe.s page 41
-
-
-DEFINED SYMBOLS
- *ABS*:0000000000000000 usbd_midi_if.c
- /tmp/ccjHqQBe.s:16 .text.MIDI_DataTx:0000000000000000 $t
- /tmp/ccjHqQBe.s:22 .text.MIDI_DataTx:0000000000000000 MIDI_DataTx
- /tmp/ccjHqQBe.s:76 .text.MIDI_DataTx:000000000000002c $d
- /tmp/ccjHqQBe.s:82 .text.MIDI_DataRx:0000000000000000 $t
- /tmp/ccjHqQBe.s:88 .text.MIDI_DataRx:0000000000000000 MIDI_DataRx
- /tmp/ccjHqQBe.s:225 .rodata.MIDI_DataRx:0000000000000000 $d
- /tmp/ccjHqQBe.s:247 .text.MIDI_DataRx:0000000000000080 $d
- *COM*:000000000000000c rbuf_usb_rx
- /tmp/ccjHqQBe.s:255 .text.midiInit:0000000000000000 $t
- /tmp/ccjHqQBe.s:262 .text.midiInit:0000000000000000 midiInit
- /tmp/ccjHqQBe.s:390 .text.midiInit:0000000000000088 $d
- *COM*:000000000000000c rbuf_jack_rx
- *COM*:0000000000000001 rx_midi_msg
- *COM*:0000000000000004 analyzed_status
- *COM*:0000000000000041 midi_event
- /tmp/ccjHqQBe.s:399 .text.midiGetFromUsbRx:0000000000000000 $t
- /tmp/ccjHqQBe.s:406 .text.midiGetFromUsbRx:0000000000000000 midiGetFromUsbRx
- /tmp/ccjHqQBe.s:442 .text.midiGetFromUsbRx:000000000000001c $d
- /tmp/ccjHqQBe.s:447 .text.midiGetFromJackRx:0000000000000000 $t
- /tmp/ccjHqQBe.s:454 .text.midiGetFromJackRx:0000000000000000 midiGetFromJackRx
- /tmp/ccjHqQBe.s:492 .text.midiGetFromJackRx:0000000000000020 $d
- /tmp/ccjHqQBe.s:498 .text.midiSetFromJackRx:0000000000000000 $t
- /tmp/ccjHqQBe.s:505 .text.midiSetFromJackRx:0000000000000000 midiSetFromJackRx
- /tmp/ccjHqQBe.s:541 .text.midiSetFromJackRx:000000000000001c $d
- /tmp/ccjHqQBe.s:546 .text.isUsbRxBufEmpty:0000000000000000 $t
- /tmp/ccjHqQBe.s:553 .text.isUsbRxBufEmpty:0000000000000000 isUsbRxBufEmpty
- /tmp/ccjHqQBe.s:589 .text.isUsbRxBufEmpty:000000000000001c $d
- /tmp/ccjHqQBe.s:594 .text.isJackRxBufEmpty:0000000000000000 $t
- /tmp/ccjHqQBe.s:601 .text.isJackRxBufEmpty:0000000000000000 isJackRxBufEmpty
- /tmp/ccjHqQBe.s:637 .text.isJackRxBufEmpty:000000000000001c $d
- /tmp/ccjHqQBe.s:642 .text.isRxBufEmpty:0000000000000000 $t
- /tmp/ccjHqQBe.s:649 .text.isRxBufEmpty:0000000000000000 isRxBufEmpty
- /tmp/ccjHqQBe.s:724 .text.isRxBufEmpty:0000000000000048 $d
- /tmp/ccjHqQBe.s:730 .text.sendMidiMessage:0000000000000000 $t
- /tmp/ccjHqQBe.s:737 .text.sendMidiMessage:0000000000000000 sendMidiMessage
- /tmp/ccjHqQBe.s:768 .text.midiEventIsGenerated:0000000000000000 $t
- /tmp/ccjHqQBe.s:775 .text.midiEventIsGenerated:0000000000000000 midiEventIsGenerated
- /tmp/ccjHqQBe.s:880 .rodata.midiEventIsGenerated:0000000000000000 $d
- /tmp/ccjHqQBe.s:1236 .text.midiEventIsGenerated:0000000000000240 $d
- /tmp/ccjHqQBe.s:1244 .text.midiGenerateUsbPacket:0000000000000000 $t
- /tmp/ccjHqQBe.s:1251 .text.midiGenerateUsbPacket:0000000000000000 midiGenerateUsbPacket
- /tmp/ccjHqQBe.s:1510 .text.midiGenerateUsbPacket:0000000000000150 $d
- /tmp/ccjHqQBe.s:1516 .text.midiProcess:0000000000000000 $t
- /tmp/ccjHqQBe.s:1523 .text.midiProcess:0000000000000000 midiProcess
- /tmp/ccjHqQBe.s:1590 .data.USBD_Interface_fops_FS:0000000000000000 USBD_Interface_fops_FS
- /tmp/ccjHqQBe.s:1587 .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/ccjHqQBe.s page 42
-
-