summaryrefslogtreecommitdiff
path: root/fw/midi-dials/build/curebuffer.lst
diff options
context:
space:
mode:
Diffstat (limited to 'fw/midi-dials/build/curebuffer.lst')
-rw-r--r--fw/midi-dials/build/curebuffer.lst1319
1 files changed, 1319 insertions, 0 deletions
diff --git a/fw/midi-dials/build/curebuffer.lst b/fw/midi-dials/build/curebuffer.lst
new file mode 100644
index 0000000..a18b01c
--- /dev/null
+++ b/fw/midi-dials/build/curebuffer.lst
@@ -0,0 +1,1319 @@
+ARM GAS /tmp/ccYZCOLV.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 "curebuffer.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.cureRingBufferU8Free,"ax",%progbits
+ 16 .align 1
+ 17 .global cureRingBufferU8Free
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 cureRingBufferU8Free:
+ 24 .LFB1:
+ 25 .file 1 "Src/curelib_src/curebuffer.c"
+ 1:Src/curelib_src/curebuffer.c **** /*
+ 2:Src/curelib_src/curebuffer.c **** *******************************************************************************
+ 3:Src/curelib_src/curebuffer.c **** * [curebuffer.c]
+ 4:Src/curelib_src/curebuffer.c **** * This module is for FIFO buffer.
+ 5:Src/curelib_src/curebuffer.c **** *
+ 6:Src/curelib_src/curebuffer.c **** * This program is under the terms of the GPLv3.
+ 7:Src/curelib_src/curebuffer.c **** * https://www.gnu.org/licenses/gpl-3.0.html
+ 8:Src/curelib_src/curebuffer.c **** *
+ 9:Src/curelib_src/curebuffer.c **** * Copyright(c) 2017 Keshikan (www.keshikan.net)
+ 10:Src/curelib_src/curebuffer.c **** *******************************************************************************
+ 11:Src/curelib_src/curebuffer.c **** */
+ 12:Src/curelib_src/curebuffer.c ****
+ 13:Src/curelib_src/curebuffer.c **** #include "curebuffer.h"
+ 14:Src/curelib_src/curebuffer.c **** #include <stdint.h>
+ 15:Src/curelib_src/curebuffer.c **** #include <stdlib.h>
+ 16:Src/curelib_src/curebuffer.c ****
+ 17:Src/curelib_src/curebuffer.c ****
+ 18:Src/curelib_src/curebuffer.c **** /////////////////////////////
+ 19:Src/curelib_src/curebuffer.c **** //methods for uint8_t FIFO.
+ 20:Src/curelib_src/curebuffer.c **** /////////////////////////////
+ 21:Src/curelib_src/curebuffer.c ****
+ 22:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU8Init(RingBufferU8 *rbuf, uint16_t buflen)
+ 23:Src/curelib_src/curebuffer.c **** {
+ 24:Src/curelib_src/curebuffer.c ****
+ 25:Src/curelib_src/curebuffer.c **** uint32_t i;
+ 26:Src/curelib_src/curebuffer.c ****
+ 27:Src/curelib_src/curebuffer.c **** cureRingBufferU8Free(rbuf);
+ 28:Src/curelib_src/curebuffer.c ****
+ 29:Src/curelib_src/curebuffer.c **** rbuf->buffer = (uint8_t *)malloc( buflen * sizeof(uint8_t) );
+ 30:Src/curelib_src/curebuffer.c **** if(NULL == rbuf->buffer){
+ 31:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 32:Src/curelib_src/curebuffer.c **** }
+ 33:Src/curelib_src/curebuffer.c **** for(i=0; i<buflen; i++){
+ ARM GAS /tmp/ccYZCOLV.s page 2
+
+
+ 34:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 35:Src/curelib_src/curebuffer.c **** }
+ 36:Src/curelib_src/curebuffer.c ****
+ 37:Src/curelib_src/curebuffer.c **** rbuf->length = buflen;
+ 38:Src/curelib_src/curebuffer.c ****
+ 39:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 40:Src/curelib_src/curebuffer.c **** }
+ 41:Src/curelib_src/curebuffer.c ****
+ 42:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU8Free(RingBufferU8 *rbuf)
+ 43:Src/curelib_src/curebuffer.c **** {
+ 26 .loc 1 43 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 .LVL0:
+ 31 0000 10B5 push {r4, lr}
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 8
+ 34 .cfi_offset 4, -8
+ 35 .cfi_offset 14, -4
+ 36 0002 0400 movs r4, r0
+ 44:Src/curelib_src/curebuffer.c **** if(NULL != rbuf->buffer){
+ 37 .loc 1 44 0
+ 38 0004 8068 ldr r0, [r0, #8]
+ 39 .LVL1:
+ 40 0006 0028 cmp r0, #0
+ 41 0008 01D0 beq .L2
+ 45:Src/curelib_src/curebuffer.c **** free(rbuf->buffer);
+ 42 .loc 1 45 0
+ 43 000a FFF7FEFF bl free
+ 44 .LVL2:
+ 45 .L2:
+ 46:Src/curelib_src/curebuffer.c **** }
+ 47:Src/curelib_src/curebuffer.c ****
+ 48:Src/curelib_src/curebuffer.c **** rbuf->idx_front = rbuf->idx_rear = 0;
+ 46 .loc 1 48 0
+ 47 000e 0023 movs r3, #0
+ 48 0010 6380 strh r3, [r4, #2]
+ 49 0012 2380 strh r3, [r4]
+ 49:Src/curelib_src/curebuffer.c **** rbuf->length = 0;
+ 50 .loc 1 49 0
+ 51 0014 A380 strh r3, [r4, #4]
+ 50:Src/curelib_src/curebuffer.c ****
+ 51:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 52:Src/curelib_src/curebuffer.c **** }
+ 52 .loc 1 52 0
+ 53 0016 0120 movs r0, #1
+ 54 @ sp needed
+ 55 .LVL3:
+ 56 0018 10BD pop {r4, pc}
+ 57 .cfi_endproc
+ 58 .LFE1:
+ 60 .section .text.cureRingBufferU8Init,"ax",%progbits
+ 61 .align 1
+ 62 .global cureRingBufferU8Init
+ 63 .syntax unified
+ 64 .code 16
+ ARM GAS /tmp/ccYZCOLV.s page 3
+
+
+ 65 .thumb_func
+ 66 .fpu softvfp
+ 68 cureRingBufferU8Init:
+ 69 .LFB0:
+ 23:Src/curelib_src/curebuffer.c ****
+ 70 .loc 1 23 0
+ 71 .cfi_startproc
+ 72 @ args = 0, pretend = 0, frame = 0
+ 73 @ frame_needed = 0, uses_anonymous_args = 0
+ 74 .LVL4:
+ 75 0000 70B5 push {r4, r5, r6, lr}
+ 76 .LCFI1:
+ 77 .cfi_def_cfa_offset 16
+ 78 .cfi_offset 4, -16
+ 79 .cfi_offset 5, -12
+ 80 .cfi_offset 6, -8
+ 81 .cfi_offset 14, -4
+ 82 0002 0500 movs r5, r0
+ 83 0004 0C00 movs r4, r1
+ 27:Src/curelib_src/curebuffer.c ****
+ 84 .loc 1 27 0
+ 85 0006 FFF7FEFF bl cureRingBufferU8Free
+ 86 .LVL5:
+ 29:Src/curelib_src/curebuffer.c **** if(NULL == rbuf->buffer){
+ 87 .loc 1 29 0
+ 88 000a 2600 movs r6, r4
+ 89 000c 2000 movs r0, r4
+ 90 000e FFF7FEFF bl malloc
+ 91 .LVL6:
+ 92 0012 A860 str r0, [r5, #8]
+ 30:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 93 .loc 1 30 0
+ 94 0014 0028 cmp r0, #0
+ 95 0016 0BD0 beq .L7
+ 33:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 96 .loc 1 33 0
+ 97 0018 0023 movs r3, #0
+ 98 001a 04E0 b .L5
+ 99 .LVL7:
+ 100 .L6:
+ 34:Src/curelib_src/curebuffer.c **** }
+ 101 .loc 1 34 0 discriminator 3
+ 102 001c AA68 ldr r2, [r5, #8]
+ 103 001e D218 adds r2, r2, r3
+ 104 0020 0021 movs r1, #0
+ 105 0022 1170 strb r1, [r2]
+ 33:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 106 .loc 1 33 0 discriminator 3
+ 107 0024 0133 adds r3, r3, #1
+ 108 .LVL8:
+ 109 .L5:
+ 33:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 110 .loc 1 33 0 is_stmt 0 discriminator 1
+ 111 0026 9E42 cmp r6, r3
+ 112 0028 F8D8 bhi .L6
+ 37:Src/curelib_src/curebuffer.c ****
+ 113 .loc 1 37 0 is_stmt 1
+ ARM GAS /tmp/ccYZCOLV.s page 4
+
+
+ 114 002a AC80 strh r4, [r5, #4]
+ 39:Src/curelib_src/curebuffer.c **** }
+ 115 .loc 1 39 0
+ 116 002c 0120 movs r0, #1
+ 117 .LVL9:
+ 118 .L4:
+ 40:Src/curelib_src/curebuffer.c ****
+ 119 .loc 1 40 0
+ 120 @ sp needed
+ 121 .LVL10:
+ 122 002e 70BD pop {r4, r5, r6, pc}
+ 123 .LVL11:
+ 124 .L7:
+ 31:Src/curelib_src/curebuffer.c **** }
+ 125 .loc 1 31 0
+ 126 0030 0020 movs r0, #0
+ 127 0032 FCE7 b .L4
+ 128 .cfi_endproc
+ 129 .LFE0:
+ 131 .section .text.cureRingBufferU8Enqueue,"ax",%progbits
+ 132 .align 1
+ 133 .global cureRingBufferU8Enqueue
+ 134 .syntax unified
+ 135 .code 16
+ 136 .thumb_func
+ 137 .fpu softvfp
+ 139 cureRingBufferU8Enqueue:
+ 140 .LFB2:
+ 53:Src/curelib_src/curebuffer.c ****
+ 54:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU8Enqueue(RingBufferU8 *rbuf, uint8_t *inputc)
+ 55:Src/curelib_src/curebuffer.c **** {
+ 141 .loc 1 55 0
+ 142 .cfi_startproc
+ 143 @ args = 0, pretend = 0, frame = 0
+ 144 @ frame_needed = 0, uses_anonymous_args = 0
+ 145 .LVL12:
+ 146 0000 10B5 push {r4, lr}
+ 147 .LCFI2:
+ 148 .cfi_def_cfa_offset 8
+ 149 .cfi_offset 4, -8
+ 150 .cfi_offset 14, -4
+ 56:Src/curelib_src/curebuffer.c **** if( ((rbuf->idx_front +1)&(rbuf->length -1)) == rbuf->idx_rear ){//buffer overrun error occurs.
+ 151 .loc 1 56 0
+ 152 0002 0288 ldrh r2, [r0]
+ 153 0004 541C adds r4, r2, #1
+ 154 0006 8388 ldrh r3, [r0, #4]
+ 155 0008 013B subs r3, r3, #1
+ 156 000a 2340 ands r3, r4
+ 157 000c 4488 ldrh r4, [r0, #2]
+ 158 000e A342 cmp r3, r4
+ 159 0010 0CD0 beq .L10
+ 57:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 58:Src/curelib_src/curebuffer.c **** }else{
+ 59:Src/curelib_src/curebuffer.c ****
+ 60:Src/curelib_src/curebuffer.c **** rbuf->buffer[rbuf->idx_front]= *inputc;
+ 160 .loc 1 60 0
+ 161 0012 0B78 ldrb r3, [r1]
+ ARM GAS /tmp/ccYZCOLV.s page 5
+
+
+ 162 0014 8168 ldr r1, [r0, #8]
+ 163 .LVL13:
+ 164 0016 8B54 strb r3, [r1, r2]
+ 61:Src/curelib_src/curebuffer.c **** rbuf->idx_front++;
+ 165 .loc 1 61 0
+ 166 0018 0388 ldrh r3, [r0]
+ 167 001a 0133 adds r3, r3, #1
+ 168 001c 9BB2 uxth r3, r3
+ 62:Src/curelib_src/curebuffer.c **** rbuf->idx_front &= (rbuf->length -1);
+ 169 .loc 1 62 0
+ 170 001e 8288 ldrh r2, [r0, #4]
+ 171 0020 013A subs r2, r2, #1
+ 172 0022 12B2 sxth r2, r2
+ 173 0024 1340 ands r3, r2
+ 174 0026 0380 strh r3, [r0]
+ 63:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 175 .loc 1 63 0
+ 176 0028 0120 movs r0, #1
+ 177 .LVL14:
+ 178 .L9:
+ 64:Src/curelib_src/curebuffer.c **** }
+ 65:Src/curelib_src/curebuffer.c **** }
+ 179 .loc 1 65 0
+ 180 @ sp needed
+ 181 002a 10BD pop {r4, pc}
+ 182 .LVL15:
+ 183 .L10:
+ 57:Src/curelib_src/curebuffer.c **** }else{
+ 184 .loc 1 57 0
+ 185 002c 0020 movs r0, #0
+ 186 .LVL16:
+ 187 002e FCE7 b .L9
+ 188 .cfi_endproc
+ 189 .LFE2:
+ 191 .section .text.cureRingBufferU8Dequeue,"ax",%progbits
+ 192 .align 1
+ 193 .global cureRingBufferU8Dequeue
+ 194 .syntax unified
+ 195 .code 16
+ 196 .thumb_func
+ 197 .fpu softvfp
+ 199 cureRingBufferU8Dequeue:
+ 200 .LFB3:
+ 66:Src/curelib_src/curebuffer.c ****
+ 67:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU8Dequeue(RingBufferU8 *rbuf, uint8_t *ret)
+ 68:Src/curelib_src/curebuffer.c **** {
+ 201 .loc 1 68 0
+ 202 .cfi_startproc
+ 203 @ args = 0, pretend = 0, frame = 0
+ 204 @ frame_needed = 0, uses_anonymous_args = 0
+ 205 @ link register save eliminated.
+ 206 .LVL17:
+ 69:Src/curelib_src/curebuffer.c **** if(rbuf->idx_front == rbuf->idx_rear){//if buffer underrun error occurs.
+ 207 .loc 1 69 0
+ 208 0000 0288 ldrh r2, [r0]
+ 209 0002 4388 ldrh r3, [r0, #2]
+ 210 0004 9A42 cmp r2, r3
+ ARM GAS /tmp/ccYZCOLV.s page 6
+
+
+ 211 0006 0CD0 beq .L13
+ 70:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 71:Src/curelib_src/curebuffer.c **** }else{
+ 72:Src/curelib_src/curebuffer.c ****
+ 73:Src/curelib_src/curebuffer.c **** *ret = (rbuf->buffer[rbuf->idx_rear]);
+ 212 .loc 1 73 0
+ 213 0008 8268 ldr r2, [r0, #8]
+ 214 000a D35C ldrb r3, [r2, r3]
+ 215 000c 0B70 strb r3, [r1]
+ 74:Src/curelib_src/curebuffer.c **** rbuf->idx_rear++;
+ 216 .loc 1 74 0
+ 217 000e 4388 ldrh r3, [r0, #2]
+ 218 0010 0133 adds r3, r3, #1
+ 219 0012 9BB2 uxth r3, r3
+ 75:Src/curelib_src/curebuffer.c **** rbuf->idx_rear &= (rbuf->length -1);
+ 220 .loc 1 75 0
+ 221 0014 8288 ldrh r2, [r0, #4]
+ 222 0016 013A subs r2, r2, #1
+ 223 0018 12B2 sxth r2, r2
+ 224 001a 1340 ands r3, r2
+ 225 001c 4380 strh r3, [r0, #2]
+ 76:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 226 .loc 1 76 0
+ 227 001e 0120 movs r0, #1
+ 228 .LVL18:
+ 229 .L12:
+ 77:Src/curelib_src/curebuffer.c **** }
+ 78:Src/curelib_src/curebuffer.c **** }
+ 230 .loc 1 78 0
+ 231 @ sp needed
+ 232 0020 7047 bx lr
+ 233 .LVL19:
+ 234 .L13:
+ 70:Src/curelib_src/curebuffer.c **** }else{
+ 235 .loc 1 70 0
+ 236 0022 0020 movs r0, #0
+ 237 .LVL20:
+ 238 0024 FCE7 b .L12
+ 239 .cfi_endproc
+ 240 .LFE3:
+ 242 .section .text._cureRingBufferU8GetUsedSize,"ax",%progbits
+ 243 .align 1
+ 244 .global _cureRingBufferU8GetUsedSize
+ 245 .syntax unified
+ 246 .code 16
+ 247 .thumb_func
+ 248 .fpu softvfp
+ 250 _cureRingBufferU8GetUsedSize:
+ 251 .LFB4:
+ 79:Src/curelib_src/curebuffer.c ****
+ 80:Src/curelib_src/curebuffer.c **** //debug
+ 81:Src/curelib_src/curebuffer.c **** uint16_t _cureRingBufferU8GetUsedSize(RingBufferU8 *rbuf)
+ 82:Src/curelib_src/curebuffer.c **** {
+ 252 .loc 1 82 0
+ 253 .cfi_startproc
+ 254 @ args = 0, pretend = 0, frame = 0
+ 255 @ frame_needed = 0, uses_anonymous_args = 0
+ ARM GAS /tmp/ccYZCOLV.s page 7
+
+
+ 256 @ link register save eliminated.
+ 257 .LVL21:
+ 83:Src/curelib_src/curebuffer.c **** if(rbuf->idx_front >= rbuf->idx_rear){
+ 258 .loc 1 83 0
+ 259 0000 0388 ldrh r3, [r0]
+ 260 0002 4288 ldrh r2, [r0, #2]
+ 261 0004 9342 cmp r3, r2
+ 262 0006 05D2 bcs .L17
+ 84:Src/curelib_src/curebuffer.c **** return rbuf->idx_front - rbuf->idx_rear;
+ 85:Src/curelib_src/curebuffer.c **** }else{
+ 86:Src/curelib_src/curebuffer.c **** return rbuf->idx_front + rbuf->length - rbuf->idx_rear;
+ 263 .loc 1 86 0
+ 264 0008 8088 ldrh r0, [r0, #4]
+ 265 .LVL22:
+ 266 000a 1818 adds r0, r3, r0
+ 267 000c 80B2 uxth r0, r0
+ 268 000e 801A subs r0, r0, r2
+ 269 0010 80B2 uxth r0, r0
+ 270 .L16:
+ 87:Src/curelib_src/curebuffer.c **** }
+ 88:Src/curelib_src/curebuffer.c ****
+ 89:Src/curelib_src/curebuffer.c **** }
+ 271 .loc 1 89 0
+ 272 @ sp needed
+ 273 0012 7047 bx lr
+ 274 .LVL23:
+ 275 .L17:
+ 84:Src/curelib_src/curebuffer.c **** return rbuf->idx_front - rbuf->idx_rear;
+ 276 .loc 1 84 0
+ 277 0014 981A subs r0, r3, r2
+ 278 .LVL24:
+ 279 0016 80B2 uxth r0, r0
+ 280 0018 FBE7 b .L16
+ 281 .cfi_endproc
+ 282 .LFE4:
+ 284 .section .text.cureRingBuffer16Free,"ax",%progbits
+ 285 .align 1
+ 286 .global cureRingBuffer16Free
+ 287 .syntax unified
+ 288 .code 16
+ 289 .thumb_func
+ 290 .fpu softvfp
+ 292 cureRingBuffer16Free:
+ 293 .LFB6:
+ 90:Src/curelib_src/curebuffer.c ****
+ 91:Src/curelib_src/curebuffer.c **** /////////////////////////////
+ 92:Src/curelib_src/curebuffer.c **** //methods for int16_t FIFO.
+ 93:Src/curelib_src/curebuffer.c **** /////////////////////////////
+ 94:Src/curelib_src/curebuffer.c ****
+ 95:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBuffer16Init(RingBuffer16 *rbuf, uint16_t buflen)
+ 96:Src/curelib_src/curebuffer.c **** {
+ 97:Src/curelib_src/curebuffer.c ****
+ 98:Src/curelib_src/curebuffer.c **** uint32_t i;
+ 99:Src/curelib_src/curebuffer.c ****
+ 100:Src/curelib_src/curebuffer.c **** cureRingBuffer16Free(rbuf);
+ 101:Src/curelib_src/curebuffer.c ****
+ 102:Src/curelib_src/curebuffer.c **** rbuf->buffer = (int16_t *)malloc( buflen * sizeof(int16_t) );
+ ARM GAS /tmp/ccYZCOLV.s page 8
+
+
+ 103:Src/curelib_src/curebuffer.c **** if(NULL == rbuf->buffer){
+ 104:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 105:Src/curelib_src/curebuffer.c **** }
+ 106:Src/curelib_src/curebuffer.c **** for(i=0; i<buflen; i++){
+ 107:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 108:Src/curelib_src/curebuffer.c **** }
+ 109:Src/curelib_src/curebuffer.c **** rbuf->length = buflen;
+ 110:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 111:Src/curelib_src/curebuffer.c **** }
+ 112:Src/curelib_src/curebuffer.c ****
+ 113:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBuffer16Free(RingBuffer16 *rbuf)
+ 114:Src/curelib_src/curebuffer.c **** {
+ 294 .loc 1 114 0
+ 295 .cfi_startproc
+ 296 @ args = 0, pretend = 0, frame = 0
+ 297 @ frame_needed = 0, uses_anonymous_args = 0
+ 298 .LVL25:
+ 299 0000 10B5 push {r4, lr}
+ 300 .LCFI3:
+ 301 .cfi_def_cfa_offset 8
+ 302 .cfi_offset 4, -8
+ 303 .cfi_offset 14, -4
+ 304 0002 0400 movs r4, r0
+ 115:Src/curelib_src/curebuffer.c **** if(NULL != rbuf->buffer){
+ 305 .loc 1 115 0
+ 306 0004 8068 ldr r0, [r0, #8]
+ 307 .LVL26:
+ 308 0006 0028 cmp r0, #0
+ 309 0008 01D0 beq .L19
+ 116:Src/curelib_src/curebuffer.c **** free(rbuf->buffer);
+ 310 .loc 1 116 0
+ 311 000a FFF7FEFF bl free
+ 312 .LVL27:
+ 313 .L19:
+ 117:Src/curelib_src/curebuffer.c **** }
+ 118:Src/curelib_src/curebuffer.c ****
+ 119:Src/curelib_src/curebuffer.c **** rbuf->idx_front = rbuf->idx_rear = 0;
+ 314 .loc 1 119 0
+ 315 000e 0023 movs r3, #0
+ 316 0010 6380 strh r3, [r4, #2]
+ 317 0012 2380 strh r3, [r4]
+ 120:Src/curelib_src/curebuffer.c **** rbuf->length = 0;
+ 318 .loc 1 120 0
+ 319 0014 A380 strh r3, [r4, #4]
+ 121:Src/curelib_src/curebuffer.c ****
+ 122:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 123:Src/curelib_src/curebuffer.c **** }
+ 320 .loc 1 123 0
+ 321 0016 0120 movs r0, #1
+ 322 @ sp needed
+ 323 .LVL28:
+ 324 0018 10BD pop {r4, pc}
+ 325 .cfi_endproc
+ 326 .LFE6:
+ 328 .section .text.cureRingBuffer16Init,"ax",%progbits
+ 329 .align 1
+ 330 .global cureRingBuffer16Init
+ ARM GAS /tmp/ccYZCOLV.s page 9
+
+
+ 331 .syntax unified
+ 332 .code 16
+ 333 .thumb_func
+ 334 .fpu softvfp
+ 336 cureRingBuffer16Init:
+ 337 .LFB5:
+ 96:Src/curelib_src/curebuffer.c ****
+ 338 .loc 1 96 0
+ 339 .cfi_startproc
+ 340 @ args = 0, pretend = 0, frame = 0
+ 341 @ frame_needed = 0, uses_anonymous_args = 0
+ 342 .LVL29:
+ 343 0000 70B5 push {r4, r5, r6, lr}
+ 344 .LCFI4:
+ 345 .cfi_def_cfa_offset 16
+ 346 .cfi_offset 4, -16
+ 347 .cfi_offset 5, -12
+ 348 .cfi_offset 6, -8
+ 349 .cfi_offset 14, -4
+ 350 0002 0400 movs r4, r0
+ 351 0004 0E00 movs r6, r1
+ 100:Src/curelib_src/curebuffer.c ****
+ 352 .loc 1 100 0
+ 353 0006 FFF7FEFF bl cureRingBuffer16Free
+ 354 .LVL30:
+ 102:Src/curelib_src/curebuffer.c **** if(NULL == rbuf->buffer){
+ 355 .loc 1 102 0
+ 356 000a 3500 movs r5, r6
+ 357 000c 7000 lsls r0, r6, #1
+ 358 000e FFF7FEFF bl malloc
+ 359 .LVL31:
+ 360 0012 A060 str r0, [r4, #8]
+ 103:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 361 .loc 1 103 0
+ 362 0014 0028 cmp r0, #0
+ 363 0016 0DD0 beq .L24
+ 106:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 364 .loc 1 106 0
+ 365 0018 0023 movs r3, #0
+ 366 001a 06E0 b .L22
+ 367 .LVL32:
+ 368 .L23:
+ 107:Src/curelib_src/curebuffer.c **** }
+ 369 .loc 1 107 0 discriminator 3
+ 370 001c 5A00 lsls r2, r3, #1
+ 371 001e A168 ldr r1, [r4, #8]
+ 372 0020 8C46 mov ip, r1
+ 373 0022 6244 add r2, r2, ip
+ 374 0024 0021 movs r1, #0
+ 375 0026 1180 strh r1, [r2]
+ 106:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 376 .loc 1 106 0 discriminator 3
+ 377 0028 0133 adds r3, r3, #1
+ 378 .LVL33:
+ 379 .L22:
+ 106:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 380 .loc 1 106 0 is_stmt 0 discriminator 1
+ ARM GAS /tmp/ccYZCOLV.s page 10
+
+
+ 381 002a 9D42 cmp r5, r3
+ 382 002c F6D8 bhi .L23
+ 109:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 383 .loc 1 109 0 is_stmt 1
+ 384 002e A680 strh r6, [r4, #4]
+ 110:Src/curelib_src/curebuffer.c **** }
+ 385 .loc 1 110 0
+ 386 0030 0120 movs r0, #1
+ 387 .LVL34:
+ 388 .L21:
+ 111:Src/curelib_src/curebuffer.c ****
+ 389 .loc 1 111 0
+ 390 @ sp needed
+ 391 .LVL35:
+ 392 0032 70BD pop {r4, r5, r6, pc}
+ 393 .LVL36:
+ 394 .L24:
+ 104:Src/curelib_src/curebuffer.c **** }
+ 395 .loc 1 104 0
+ 396 0034 0020 movs r0, #0
+ 397 0036 FCE7 b .L21
+ 398 .cfi_endproc
+ 399 .LFE5:
+ 401 .section .text.cureRingBuffer16Enqueue,"ax",%progbits
+ 402 .align 1
+ 403 .global cureRingBuffer16Enqueue
+ 404 .syntax unified
+ 405 .code 16
+ 406 .thumb_func
+ 407 .fpu softvfp
+ 409 cureRingBuffer16Enqueue:
+ 410 .LFB7:
+ 124:Src/curelib_src/curebuffer.c ****
+ 125:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBuffer16Enqueue(RingBuffer16 *rbuf, int16_t *inputc)
+ 126:Src/curelib_src/curebuffer.c **** {
+ 411 .loc 1 126 0
+ 412 .cfi_startproc
+ 413 @ args = 0, pretend = 0, frame = 0
+ 414 @ frame_needed = 0, uses_anonymous_args = 0
+ 415 .LVL37:
+ 416 0000 10B5 push {r4, lr}
+ 417 .LCFI5:
+ 418 .cfi_def_cfa_offset 8
+ 419 .cfi_offset 4, -8
+ 420 .cfi_offset 14, -4
+ 127:Src/curelib_src/curebuffer.c **** if( ((rbuf->idx_front +1)&(rbuf->length -1)) == rbuf->idx_rear ){//buffer overrun error occurs.
+ 421 .loc 1 127 0
+ 422 0002 0288 ldrh r2, [r0]
+ 423 0004 541C adds r4, r2, #1
+ 424 0006 8388 ldrh r3, [r0, #4]
+ 425 0008 013B subs r3, r3, #1
+ 426 000a 2340 ands r3, r4
+ 427 000c 4488 ldrh r4, [r0, #2]
+ 428 000e A342 cmp r3, r4
+ 429 0010 0ED0 beq .L27
+ 128:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 129:Src/curelib_src/curebuffer.c **** }else{
+ ARM GAS /tmp/ccYZCOLV.s page 11
+
+
+ 130:Src/curelib_src/curebuffer.c **** rbuf->buffer[rbuf->idx_front]= *inputc;
+ 430 .loc 1 130 0
+ 431 0012 5200 lsls r2, r2, #1
+ 432 0014 0023 movs r3, #0
+ 433 0016 CB5E ldrsh r3, [r1, r3]
+ 434 .LVL38:
+ 435 0018 8168 ldr r1, [r0, #8]
+ 436 001a 8B52 strh r3, [r1, r2]
+ 131:Src/curelib_src/curebuffer.c **** rbuf->idx_front++;
+ 437 .loc 1 131 0
+ 438 001c 0388 ldrh r3, [r0]
+ 439 001e 0133 adds r3, r3, #1
+ 440 0020 9BB2 uxth r3, r3
+ 132:Src/curelib_src/curebuffer.c **** rbuf->idx_front &= (rbuf->length -1);
+ 441 .loc 1 132 0
+ 442 0022 8288 ldrh r2, [r0, #4]
+ 443 0024 013A subs r2, r2, #1
+ 444 0026 12B2 sxth r2, r2
+ 445 0028 1340 ands r3, r2
+ 446 002a 0380 strh r3, [r0]
+ 133:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 447 .loc 1 133 0
+ 448 002c 0120 movs r0, #1
+ 449 .LVL39:
+ 450 .L26:
+ 134:Src/curelib_src/curebuffer.c **** }
+ 135:Src/curelib_src/curebuffer.c **** }
+ 451 .loc 1 135 0
+ 452 @ sp needed
+ 453 002e 10BD pop {r4, pc}
+ 454 .LVL40:
+ 455 .L27:
+ 128:Src/curelib_src/curebuffer.c **** }else{
+ 456 .loc 1 128 0
+ 457 0030 0020 movs r0, #0
+ 458 .LVL41:
+ 459 0032 FCE7 b .L26
+ 460 .cfi_endproc
+ 461 .LFE7:
+ 463 .section .text.cureRingBuffer16EnqueueIgnoreErr,"ax",%progbits
+ 464 .align 1
+ 465 .global cureRingBuffer16EnqueueIgnoreErr
+ 466 .syntax unified
+ 467 .code 16
+ 468 .thumb_func
+ 469 .fpu softvfp
+ 471 cureRingBuffer16EnqueueIgnoreErr:
+ 472 .LFB8:
+ 136:Src/curelib_src/curebuffer.c ****
+ 137:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBuffer16EnqueueIgnoreErr(RingBuffer16 *rbuf, int16_t *inputc)
+ 138:Src/curelib_src/curebuffer.c **** {
+ 473 .loc 1 138 0
+ 474 .cfi_startproc
+ 475 @ args = 0, pretend = 0, frame = 0
+ 476 @ frame_needed = 0, uses_anonymous_args = 0
+ 477 @ link register save eliminated.
+ 478 .LVL42:
+ ARM GAS /tmp/ccYZCOLV.s page 12
+
+
+ 139:Src/curelib_src/curebuffer.c ****
+ 140:Src/curelib_src/curebuffer.c **** rbuf->buffer[rbuf->idx_front]= *inputc;
+ 479 .loc 1 140 0
+ 480 0000 0388 ldrh r3, [r0]
+ 481 0002 5B00 lsls r3, r3, #1
+ 482 0004 0022 movs r2, #0
+ 483 0006 8A5E ldrsh r2, [r1, r2]
+ 484 .LVL43:
+ 485 0008 8168 ldr r1, [r0, #8]
+ 486 000a CA52 strh r2, [r1, r3]
+ 141:Src/curelib_src/curebuffer.c **** rbuf->idx_front++;
+ 487 .loc 1 141 0
+ 488 000c 0388 ldrh r3, [r0]
+ 489 000e 0133 adds r3, r3, #1
+ 490 0010 9BB2 uxth r3, r3
+ 142:Src/curelib_src/curebuffer.c **** rbuf->idx_front &= (rbuf->length -1);
+ 491 .loc 1 142 0
+ 492 0012 8288 ldrh r2, [r0, #4]
+ 493 0014 013A subs r2, r2, #1
+ 494 0016 12B2 sxth r2, r2
+ 495 0018 1340 ands r3, r2
+ 496 001a 0380 strh r3, [r0]
+ 143:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 144:Src/curelib_src/curebuffer.c ****
+ 145:Src/curelib_src/curebuffer.c **** }
+ 497 .loc 1 145 0
+ 498 001c 0120 movs r0, #1
+ 499 .LVL44:
+ 500 @ sp needed
+ 501 001e 7047 bx lr
+ 502 .cfi_endproc
+ 503 .LFE8:
+ 505 .section .text.cureRingBuffer16Dequeue,"ax",%progbits
+ 506 .align 1
+ 507 .global cureRingBuffer16Dequeue
+ 508 .syntax unified
+ 509 .code 16
+ 510 .thumb_func
+ 511 .fpu softvfp
+ 513 cureRingBuffer16Dequeue:
+ 514 .LFB9:
+ 146:Src/curelib_src/curebuffer.c ****
+ 147:Src/curelib_src/curebuffer.c ****
+ 148:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBuffer16Dequeue(RingBuffer16 *rbuf, int16_t *ret)
+ 149:Src/curelib_src/curebuffer.c **** {
+ 515 .loc 1 149 0
+ 516 .cfi_startproc
+ 517 @ args = 0, pretend = 0, frame = 0
+ 518 @ frame_needed = 0, uses_anonymous_args = 0
+ 519 @ link register save eliminated.
+ 520 .LVL45:
+ 150:Src/curelib_src/curebuffer.c **** if(rbuf->idx_front == rbuf->idx_rear){//if buffer underrun error occurs.
+ 521 .loc 1 150 0
+ 522 0000 0288 ldrh r2, [r0]
+ 523 0002 4388 ldrh r3, [r0, #2]
+ 524 0004 9A42 cmp r2, r3
+ 525 0006 0DD0 beq .L31
+ ARM GAS /tmp/ccYZCOLV.s page 13
+
+
+ 151:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 152:Src/curelib_src/curebuffer.c **** }else{
+ 153:Src/curelib_src/curebuffer.c **** *ret = (rbuf->buffer[rbuf->idx_rear]);
+ 526 .loc 1 153 0
+ 527 0008 5B00 lsls r3, r3, #1
+ 528 000a 8268 ldr r2, [r0, #8]
+ 529 000c 9B5E ldrsh r3, [r3, r2]
+ 530 000e 0B80 strh r3, [r1]
+ 154:Src/curelib_src/curebuffer.c **** rbuf->idx_rear++;
+ 531 .loc 1 154 0
+ 532 0010 4388 ldrh r3, [r0, #2]
+ 533 0012 0133 adds r3, r3, #1
+ 534 0014 9BB2 uxth r3, r3
+ 155:Src/curelib_src/curebuffer.c **** rbuf->idx_rear &= (rbuf->length -1);
+ 535 .loc 1 155 0
+ 536 0016 8288 ldrh r2, [r0, #4]
+ 537 0018 013A subs r2, r2, #1
+ 538 001a 12B2 sxth r2, r2
+ 539 001c 1340 ands r3, r2
+ 540 001e 4380 strh r3, [r0, #2]
+ 156:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 541 .loc 1 156 0
+ 542 0020 0120 movs r0, #1
+ 543 .LVL46:
+ 544 .L30:
+ 157:Src/curelib_src/curebuffer.c **** }
+ 158:Src/curelib_src/curebuffer.c **** }
+ 545 .loc 1 158 0
+ 546 @ sp needed
+ 547 0022 7047 bx lr
+ 548 .LVL47:
+ 549 .L31:
+ 151:Src/curelib_src/curebuffer.c **** }else{
+ 550 .loc 1 151 0
+ 551 0024 0020 movs r0, #0
+ 552 .LVL48:
+ 553 0026 FCE7 b .L30
+ 554 .cfi_endproc
+ 555 .LFE9:
+ 557 .section .text.cureRingBuffer16GetElement,"ax",%progbits
+ 558 .align 1
+ 559 .global cureRingBuffer16GetElement
+ 560 .syntax unified
+ 561 .code 16
+ 562 .thumb_func
+ 563 .fpu softvfp
+ 565 cureRingBuffer16GetElement:
+ 566 .LFB10:
+ 159:Src/curelib_src/curebuffer.c ****
+ 160:Src/curelib_src/curebuffer.c ****
+ 161:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBuffer16GetElement(RingBuffer16 *rbuf, int16_t *ret, uint16_t delaynum, uint1
+ 162:Src/curelib_src/curebuffer.c **** {
+ 567 .loc 1 162 0
+ 568 .cfi_startproc
+ 569 @ args = 0, pretend = 0, frame = 0
+ 570 @ frame_needed = 0, uses_anonymous_args = 0
+ 571 .LVL49:
+ ARM GAS /tmp/ccYZCOLV.s page 14
+
+
+ 572 0000 10B5 push {r4, lr}
+ 573 .LCFI6:
+ 574 .cfi_def_cfa_offset 8
+ 575 .cfi_offset 4, -8
+ 576 .cfi_offset 14, -4
+ 163:Src/curelib_src/curebuffer.c ****
+ 164:Src/curelib_src/curebuffer.c **** if(rbuf->idx_front >= delaynum){
+ 577 .loc 1 164 0
+ 578 0002 0488 ldrh r4, [r0]
+ 579 0004 9442 cmp r4, r2
+ 580 0006 0AD2 bcs .L35
+ 165:Src/curelib_src/curebuffer.c **** rbuf->idx_rear = rbuf->idx_front - delaynum;
+ 166:Src/curelib_src/curebuffer.c **** }else{
+ 167:Src/curelib_src/curebuffer.c **** rbuf->idx_rear = delay_buffer_length - (delaynum - rbuf->idx_front);
+ 581 .loc 1 167 0
+ 582 0008 A41A subs r4, r4, r2
+ 583 000a A4B2 uxth r4, r4
+ 584 000c E318 adds r3, r4, r3
+ 585 .LVL50:
+ 586 000e 4380 strh r3, [r0, #2]
+ 587 .L34:
+ 168:Src/curelib_src/curebuffer.c **** }
+ 169:Src/curelib_src/curebuffer.c **** *ret = (rbuf->buffer[rbuf->idx_rear]);
+ 588 .loc 1 169 0
+ 589 0010 8268 ldr r2, [r0, #8]
+ 590 .LVL51:
+ 591 0012 4388 ldrh r3, [r0, #2]
+ 592 0014 5B00 lsls r3, r3, #1
+ 593 0016 9B5E ldrsh r3, [r3, r2]
+ 594 0018 0B80 strh r3, [r1]
+ 170:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 171:Src/curelib_src/curebuffer.c ****
+ 172:Src/curelib_src/curebuffer.c **** }
+ 595 .loc 1 172 0
+ 596 001a 0120 movs r0, #1
+ 597 .LVL52:
+ 598 @ sp needed
+ 599 001c 10BD pop {r4, pc}
+ 600 .LVL53:
+ 601 .L35:
+ 165:Src/curelib_src/curebuffer.c **** }else{
+ 602 .loc 1 165 0
+ 603 001e A41A subs r4, r4, r2
+ 604 0020 4480 strh r4, [r0, #2]
+ 605 0022 F5E7 b .L34
+ 606 .cfi_endproc
+ 607 .LFE10:
+ 609 .section .text.cureRingBufferU32Free,"ax",%progbits
+ 610 .align 1
+ 611 .global cureRingBufferU32Free
+ 612 .syntax unified
+ 613 .code 16
+ 614 .thumb_func
+ 615 .fpu softvfp
+ 617 cureRingBufferU32Free:
+ 618 .LFB12:
+ 173:Src/curelib_src/curebuffer.c ****
+ ARM GAS /tmp/ccYZCOLV.s page 15
+
+
+ 174:Src/curelib_src/curebuffer.c **** /////////////////////////////
+ 175:Src/curelib_src/curebuffer.c **** //methods for uint32_t FIFO.
+ 176:Src/curelib_src/curebuffer.c **** /////////////////////////////
+ 177:Src/curelib_src/curebuffer.c ****
+ 178:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU32Init(RingBuffer32 *rbuf, uint16_t buflen)
+ 179:Src/curelib_src/curebuffer.c **** {
+ 180:Src/curelib_src/curebuffer.c ****
+ 181:Src/curelib_src/curebuffer.c **** uint32_t i;
+ 182:Src/curelib_src/curebuffer.c ****
+ 183:Src/curelib_src/curebuffer.c **** cureRingBufferU32Free(rbuf);
+ 184:Src/curelib_src/curebuffer.c ****
+ 185:Src/curelib_src/curebuffer.c **** rbuf->buffer = (uint32_t *)malloc( buflen * sizeof(uint32_t) );
+ 186:Src/curelib_src/curebuffer.c **** if(NULL == rbuf->buffer){
+ 187:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 188:Src/curelib_src/curebuffer.c **** }
+ 189:Src/curelib_src/curebuffer.c **** for(i=0; i<buflen; i++){
+ 190:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 191:Src/curelib_src/curebuffer.c **** }
+ 192:Src/curelib_src/curebuffer.c **** rbuf->length = buflen;
+ 193:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 194:Src/curelib_src/curebuffer.c **** }
+ 195:Src/curelib_src/curebuffer.c ****
+ 196:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU32Free(RingBuffer32 *rbuf)
+ 197:Src/curelib_src/curebuffer.c **** {
+ 619 .loc 1 197 0
+ 620 .cfi_startproc
+ 621 @ args = 0, pretend = 0, frame = 0
+ 622 @ frame_needed = 0, uses_anonymous_args = 0
+ 623 .LVL54:
+ 624 0000 10B5 push {r4, lr}
+ 625 .LCFI7:
+ 626 .cfi_def_cfa_offset 8
+ 627 .cfi_offset 4, -8
+ 628 .cfi_offset 14, -4
+ 629 0002 0400 movs r4, r0
+ 198:Src/curelib_src/curebuffer.c **** if(NULL != rbuf->buffer){
+ 630 .loc 1 198 0
+ 631 0004 8068 ldr r0, [r0, #8]
+ 632 .LVL55:
+ 633 0006 0028 cmp r0, #0
+ 634 0008 01D0 beq .L37
+ 199:Src/curelib_src/curebuffer.c **** free(rbuf->buffer);
+ 635 .loc 1 199 0
+ 636 000a FFF7FEFF bl free
+ 637 .LVL56:
+ 638 .L37:
+ 200:Src/curelib_src/curebuffer.c **** }
+ 201:Src/curelib_src/curebuffer.c ****
+ 202:Src/curelib_src/curebuffer.c **** rbuf->idx_front = rbuf->idx_rear = 0;
+ 639 .loc 1 202 0
+ 640 000e 0023 movs r3, #0
+ 641 0010 6380 strh r3, [r4, #2]
+ 642 0012 2380 strh r3, [r4]
+ 203:Src/curelib_src/curebuffer.c **** rbuf->length = 0;
+ 643 .loc 1 203 0
+ 644 0014 A380 strh r3, [r4, #4]
+ 204:Src/curelib_src/curebuffer.c ****
+ ARM GAS /tmp/ccYZCOLV.s page 16
+
+
+ 205:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 206:Src/curelib_src/curebuffer.c **** }
+ 645 .loc 1 206 0
+ 646 0016 0120 movs r0, #1
+ 647 @ sp needed
+ 648 .LVL57:
+ 649 0018 10BD pop {r4, pc}
+ 650 .cfi_endproc
+ 651 .LFE12:
+ 653 .section .text.cureRingBufferU32Init,"ax",%progbits
+ 654 .align 1
+ 655 .global cureRingBufferU32Init
+ 656 .syntax unified
+ 657 .code 16
+ 658 .thumb_func
+ 659 .fpu softvfp
+ 661 cureRingBufferU32Init:
+ 662 .LFB11:
+ 179:Src/curelib_src/curebuffer.c ****
+ 663 .loc 1 179 0
+ 664 .cfi_startproc
+ 665 @ args = 0, pretend = 0, frame = 0
+ 666 @ frame_needed = 0, uses_anonymous_args = 0
+ 667 .LVL58:
+ 668 0000 70B5 push {r4, r5, r6, lr}
+ 669 .LCFI8:
+ 670 .cfi_def_cfa_offset 16
+ 671 .cfi_offset 4, -16
+ 672 .cfi_offset 5, -12
+ 673 .cfi_offset 6, -8
+ 674 .cfi_offset 14, -4
+ 675 0002 0400 movs r4, r0
+ 676 0004 0E00 movs r6, r1
+ 183:Src/curelib_src/curebuffer.c ****
+ 677 .loc 1 183 0
+ 678 0006 FFF7FEFF bl cureRingBufferU32Free
+ 679 .LVL59:
+ 185:Src/curelib_src/curebuffer.c **** if(NULL == rbuf->buffer){
+ 680 .loc 1 185 0
+ 681 000a 3500 movs r5, r6
+ 682 000c B000 lsls r0, r6, #2
+ 683 000e FFF7FEFF bl malloc
+ 684 .LVL60:
+ 685 0012 A060 str r0, [r4, #8]
+ 186:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 686 .loc 1 186 0
+ 687 0014 0028 cmp r0, #0
+ 688 0016 0DD0 beq .L42
+ 189:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 689 .loc 1 189 0
+ 690 0018 0023 movs r3, #0
+ 691 001a 06E0 b .L40
+ 692 .LVL61:
+ 693 .L41:
+ 190:Src/curelib_src/curebuffer.c **** }
+ 694 .loc 1 190 0 discriminator 3
+ 695 001c 9A00 lsls r2, r3, #2
+ ARM GAS /tmp/ccYZCOLV.s page 17
+
+
+ 696 001e A168 ldr r1, [r4, #8]
+ 697 0020 8C46 mov ip, r1
+ 698 0022 6244 add r2, r2, ip
+ 699 0024 0021 movs r1, #0
+ 700 0026 1160 str r1, [r2]
+ 189:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 701 .loc 1 189 0 discriminator 3
+ 702 0028 0133 adds r3, r3, #1
+ 703 .LVL62:
+ 704 .L40:
+ 189:Src/curelib_src/curebuffer.c **** rbuf->buffer[i] = 0;
+ 705 .loc 1 189 0 is_stmt 0 discriminator 1
+ 706 002a 9D42 cmp r5, r3
+ 707 002c F6D8 bhi .L41
+ 192:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 708 .loc 1 192 0 is_stmt 1
+ 709 002e A680 strh r6, [r4, #4]
+ 193:Src/curelib_src/curebuffer.c **** }
+ 710 .loc 1 193 0
+ 711 0030 0120 movs r0, #1
+ 712 .LVL63:
+ 713 .L39:
+ 194:Src/curelib_src/curebuffer.c ****
+ 714 .loc 1 194 0
+ 715 @ sp needed
+ 716 .LVL64:
+ 717 0032 70BD pop {r4, r5, r6, pc}
+ 718 .LVL65:
+ 719 .L42:
+ 187:Src/curelib_src/curebuffer.c **** }
+ 720 .loc 1 187 0
+ 721 0034 0020 movs r0, #0
+ 722 0036 FCE7 b .L39
+ 723 .cfi_endproc
+ 724 .LFE11:
+ 726 .section .text.cureRingBufferU32Enqueue,"ax",%progbits
+ 727 .align 1
+ 728 .global cureRingBufferU32Enqueue
+ 729 .syntax unified
+ 730 .code 16
+ 731 .thumb_func
+ 732 .fpu softvfp
+ 734 cureRingBufferU32Enqueue:
+ 735 .LFB13:
+ 207:Src/curelib_src/curebuffer.c ****
+ 208:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU32Enqueue(RingBuffer32 *rbuf, uint32_t *inputc)
+ 209:Src/curelib_src/curebuffer.c **** {
+ 736 .loc 1 209 0
+ 737 .cfi_startproc
+ 738 @ args = 0, pretend = 0, frame = 0
+ 739 @ frame_needed = 0, uses_anonymous_args = 0
+ 740 .LVL66:
+ 741 0000 10B5 push {r4, lr}
+ 742 .LCFI9:
+ 743 .cfi_def_cfa_offset 8
+ 744 .cfi_offset 4, -8
+ 745 .cfi_offset 14, -4
+ ARM GAS /tmp/ccYZCOLV.s page 18
+
+
+ 210:Src/curelib_src/curebuffer.c **** if( ((rbuf->idx_front +1)&(rbuf->length -1)) == rbuf->idx_rear ){//buffer overrun error occurs.
+ 746 .loc 1 210 0
+ 747 0002 0288 ldrh r2, [r0]
+ 748 0004 541C adds r4, r2, #1
+ 749 0006 8388 ldrh r3, [r0, #4]
+ 750 0008 013B subs r3, r3, #1
+ 751 000a 2340 ands r3, r4
+ 752 000c 4488 ldrh r4, [r0, #2]
+ 753 000e A342 cmp r3, r4
+ 754 0010 0DD0 beq .L45
+ 211:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 212:Src/curelib_src/curebuffer.c **** }else{
+ 213:Src/curelib_src/curebuffer.c **** rbuf->buffer[rbuf->idx_front]= *inputc;
+ 755 .loc 1 213 0
+ 756 0012 9200 lsls r2, r2, #2
+ 757 0014 0B68 ldr r3, [r1]
+ 758 0016 8168 ldr r1, [r0, #8]
+ 759 .LVL67:
+ 760 0018 8B50 str r3, [r1, r2]
+ 214:Src/curelib_src/curebuffer.c **** rbuf->idx_front++;
+ 761 .loc 1 214 0
+ 762 001a 0388 ldrh r3, [r0]
+ 763 001c 0133 adds r3, r3, #1
+ 764 001e 9BB2 uxth r3, r3
+ 215:Src/curelib_src/curebuffer.c **** rbuf->idx_front &= (rbuf->length -1);
+ 765 .loc 1 215 0
+ 766 0020 8288 ldrh r2, [r0, #4]
+ 767 0022 013A subs r2, r2, #1
+ 768 0024 12B2 sxth r2, r2
+ 769 0026 1340 ands r3, r2
+ 770 0028 0380 strh r3, [r0]
+ 216:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 771 .loc 1 216 0
+ 772 002a 0120 movs r0, #1
+ 773 .LVL68:
+ 774 .L44:
+ 217:Src/curelib_src/curebuffer.c **** }
+ 218:Src/curelib_src/curebuffer.c **** }
+ 775 .loc 1 218 0
+ 776 @ sp needed
+ 777 002c 10BD pop {r4, pc}
+ 778 .LVL69:
+ 779 .L45:
+ 211:Src/curelib_src/curebuffer.c **** }else{
+ 780 .loc 1 211 0
+ 781 002e 0020 movs r0, #0
+ 782 .LVL70:
+ 783 0030 FCE7 b .L44
+ 784 .cfi_endproc
+ 785 .LFE13:
+ 787 .section .text.cureRingBufferU32EnqueueIgnoreErr,"ax",%progbits
+ 788 .align 1
+ 789 .global cureRingBufferU32EnqueueIgnoreErr
+ 790 .syntax unified
+ 791 .code 16
+ 792 .thumb_func
+ 793 .fpu softvfp
+ ARM GAS /tmp/ccYZCOLV.s page 19
+
+
+ 795 cureRingBufferU32EnqueueIgnoreErr:
+ 796 .LFB14:
+ 219:Src/curelib_src/curebuffer.c ****
+ 220:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU32EnqueueIgnoreErr(RingBuffer32 *rbuf, uint32_t *inputc)
+ 221:Src/curelib_src/curebuffer.c **** {
+ 797 .loc 1 221 0
+ 798 .cfi_startproc
+ 799 @ args = 0, pretend = 0, frame = 0
+ 800 @ frame_needed = 0, uses_anonymous_args = 0
+ 801 @ link register save eliminated.
+ 802 .LVL71:
+ 222:Src/curelib_src/curebuffer.c ****
+ 223:Src/curelib_src/curebuffer.c **** rbuf->buffer[rbuf->idx_front]= *inputc;
+ 803 .loc 1 223 0
+ 804 0000 0388 ldrh r3, [r0]
+ 805 0002 9B00 lsls r3, r3, #2
+ 806 0004 0A68 ldr r2, [r1]
+ 807 0006 8168 ldr r1, [r0, #8]
+ 808 .LVL72:
+ 809 0008 CA50 str r2, [r1, r3]
+ 224:Src/curelib_src/curebuffer.c **** rbuf->idx_front++;
+ 810 .loc 1 224 0
+ 811 000a 0388 ldrh r3, [r0]
+ 812 000c 0133 adds r3, r3, #1
+ 813 000e 9BB2 uxth r3, r3
+ 225:Src/curelib_src/curebuffer.c **** rbuf->idx_front &= (rbuf->length -1);
+ 814 .loc 1 225 0
+ 815 0010 8288 ldrh r2, [r0, #4]
+ 816 0012 013A subs r2, r2, #1
+ 817 0014 12B2 sxth r2, r2
+ 818 0016 1340 ands r3, r2
+ 819 0018 0380 strh r3, [r0]
+ 226:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 227:Src/curelib_src/curebuffer.c ****
+ 228:Src/curelib_src/curebuffer.c **** }
+ 820 .loc 1 228 0
+ 821 001a 0120 movs r0, #1
+ 822 .LVL73:
+ 823 @ sp needed
+ 824 001c 7047 bx lr
+ 825 .cfi_endproc
+ 826 .LFE14:
+ 828 .section .text.cureRingBufferU32Dequeue,"ax",%progbits
+ 829 .align 1
+ 830 .global cureRingBufferU32Dequeue
+ 831 .syntax unified
+ 832 .code 16
+ 833 .thumb_func
+ 834 .fpu softvfp
+ 836 cureRingBufferU32Dequeue:
+ 837 .LFB15:
+ 229:Src/curelib_src/curebuffer.c ****
+ 230:Src/curelib_src/curebuffer.c ****
+ 231:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU32Dequeue(RingBuffer32 *rbuf, uint32_t *ret)
+ 232:Src/curelib_src/curebuffer.c **** {
+ 838 .loc 1 232 0
+ 839 .cfi_startproc
+ ARM GAS /tmp/ccYZCOLV.s page 20
+
+
+ 840 @ args = 0, pretend = 0, frame = 0
+ 841 @ frame_needed = 0, uses_anonymous_args = 0
+ 842 @ link register save eliminated.
+ 843 .LVL74:
+ 233:Src/curelib_src/curebuffer.c **** if(rbuf->idx_front == rbuf->idx_rear){//if buffer underrun error occurs.
+ 844 .loc 1 233 0
+ 845 0000 0288 ldrh r2, [r0]
+ 846 0002 4388 ldrh r3, [r0, #2]
+ 847 0004 9A42 cmp r2, r3
+ 848 0006 0DD0 beq .L49
+ 234:Src/curelib_src/curebuffer.c **** return BUFFER_FAILURE;
+ 235:Src/curelib_src/curebuffer.c **** }else{
+ 236:Src/curelib_src/curebuffer.c **** *ret = (rbuf->buffer[rbuf->idx_rear]);
+ 849 .loc 1 236 0
+ 850 0008 8268 ldr r2, [r0, #8]
+ 851 000a 9B00 lsls r3, r3, #2
+ 852 000c 9B58 ldr r3, [r3, r2]
+ 853 000e 0B60 str r3, [r1]
+ 237:Src/curelib_src/curebuffer.c **** rbuf->idx_rear++;
+ 854 .loc 1 237 0
+ 855 0010 4388 ldrh r3, [r0, #2]
+ 856 0012 0133 adds r3, r3, #1
+ 857 0014 9BB2 uxth r3, r3
+ 238:Src/curelib_src/curebuffer.c **** rbuf->idx_rear &= (rbuf->length -1);
+ 858 .loc 1 238 0
+ 859 0016 8288 ldrh r2, [r0, #4]
+ 860 0018 013A subs r2, r2, #1
+ 861 001a 12B2 sxth r2, r2
+ 862 001c 1340 ands r3, r2
+ 863 001e 4380 strh r3, [r0, #2]
+ 239:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 864 .loc 1 239 0
+ 865 0020 0120 movs r0, #1
+ 866 .LVL75:
+ 867 .L48:
+ 240:Src/curelib_src/curebuffer.c **** }
+ 241:Src/curelib_src/curebuffer.c **** }
+ 868 .loc 1 241 0
+ 869 @ sp needed
+ 870 0022 7047 bx lr
+ 871 .LVL76:
+ 872 .L49:
+ 234:Src/curelib_src/curebuffer.c **** }else{
+ 873 .loc 1 234 0
+ 874 0024 0020 movs r0, #0
+ 875 .LVL77:
+ 876 0026 FCE7 b .L48
+ 877 .cfi_endproc
+ 878 .LFE15:
+ 880 .section .text.cureRingBufferU32GetElement,"ax",%progbits
+ 881 .align 1
+ 882 .global cureRingBufferU32GetElement
+ 883 .syntax unified
+ 884 .code 16
+ 885 .thumb_func
+ 886 .fpu softvfp
+ 888 cureRingBufferU32GetElement:
+ ARM GAS /tmp/ccYZCOLV.s page 21
+
+
+ 889 .LFB16:
+ 242:Src/curelib_src/curebuffer.c ****
+ 243:Src/curelib_src/curebuffer.c ****
+ 244:Src/curelib_src/curebuffer.c **** BUFFER_STATUS cureRingBufferU32GetElement(RingBuffer32 *rbuf, uint32_t *ret, uint16_t delaynum, uin
+ 245:Src/curelib_src/curebuffer.c **** {
+ 890 .loc 1 245 0
+ 891 .cfi_startproc
+ 892 @ args = 0, pretend = 0, frame = 0
+ 893 @ frame_needed = 0, uses_anonymous_args = 0
+ 894 .LVL78:
+ 895 0000 10B5 push {r4, lr}
+ 896 .LCFI10:
+ 897 .cfi_def_cfa_offset 8
+ 898 .cfi_offset 4, -8
+ 899 .cfi_offset 14, -4
+ 246:Src/curelib_src/curebuffer.c **** uint16_t buf;
+ 247:Src/curelib_src/curebuffer.c ****
+ 248:Src/curelib_src/curebuffer.c ****
+ 249:Src/curelib_src/curebuffer.c **** if(rbuf->idx_front >= delaynum){
+ 900 .loc 1 249 0
+ 901 0002 0488 ldrh r4, [r0]
+ 902 0004 9442 cmp r4, r2
+ 903 0006 09D2 bcs .L53
+ 250:Src/curelib_src/curebuffer.c **** buf = rbuf->idx_front - delaynum;
+ 251:Src/curelib_src/curebuffer.c **** }else{
+ 252:Src/curelib_src/curebuffer.c **** buf = delay_buffer_length - (delaynum - rbuf->idx_front);
+ 904 .loc 1 252 0
+ 905 0008 A41A subs r4, r4, r2
+ 906 000a A4B2 uxth r4, r4
+ 907 000c E418 adds r4, r4, r3
+ 908 000e A4B2 uxth r4, r4
+ 909 .LVL79:
+ 910 .L52:
+ 253:Src/curelib_src/curebuffer.c **** }
+ 254:Src/curelib_src/curebuffer.c **** *ret = (rbuf->buffer[buf]);
+ 911 .loc 1 254 0
+ 912 0010 8368 ldr r3, [r0, #8]
+ 913 .LVL80:
+ 914 0012 A400 lsls r4, r4, #2
+ 915 .LVL81:
+ 916 0014 E358 ldr r3, [r4, r3]
+ 917 0016 0B60 str r3, [r1]
+ 255:Src/curelib_src/curebuffer.c **** return BUFFER_SUCCESS;
+ 256:Src/curelib_src/curebuffer.c ****
+ 257:Src/curelib_src/curebuffer.c **** }
+ 918 .loc 1 257 0
+ 919 0018 0120 movs r0, #1
+ 920 .LVL82:
+ 921 @ sp needed
+ 922 001a 10BD pop {r4, pc}
+ 923 .LVL83:
+ 924 .L53:
+ 250:Src/curelib_src/curebuffer.c **** }else{
+ 925 .loc 1 250 0
+ 926 001c A41A subs r4, r4, r2
+ 927 001e A4B2 uxth r4, r4
+ 928 .LVL84:
+ ARM GAS /tmp/ccYZCOLV.s page 22
+
+
+ 929 0020 F6E7 b .L52
+ 930 .cfi_endproc
+ 931 .LFE16:
+ 933 .text
+ 934 .Letext0:
+ 935 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 936 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 937 .file 4 "Inc/curelib_inc/curebuffer.h"
+ 938 .file 5 "/usr/include/newlib/sys/lock.h"
+ 939 .file 6 "/usr/include/newlib/sys/_types.h"
+ 940 .file 7 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 941 .file 8 "/usr/include/newlib/sys/reent.h"
+ 942 .file 9 "/usr/include/newlib/stdlib.h"
+ ARM GAS /tmp/ccYZCOLV.s page 23
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 curebuffer.c
+ /tmp/ccYZCOLV.s:16 .text.cureRingBufferU8Free:0000000000000000 $t
+ /tmp/ccYZCOLV.s:23 .text.cureRingBufferU8Free:0000000000000000 cureRingBufferU8Free
+ /tmp/ccYZCOLV.s:61 .text.cureRingBufferU8Init:0000000000000000 $t
+ /tmp/ccYZCOLV.s:68 .text.cureRingBufferU8Init:0000000000000000 cureRingBufferU8Init
+ /tmp/ccYZCOLV.s:132 .text.cureRingBufferU8Enqueue:0000000000000000 $t
+ /tmp/ccYZCOLV.s:139 .text.cureRingBufferU8Enqueue:0000000000000000 cureRingBufferU8Enqueue
+ /tmp/ccYZCOLV.s:192 .text.cureRingBufferU8Dequeue:0000000000000000 $t
+ /tmp/ccYZCOLV.s:199 .text.cureRingBufferU8Dequeue:0000000000000000 cureRingBufferU8Dequeue
+ /tmp/ccYZCOLV.s:243 .text._cureRingBufferU8GetUsedSize:0000000000000000 $t
+ /tmp/ccYZCOLV.s:250 .text._cureRingBufferU8GetUsedSize:0000000000000000 _cureRingBufferU8GetUsedSize
+ /tmp/ccYZCOLV.s:285 .text.cureRingBuffer16Free:0000000000000000 $t
+ /tmp/ccYZCOLV.s:292 .text.cureRingBuffer16Free:0000000000000000 cureRingBuffer16Free
+ /tmp/ccYZCOLV.s:329 .text.cureRingBuffer16Init:0000000000000000 $t
+ /tmp/ccYZCOLV.s:336 .text.cureRingBuffer16Init:0000000000000000 cureRingBuffer16Init
+ /tmp/ccYZCOLV.s:402 .text.cureRingBuffer16Enqueue:0000000000000000 $t
+ /tmp/ccYZCOLV.s:409 .text.cureRingBuffer16Enqueue:0000000000000000 cureRingBuffer16Enqueue
+ /tmp/ccYZCOLV.s:464 .text.cureRingBuffer16EnqueueIgnoreErr:0000000000000000 $t
+ /tmp/ccYZCOLV.s:471 .text.cureRingBuffer16EnqueueIgnoreErr:0000000000000000 cureRingBuffer16EnqueueIgnoreErr
+ /tmp/ccYZCOLV.s:506 .text.cureRingBuffer16Dequeue:0000000000000000 $t
+ /tmp/ccYZCOLV.s:513 .text.cureRingBuffer16Dequeue:0000000000000000 cureRingBuffer16Dequeue
+ /tmp/ccYZCOLV.s:558 .text.cureRingBuffer16GetElement:0000000000000000 $t
+ /tmp/ccYZCOLV.s:565 .text.cureRingBuffer16GetElement:0000000000000000 cureRingBuffer16GetElement
+ /tmp/ccYZCOLV.s:610 .text.cureRingBufferU32Free:0000000000000000 $t
+ /tmp/ccYZCOLV.s:617 .text.cureRingBufferU32Free:0000000000000000 cureRingBufferU32Free
+ /tmp/ccYZCOLV.s:654 .text.cureRingBufferU32Init:0000000000000000 $t
+ /tmp/ccYZCOLV.s:661 .text.cureRingBufferU32Init:0000000000000000 cureRingBufferU32Init
+ /tmp/ccYZCOLV.s:727 .text.cureRingBufferU32Enqueue:0000000000000000 $t
+ /tmp/ccYZCOLV.s:734 .text.cureRingBufferU32Enqueue:0000000000000000 cureRingBufferU32Enqueue
+ /tmp/ccYZCOLV.s:788 .text.cureRingBufferU32EnqueueIgnoreErr:0000000000000000 $t
+ /tmp/ccYZCOLV.s:795 .text.cureRingBufferU32EnqueueIgnoreErr:0000000000000000 cureRingBufferU32EnqueueIgnoreErr
+ /tmp/ccYZCOLV.s:829 .text.cureRingBufferU32Dequeue:0000000000000000 $t
+ /tmp/ccYZCOLV.s:836 .text.cureRingBufferU32Dequeue:0000000000000000 cureRingBufferU32Dequeue
+ /tmp/ccYZCOLV.s:881 .text.cureRingBufferU32GetElement:0000000000000000 $t
+ /tmp/ccYZCOLV.s:888 .text.cureRingBufferU32GetElement:0000000000000000 cureRingBufferU32GetElement
+
+UNDEFINED SYMBOLS
+free
+malloc